mozzicone L'ascesa di una combinazione di esperti per modelli linguistici di grandi dimensioni efficienti - Unite.AI
Seguici sui social

Intelligenza Artificiale

L'ascesa di una combinazione di esperti per modelli linguistici di grandi dimensioni efficienti

mm
aggiornato on
Miscela di esperti Grok Mistral

Nel mondo dell’elaborazione del linguaggio naturale (PNL), il tentativo di costruire modelli linguistici più ampi e capaci è stata una forza trainante dietro molti recenti progressi. Tuttavia, man mano che questi modelli crescono di dimensioni, i requisiti computazionali per l’addestramento e l’inferenza diventano sempre più esigenti, spingendo contro i limiti delle risorse hardware disponibili.

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

Le origini della miscela di esperti

Il concetto di Mixture-of-Experts (MoE) può essere fatto risalire ai primi anni '1990, quando i ricercatori esplorarono l'idea del 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 “Miscela adattiva di esperti locali"articolo di Jacobs et al. nel 1991, che propose un quadro di apprendimento supervisionato per un insieme di reti neurali, ciascuna specializzata in una diversa regione dello spazio di input.

L’idea centrale alla base del MoE è quella di avere più reti “esperte”, ciascuna responsabile dell’elaborazione di un sottoinsieme dei dati di input. Un meccanismo di controllo, tipicamente una rete neurale stessa, determina quali esperti dovrebbero elaborare un dato input. Questo approccio consente al modello di allocare le proprie risorse computazionali in modo più efficiente attivando solo gli esperti rilevanti per ciascun input, anziché impiegare l’intera capacità del modello per ciascun input.

Nel corso degli anni, vari ricercatori hanno esplorato ed esteso l'idea del calcolo condizionale, portando a sviluppi come MoE gerarchici, approssimazioni di basso rango per il calcolo condizionale e tecniche per stimare i gradienti attraverso neuroni stocastici e funzioni di attivazione a soglia rigida.

Miscela di esperti in trasformatori

Miscela di esperti

Miscela di esperti

Mentre l'idea di MoE esiste da decenni, la sua applicazione a modelli linguistici basati su trasformatori è relativamente recente. I trasformatori, che sono diventati lo standard de facto per i modelli linguistici all'avanguardia, sono composti da più strati, ciascuno contenente un meccanismo di auto-attenzione e una rete neurale feed-forward (FFN).

L'innovazione chiave nell'applicazione del MoE ai trasformatori è quella di sostituire gli strati FFN densi con strati MoE sparsi, ciascuno costituito da più FFN esperti e un meccanismo di gating. Il meccanismo di gating determina quali esperti dovrebbero elaborare ciascun token di input, consentendo al modello di attivare selettivamente solo un sottoinsieme di esperti per una determinata sequenza di input.

Uno dei primi lavori che ha dimostrato il potenziale del MoE nei trasformatori è stato il documento "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 con gating sparso, che utilizzava un meccanismo di gating che aggiungeva scarsità e rumore al processo di selezione degli esperti, garantendo che solo un sottoinsieme di esperti fosse attivato per ciascun input.

Da allora, diversi altri lavori hanno fatto avanzare ulteriormente l'applicazione del MoE ai trasformatori, affrontando sfide quali l'instabilità dell'addestramento, il bilanciamento del carico e l'inferenza efficiente. Esempi degni di nota includono il Trasformatore dell'interruttore (Fedus et al., 2021), ST-MoE (Zoph et al., 2022) e GLAM (Du et al., 2022).

Vantaggi della combinazione di esperti per i modelli linguistici

Il vantaggio principale dell'utilizzo del 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 sottoinsieme di esperti per ciascun token di input, i modelli MoE possono raggiungere la potenza espressiva di modelli densi molto più grandi richiedendo al contempo una quantità di calcoli notevolmente inferiore.

Ad esempio, considera 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 un modello denso di 14 miliardi di parametri, poiché calcola due moltiplicazioni di matrici di parametri da 7 miliardi.

Questa efficienza computazionale durante l'inferenza è particolarmente preziosa negli scenari di distribuzione in cui le risorse sono limitate, come i dispositivi mobili o gli ambienti di edge computing. Inoltre, i requisiti computazionali ridotti durante la formazione possono portare a sostanziali risparmi energetici e a una minore impronta di carbonio, in linea con la crescente enfasi sulle pratiche di intelligenza artificiale sostenibili.

Sfide e considerazioni

