Modelli e piattaforme di IA

L’ascesa della Mixture-of-Experts per Modelli Linguistici Efficienti e di Grande Scala

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Nel mondo dell’elaborazione del linguaggio naturale (NLP), la ricerca di costruire modelli linguistici più grandi e più capaci è stata una forza trainante dietro molti recenti progressi. Tuttavia, poiché questi modelli crescono in dimensioni, le esigenze computazionali per l’addestramento e l’inferenza diventano sempre più impegnative, spingendo contro i limiti delle risorse hardware disponibili.

Entra la Mixture-of-Experts (MoE), una tecnica che promette di alleviare questo onere computazionale consentendo l’addestramento di modelli linguistici più grandi e più potenti. Di seguito, discuteremo la MoE, esploreremo le sue origini, il suo funzionamento interno e le sue applicazioni nei modelli linguistici basati su trasformatori.

Le Origini della Mixture-of-Experts

Il concetto di Mixture-of-Experts (MoE) può essere fatto risalire ai primi anni ’90, quando i ricercatori hanno esplorato l’idea di calcolo condizionale, in cui parti di una rete neurale vengono attivate selettivamente in base ai dati di input. Uno dei lavori pionieristici in questo campo è stato il paper “Adaptive Mixture of Local Experts” di Jacobs et al. nel 1991, che ha proposto un framework di apprendimento supervisionato per un insieme di reti neurali, ciascuna specializzata in una regione diversa dello spazio di input.

L’idea fondamentale alla base della MoE è quella di avere molteplici “esperti” reti, ciascuna responsabile dell’elaborazione di un subset dei dati di input. Un meccanismo di controllo, tipicamente una rete neurale essa stessa, determina quali esperti dovrebbero elaborare un determinato input. Questo approccio consente al modello di allocare le sue risorse computazionali in modo più efficiente, attivando solo gli esperti rilevanti per ogni input, anziché impiegare la piena capacità del modello per ogni input.

Nel corso degli anni, vari ricercatori hanno esplorato e esteso l’idea di calcolo condizionale, portando a sviluppi come gerarchie di MoE, approssimazioni a basso rango per il calcolo condizionale e tecniche per la stima dei gradienti attraverso neuroni stocastici e funzioni di attivazione a soglia rigida.

Mixture-of-Experts nei Trasformatori

Mixture of Experts

Mixture of Experts

Mentre l’idea di MoE è stata intorno per decenni, la sua applicazione ai modelli linguistici basati su trasformatori è relativamente recente. I trasformatori, che sono diventati lo standard de facto per i modelli linguistici di stato dell’arte, sono composti da molteplici strati, ciascuno contenente un meccanismo di auto-attenzione e una rete neurale feed-forward (FFN).

L’innovazione chiave nell’applicazione della MoE ai trasformatori è sostituire gli strati FFN densi con strati MoE sparsi, ciascuno consistente in molteplici esperti FFN e un meccanismo di controllo. Il meccanismo di controllo determina quali esperti dovrebbero elaborare ogni token di input, consentendo al modello di attivare selettivamente solo un subset di esperti per una determinata sequenza di input.

Uno dei primi lavori che ha dimostrato il potenziale della MoE nei trasformatori è stato il paper “Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer” di Shazeer et al. nel 2017. Questo lavoro ha introdotto il concetto di uno strato MoE a porta sparsa, che ha impiegato un meccanismo di controllo che ha aggiunto sparsità e rumore al processo di selezione degli esperti, garantendo che solo un subset di esperti venisse attivato per ogni input.

Da allora, molti altri lavori hanno ulteriormente avanzato l’applicazione della MoE ai trasformatori, affrontando sfide come l’instabilità di addestramento, il bilanciamento del carico e l’inferenza efficiente. Esempi notevoli includono il Switch Transformer (Fedus et al., 2021), ST-MoE (Zoph et al., 2022) e GLaM (Du et al., 2022).

Vantaggi della Mixture-of-Experts per i Modelli Linguistici

Il principale vantaggio dell’impiego della MoE nei modelli linguistici è la capacità di aumentare le dimensioni del modello mantenendo un costo computazionale relativamente costante durante l’inferenza. Attivando selettivamente solo un subset di esperti per ogni token di input, i modelli MoE possono raggiungere la potenza espressiva di modelli densi molto più grandi, richiedendo significativamente meno calcoli.

Ad esempio, consideriamo un modello linguistico con uno strato FFN denso di 7 miliardi di parametri. Se sostituiamo questo strato con uno strato MoE composto da otto esperti, ciascuno con 7 miliardi di parametri, il numero totale di parametri aumenta a 56 miliardi. Tuttavia, durante l’inferenza, se attiviamo solo due esperti per token, il costo computazionale è equivalente a quello di un modello denso con 14 miliardi di parametri, poiché calcoliamo due moltiplicazioni di matrici da 7 miliardi di parametri.

Questa efficienza computazionale durante l’inferenza è particolarmente preziosa in scenari di distribuzione in cui le risorse sono limitate, come dispositivi mobili o ambienti di calcolo edge. Inoltre, la riduzione delle esigenze computazionali durante l’addestramento può portare a notevoli risparmi energetici e a un minor impatto ambientale, allineandosi con l’accento crescente sulle pratiche di intelligenza artificiale sostenibili.

Sfide e Considerazioni

Mentre i modelli MoE offrono vantaggi convincenti, la loro adozione e distribuzione sono anche associate a diverse sfide e considerazioni:

  1. Instabilità di Addestramento: I modelli MoE sono noti per essere più propensi a instabilità di addestramento rispetto ai loro omologhi densi. Questo problema deriva dalla natura sparsa e condizionale delle attivazioni degli esperti, che può portare a sfide nella propagazione dei gradienti e nella convergenza. Tecniche come la perdita z-router (Zoph et al., 2022) sono state proposte per mitigare queste instabilità, ma ulteriori ricerche sono ancora necessarie.
  2. Regolazione e Sovrapposizione: I modelli MoE tendono a sovrapporsi più facilmente durante la regolazione, specialmente quando il compito downstream ha un set di dati relativamente piccolo. Questo comportamento è attribuito alla maggiore capacità e sparsità dei modelli MoE, che può portare a una specializzazione eccessiva sui dati di addestramento. Strategie di regolazione e addestramento attente sono richieste per mitigare questo problema.
  3. Requisiti di Memoria: Mentre i modelli MoE possono ridurre i costi computazionali durante l’inferenza, spesso hanno requisiti di memoria più elevati rispetto ai modelli densi di dimensioni simili. Ciò è dovuto al fatto che tutti i pesi degli esperti devono essere caricati in memoria, anche se solo un subset è attivato per ogni input. Le limitazioni di memoria possono limitare la scalabilità dei modelli MoE su dispositivi con risorse limitate.
  4. Bilanciamento del Carico: Per raggiungere l’efficienza computazionale ottimale, è cruciale bilanciare il carico tra gli esperti, garantendo che nessun singolo esperto sia sovraccaricato mentre gli altri rimangono sottoutilizzati. Questo bilanciamento del carico è tipicamente raggiunto attraverso perdite ausiliarie durante l’addestramento e un’attenta regolazione del fattore di capacità, che determina il numero massimo di token che possono essere assegnati a ciascun esperto.
  5. Overhead di Comunicazione: In scenari di addestramento e inferenza distribuiti, i modelli MoE possono introdurre un sovraccarico di comunicazione aggiuntivo a causa della necessità di scambiare informazioni di attivazione e gradienti tra gli esperti residenti su dispositivi o acceleratori diversi. Strategie di comunicazione efficienti e progettazione del modello consapevole dell’hardware sono essenziali per mitigare questo sovraccarico.

Nonostante queste sfide, il potenziale dei modelli MoE nell’abilitare modelli linguistici più grandi e più capaci ha stimolato significativi sforzi di ricerca per affrontare e mitigare questi problemi.