Sebbene i modelli MoE offrano vantaggi convincenti, la loro adozione e implementazione comportano anche diverse sfide e considerazioni:

  1. Instabilità dell'allenamento: I modelli MoE sono noti per essere più inclini alle instabilità di addestramento rispetto alle loro controparti dense. Questo problema nasce dalla natura sparsa e condizionale delle attivazioni degli esperti, che può portare a sfide nella propagazione e nella convergenza del gradiente. Tecniche come il router z-loss (Zoph et al., 2022) sono state proposte per mitigare queste instabilità, ma sono ancora necessarie ulteriori ricerche.
  2. Finetuning e overfitting: I modelli MoE tendono ad adattarsi più facilmente durante la messa a punto, soprattutto quando l'attività a valle ha un set di dati relativamente piccolo. Questo comportamento è attribuito alla maggiore capacità e alla scarsità dei modelli MoE, che possono portare a un’eccessiva specializzazione dei dati di training. Per mitigare questo problema sono necessarie attente strategie di regolarizzazione e messa a punto.
  3. Requisiti di memoria: Sebbene i modelli MoE possano ridurre i costi computazionali durante l'inferenza, spesso hanno requisiti di memoria più elevati rispetto a modelli densi di dimensioni simili. Questo perché tutti i pesi Expert devono essere caricati in memoria, anche se viene attivato solo un sottoinsieme per ciascun input. I vincoli di memoria possono limitare la scalabilità dei modelli MoE su dispositivi con risorse limitate.
  4. Bilancio del carico: Per ottenere un’efficienza computazionale ottimale, è fondamentale bilanciare il carico tra gli esperti, garantendo che nessun singolo esperto sia sovraccaricato mentre altri rimangano sottoutilizzati. Questo bilanciamento del carico viene in genere ottenuto attraverso perdite ausiliarie durante l'addestramento e un'attenta regolazione del fattore di capacità, che determina il numero massimo di token che può essere assegnato a ciascun esperto.
  5. Sovraccarico di comunicazione: Negli scenari di formazione e inferenza distribuiti, i modelli MoE possono introdurre ulteriore sovraccarico di comunicazione a causa della necessità di scambiare informazioni sull'attivazione e sul gradiente tra esperti che risiedono su diversi dispositivi o acceleratori. Strategie di comunicazione efficienti e progettazione di modelli compatibili con l'hardware sono essenziali per mitigare questo sovraccarico.

Nonostante queste sfide, i potenziali vantaggi dei modelli MoE nel consentire modelli linguistici più ampi e più capaci hanno stimolato significativi sforzi di ricerca per affrontare e mitigare questi problemi.

Esempio: Mixtral 8x7B e GLaM

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

Mixtral 8x7B è una variante MoE del Modello linguistico maestrale, sviluppato da Anthropic. È composto da otto esperti, ciascuno con 7 miliardi di parametri, per un totale di 56 miliardi di parametri. Tuttavia, durante l'inferenza, vengono attivati ​​solo due esperti per token, riducendo di fatto il costo computazionale a quello di un modello denso di 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ù rapidi. È stata rilasciata anche una versione ottimizzata per le istruzioni di Mixtral 8x7B, denominata Mixtral-8x7B-Instruct-v0.1, che migliora ulteriormente le sue capacità nel seguire le istruzioni in linguaggio naturale.

Un altro esempio degno di nota è GLaM (Google Language Model), un modello MoE su larga scala sviluppato da Google. GLaM utilizza un'architettura di trasformatore basata solo sul decodificatore ed è stato addestrato su un enorme set di dati di 1.6 trilioni di token. Il modello raggiunge prestazioni impressionanti nelle valutazioni a colpo singolo e a colpo singolo, 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 vasto numero di parametri pur mantenendo requisiti computazionali ragionevoli. Il modello ha anche dimostrato il potenziale dei modelli MoE di essere più efficienti dal punto di vista energetico e sostenibili dal punto di vista ambientale rispetto alle loro controparti ad alta densità.

L'architettura Grok-1

GROK MISCELA DI ESPERTO

GROK MISCELA DI ESPERTO

Grok-1 è un modello MoE basato su trasformatore con un'architettura unica progettata per massimizzare l'efficienza e le prestazioni. Entriamo nelle specifiche principali:

  1. parametri: Con l'incredibile cifra di 314 miliardi di parametri, Grok-1 è il più grande LLM aperto fino ad oggi. Tuttavia, grazie all’architettura MoE, solo il 25% dei pesi (circa 86 miliardi di parametri) sono attivi in ​​un dato momento, migliorando le capacità di elaborazione.
  2. Architettura: Grok-1 utilizza un'architettura Mixture-of-8-Experts, in cui ciascun token viene elaborato da due esperti durante l'inferenza.
  3. Livelli: Il modello è composto da 64 strati trasformatori, ciascuno dei quali incorpora attenzione multitesta e blocchi densi.
  4. tokenizzazione: Grok-1 utilizza un tokenizer SentencePiece con una dimensione del vocabolario di 131,072 token.
  5. Incorporamenti e codifica posizionale: Il modello presenta incorporamenti a 6,144 dimensioni e impiega incorporamenti posizionali rotanti, consentendo un'interpretazione più dinamica dei dati rispetto alle tradizionali codifiche posizionali fisse.
  6. Attenzione: Grok-1 utilizza 48 teste di attenzione per le query e 8 teste di attenzione per chiavi e 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 un calcolo efficiente.