Esempio: Mixtral 8x7B e GLaM

Per illustrare l’applicazione pratica della MoE nei modelli linguistici, consideriamo due esempi notevoli: Mixtral 8x7B e GLaM.

Mixtral 8x7B è una variante MoE del modello linguistico Mistral, sviluppato da Anthropic. Consiste in otto esperti, ciascuno con 7 miliardi di parametri, per un totale di 56 miliardi di parametri. Tuttavia, durante l’inferenza, solo due esperti vengono attivati per token, riducendo efficacemente il costo computazionale a quello di un modello denso con 14 miliardi di parametri.

Mixtral 8x7B ha dimostrato prestazioni impressionanti, superando il modello Llama da 70 miliardi di parametri e offrendo tempi di inferenza molto più veloci. Una versione istruita di Mixtral 8x7B, chiamata Mixtral-8x7B-Instruct-v0.1, è stata rilasciata, ulteriormente migliorando le sue capacità nel seguire istruzioni in linguaggio naturale.

Un altro esempio degno di nota è GLaM (Google (GOOGL ) Language Model), un modello linguistico MoE su larga scala sviluppato da Google. GLaM impiega un’architettura decoder-only dei trasformatori ed è stato addestrato su un enorme set di dati di 1,6 trilioni di token. Il modello raggiunge prestazioni impressionanti nelle valutazioni a pochi colpi e in un colpo solo, eguagliando la qualità di GPT-3 utilizzando solo un terzo dell’energia necessaria per addestrare GPT-3.

Il successo di GLaM può essere attribuito alla sua efficiente architettura MoE, che ha consentito l’addestramento di un modello con un numero vasto di parametri mantenendo esigenze computazionali ragionevoli. Il modello ha anche dimostrato il potenziale dei modelli MoE di essere più efficienti in termini energetici e più sostenibili ambientalmente rispetto ai loro omologhi densi.

L’Architettura Grok-1

GROK MIXTURE OF EXPERT

GROK MIXTURE OF EXPERT

Grok-1 è un modello linguistico basato su trasformatori con un’architettura unica progettata per massimizzare l’efficienza e le prestazioni. Vediamo le specifiche chiave:

  1. Parametri: Con un totale di 314 miliardi di parametri, Grok-1 è il più grande modello linguistico open source fino ad oggi. Tuttavia, grazie all’architettura MoE, solo il 25% dei pesi (circa 86 miliardi di parametri) è attivo in ogni momento, migliorando le capacità di elaborazione.
  2. Architettura: Grok-1 impiega un’architettura a Mixture-of-8-Experts, con ogni token elaborato da due esperti durante l’inferenza.
  3. Strati: Il modello consiste in 64 strati di trasformatori, ciascuno contenente un meccanismo di auto-attenzione e blocchi densi.
  4. Tokenizzazione: Grok-1 utilizza un tokenizzatore SentencePiece con una dimensione del vocabolario di 131.072 token.
  5. Incapsulamento e Codifica Posizionale: Il modello presenta incapsulamenti di dimensione 6.144 e utilizza incapsulamenti posizionali rotativi, consentendo un’interpretazione più dinamica dei dati rispetto alle codifiche posizionali fisse tradizionali.
  6. Attenzione: Grok-1 utilizza 48 teste di attenzione per le query e 8 teste di attenzione per le chiavi e i valori, ciascuna con una dimensione di 128.
  7. Lunghezza del Contesto: Il modello può elaborare sequenze fino a 8.192 token di lunghezza, utilizzando la precisione bfloat16 per il calcolo efficiente.

Dettagli sulle Prestazioni e l’Implementazione

Grok-1 ha dimostrato prestazioni impressionanti, superando LLaMa 2 70B e Mixtral 8x7B con un punteggio MMLU del 73%, dimostrando la sua efficienza e accuratezza in vari test.