Dettagli sulle prestazioni e sull'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 precisione in vari test.

Tuttavia, è importante notare che Grok-1 richiede notevoli risorse GPU a causa delle sue dimensioni. L'attuale implementazione nella versione open source si concentra sulla convalida della correttezza del modello e utilizza un'implementazione del livello MoE inefficiente per evitare la necessità di kernel personalizzati.

Tuttavia, il modello supporta lo sharding di attivazione e la quantizzazione a 8 bit, che possono ottimizzare le prestazioni e ridurre i requisiti di memoria.

Con una mossa notevole, xAI ha rilasciato Grok-1 sotto la licenza Apache 2.0, rendendone i pesi e l'architettura accessibili alla comunità globale per l'uso e i contributi.

La versione open source include un repository di codice di esempio JAX che dimostra come caricare ed eseguire il modello Grok-1. Gli utenti possono scaricare i pesi dei checkpoint utilizzando un client torrent o direttamente tramite HuggingFace Hub, facilitando un facile accesso a questo modello rivoluzionario.

Il futuro della combinazione di esperti nei modelli linguistici

Poiché la domanda di modelli linguistici più ampi e capaci continua a crescere, si prevede che l’adozione delle tecniche MoE acquisirà ulteriore slancio. Gli sforzi di ricerca in corso si concentrano sull'affrontare le sfide rimanenti, come il miglioramento della stabilità dell'allenamento, la mitigazione dell'adattamento eccessivo durante la messa a punto e l'ottimizzazione dei requisiti di memoria e comunicazione.

Una direzione promettente è l’esplorazione delle architetture gerarchiche del MoE, in cui ogni esperto è composto da più sub-esperti. Questo approccio potrebbe potenzialmente consentire una scalabilità e un’efficienza computazionale ancora maggiori, pur mantenendo la potenza espressiva dei modelli di grandi dimensioni.

Inoltre, lo sviluppo di sistemi hardware e software ottimizzati per i modelli MoE è un'area di ricerca attiva. Acceleratori specializzati e strutture di formazione distribuite progettate per gestire in modo efficiente i modelli di calcolo sparsi e condizionati dei modelli MoE potrebbero migliorare ulteriormente le loro prestazioni e scalabilità.

Inoltre, l’integrazione delle tecniche MoE con altri progressi nella modellazione linguistica, come meccanismi di scarsa attenzione, efficienti strategie di tokenizzazione e rappresentazioni multimodali, potrebbe portare a modelli linguistici ancora più potenti e versatili in grado di affrontare un’ampia gamma di compiti.

Conclusione

La tecnica della miscela di esperti è emersa come un potente strumento nella ricerca di modelli linguistici più ampi e capaci. Attivando selettivamente gli esperti in base ai dati di input, i modelli MoE offrono una soluzione promettente alle sfide computazionali associate all’ampliamento dei modelli densi. Sebbene ci siano ancora sfide da superare, come l’instabilità dell’addestramento, l’overfitting e i requisiti di memoria, i potenziali vantaggi dei modelli MoE in termini di efficienza computazionale, scalabilità e sostenibilità ambientale li rendono un’entusiasmante area di ricerca e sviluppo.

Poiché il campo dell’elaborazione del linguaggio naturale continua ad ampliare i confini di ciò che è possibile, è probabile che l’adozione delle tecniche MoE svolga un ruolo cruciale nel consentire la prossima generazione di modelli linguistici. Combinando MoE con altri progressi nell'architettura del modello, nelle tecniche di formazione e nell'ottimizzazione dell'hardware, possiamo aspettarci modelli linguistici ancora più potenti e versatili in grado di comprendere e comunicare veramente con gli esseri umani in modo naturale e senza soluzione di continuità.

Ho trascorso gli ultimi cinque anni immergendomi nell'affascinante mondo del Machine Learning e del Deep Learning. La mia passione e competenza mi hanno portato a contribuire a oltre 50 diversi progetti di ingegneria del software, con un focus particolare su AI/ML. La mia continua curiosità mi ha anche attirato verso l'elaborazione del linguaggio naturale, un campo che non vedo l'ora di esplorare ulteriormente.