Tuttavia, è importante notare che Grok-1 richiede risorse GPU significative a causa delle sue dimensioni. L’attuale implementazione nel rilascio open source si concentra sulla validazione della correttezza del modello e impiega un’implementazione inefficiente dello strato MoE per evitare la necessità di kernel personalizzati.

Nonostante ciò, il modello supporta l’attivazione sharding e la quantizzazione a 8 bit, che possono ottimizzare le prestazioni e ridurre le esigenze di memoria.

In una mossa notevole, xAI ha rilasciato Grok-1 sotto la licenza Apache 2.0, rendendo i suoi pesi e l’architettura accessibili alla comunità globale per l’uso e il contributo.

Il rilascio open source include un repository di esempio JAX che dimostra come caricare e eseguire il modello Grok-1. Gli utenti possono scaricare i pesi del checkpoint utilizzando un client torrent o direttamente attraverso il HuggingFace Hub, facilitando l’accesso a questo modello innovativo.

Il Futuro della Mixture-of-Experts nei Modelli Linguistici

Poiché la domanda di modelli linguistici più grandi e più capaci continua a crescere, l’adozione delle tecniche MoE è prevista aumentare ulteriormente. Gli sforzi di ricerca in corso sono focalizzati sull’affrontare le sfide residue, come il miglioramento della stabilità di addestramento, la mitigazione del sovrapposizione durante la regolazione e l’ottimizzazione delle esigenze di memoria e comunicazione.

Una direzione promettente è l’esplorazione di architetture MoE gerarchiche, in cui ogni esperto è a sua volta composto da più sub-esperti. Questo approccio potrebbe potenzialmente consentire una maggiore scalabilità e efficienza computazionale, mantenendo la potenza espressiva dei modelli grandi.

Inoltre, lo sviluppo di sistemi hardware e software ottimizzati per i modelli MoE è un’area di ricerca attiva. Acceleratori specializzati e framework di addestramento distribuito progettati per gestire efficientemente i modelli di calcolo sparsi e condizionali dei modelli MoE potrebbero ulteriormente migliorare le loro prestazioni e scalabilità.

Inoltre, l’integrazione delle tecniche MoE con altri progressi nel modeling linguistico, come meccanismi di attenzione sparsi, strategie di tokenizzazione efficienti e rappresentazioni multimodali, potrebbe portare a modelli linguistici ancora più potenti e versatili in grado di affrontare una vasta gamma di compiti.

Conclusione

La tecnica della Mixture-of-Experts è emersa come uno strumento potente nella ricerca di modelli linguistici più grandi e più capaci. Attivando selettivamente gli esperti in base ai dati di input, i modelli MoE offrono una soluzione promettente alle sfide computazionali associate all’aumento delle dimensioni dei modelli densi. Sebbene ci siano ancora sfide da superare, come l’instabilità di addestramento, il sovrapposizione e le esigenze di memoria, i potenziali vantaggi dei modelli MoE in termini di efficienza computazionale, scalabilità e sostenibilità ambientale li rendono un’area di ricerca e sviluppo emozionante.

Poiché il campo dell’elaborazione del linguaggio naturale continua a spingere i limiti di ciò che è possibile, l’adozione delle tecniche MoE è probabile giocare un ruolo cruciale nell’abilitare la prossima generazione di modelli linguistici. Combinando la MoE con altri progressi nell’architettura del modello, nelle tecniche di addestramento e nell’ottimizzazione dell’hardware, possiamo guardare avanti a modelli linguistici ancora più potenti e versatili che possano veramente comprendere e comunicare con gli esseri umani in modo naturale e senza soluzione di continuità.

Ho trascorso gli ultimi cinque anni immergendomi nel mondo affascinante del Machine Learning e del Deep Learning. La mia passione e la mia esperienza mi hanno portato a contribuire a oltre 50 progetti di ingegneria del software diversi, con un focus particolare su AI/ML. La mia curiosità in corso mi ha anche portato verso l'elaborazione del linguaggio naturale, un campo che sono ansioso di esplorare ulteriormente.