notizia

Algoritmi, sistemi e applicazioni, una comprensione completa degli esperti ibridi (MoE) da tre prospettive

2024-07-26

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



Rapporto sul cuore della macchina

Editore: Panda W

Il LLM è molto forte e, per raggiungere un'espansione sostenibile del LLM, è necessario trovare e implementare metodi che possano migliorarne l'efficienza. L'Hybrid Expert (MoE) è un membro importante di questo tipo di metodo.

Recentemente, la nuova generazione di grandi modelli proposti da varie aziende tecnologiche utilizza invariabilmente il metodo Mixture of Experts (MoE).

Il concetto di esperti ibridi è nato per la prima volta nel documento "Miscele adattive di esperti locali" nel 1991 ed è stato ampiamente esplorato e sviluppato per più di 30 anni. Negli ultimi anni, con l’emergere e lo sviluppo di MoE sparsi, soprattutto se combinati con modelli linguistici su larga scala basati su Transformer, questa tecnologia con una storia di oltre 30 anni ha assunto nuova vitalità.

Il framework del MoE si basa su un’idea semplice ma potente: diverse parti del modello (chiamate esperti) si concentrano su compiti diversi o aspetti diversi dei dati.

Quando si utilizza questo paradigma, solo gli esperti rilevanti (esperti) parteciperanno all'elaborazione di un input, in modo che i costi computazionali possano essere controllati pur beneficiando di una grande quantità di competenze. Pertanto, il MoE può migliorare le capacità di modelli linguistici di grandi dimensioni senza aumentare significativamente i requisiti computazionali.

Come mostrato nella Figura 1, la ricerca relativa al MoE è cresciuta fortemente, soprattutto dopo l’emergere di Mixtral-8x7B e di vari LLM di livello industriale come Grok-1, DBRX, Arctic e DeepSeek-V2 nel 2024.



Questa immagine proviene da un rapporto di revisione del MoE recentemente pubblicato da un gruppo di ricerca dell’Università della Scienza e della Tecnologia di Hong Kong (Guangzhou). Riassume in modo chiaro e completo la ricerca relativa al MoE e propone un nuovo metodo di classificazione per classificare questi studi e sistemi e applicazioni.



Titolo dell'articolo: Un'indagine sulla miscela di esperti

Indirizzo del documento: https://arxiv.org/pdf/2407.06204

Heart of the Machine ha compilato il contenuto principale di questo rapporto di revisione per aiutare i lettori a comprendere l'attuale panoramica dello sviluppo di MoE. Per maggiori dettagli, leggere il documento originale. Inoltre, alla fine dell'articolo abbiamo anche compilato alcuni rapporti relativi al MoE.

Mescolare le conoscenze di base degli esperti

In un modello LLM (Large Language Model) basato su Transformer, la composizione di ciascun livello esperto misto (MoE) è solitamente una "rete di esperti" {_1, ..., _} accoppiata con una "rete di accesso" G.

Questa rete controllata è solitamente sotto forma di rete lineare che utilizza una funzione di attivazione softmax, il cui ruolo è quello di guidare l'input alla rete di esperti appropriata. Lo strato MoE è posizionato nel modulo Transformer e la sua funzione è quella di selezionare la rete diretta (FFN), solitamente situata dopo il sottostrato di auto-attenzione (SA). Questo posizionamento è fondamentale perché man mano che il modello cresce, aumentano i requisiti computazionali del FFN. Ad esempio, nel modello PaLM con 540 miliardi di parametri, il 90% dei parametri si trova nel suo livello FFN.

Per dirla in forma matematica: ogni rete esperta_ (di solito una rete lineare - ReLU - lineare) è parametrizzata da W_, che riceve lo stesso input x e genera un output_ (x; W_). Allo stesso tempo, una rete G con parametri Θ (solitamente composta da una rete lineare-ReLU-lineare-softmax) ottiene l'output G (x; Θ). Secondo il metodo di progettazione della funzione di gate, lo strato MoE può essere approssimativamente suddiviso nelle seguenti due categorie.



MoE denso

Il denso strato esperto misto attiva tutte le reti esperte {_1, ..., _} durante ogni iterazione. I primi studi del MoE generalmente adottavano questa strategia. In tempi recenti, alcune ricerche hanno utilizzato MoE densi, come EvoMoE, MoLE, LoRAMoE e DS-MoE. La Figura 2a mostra la struttura dello strato denso MoE. Pertanto, l'output dello strato MoE denso può essere espresso come:



Tra questi, (x; Θ) è il valore del gate prima dell'operazione softmax.

MoE sparso

Sebbene l’accuratezza della previsione degli esperti ibridi densi sia generalmente più elevata, anche il loro carico computazionale è molto elevato.

Per risolvere questo problema, l'articolo di Shazeer et al. "Reti neurali scandalosamente grandi: lo strato di miscela di esperti con gate sparse" introduce uno strato MoE scarsamente con gate, che attiva solo quelli selezionati in ogni sottoinsieme Expert in avanti. Questa strategia raggiunge la scarsità calcolando la somma ponderata dei risultati degli esperti top-k invece di aggregare i risultati di tutti gli esperti. La Figura 2b mostra la struttura di questo strato MoE sparso.

Secondo il quadro proposto nel documento sopra, l'equazione 2.2 può essere modificata per riflettere il meccanismo di gate sparso:



Ecco una spiegazione: la funzione TopK (・, ) mantiene solo i primi k elementi del valore originale del vettore, mentre imposta gli altri elementi su −∞. Questa è seguita da un'operazione softmax in cui tutti i termini −∞ diventano approssimativamente zero. L'iperparametro k deve essere selezionato in base all'applicazione specifica. Le opzioni comuni sono = 1 o = 2. L'aggiunta del termine rumore R_noise è una strategia comune per l'addestramento di strati MoE scarsamente recintati, che può promuovere l'esplorazione tra esperti e migliorare la stabilità dell'addestramento MoE.

Sebbene il gating sparso G (x; Θ) possa espandere significativamente lo spazio dei parametri del modello senza aumentare il corrispondente costo computazionale, può anche portare a problemi di bilanciamento del carico. Il problema del bilanciamento del carico si riferisce alla distribuzione non uniforme del carico tra gli esperti: alcuni esperti vengono utilizzati frequentemente, mentre altri vengono utilizzati raramente o per niente.

Per risolvere questo problema, ogni livello del MoE deve integrare una funzione di perdita ausiliaria, il cui ruolo è quello di sollecitare ogni lotto di token a essere distribuito uniformemente ai vari esperti. Dalla descrizione della forma matematica, definire innanzitutto un batch di query B = {x_1, x_2, ..., x_} contenente T token e N esperti. Quindi la sua perdita di bilanciamento del carico ausiliario è definita come:



Dove D_i è la proporzione di token assegnati all'esperto i e P_i è la proporzione delle probabilità di gate assegnate all'esperto i. Per garantire che il batch sia distribuito equamente tra N esperti, la funzione di perdita del bilanciamento del carico L_{load-balancing} dovrebbe essere ridotta al minimo. Quando a ciascun esperto viene assegnato lo stesso numero di token D_ = 1/ e la stessa probabilità di controllo P_ = 1/, viene raggiunta la condizione ottimale:



A questo punto il carico di ciascun esperto è bilanciato.

Nel seguito, salvo diversa indicazione esplicita, il termine "MoE" si riferisce esclusivamente a "MoE sparso".

Classificazione degli esperti misti

Per aiutare i ricercatori a trovare obiettivi nel gran numero di studi LLM che impiegano il MoE, il team ha sviluppato un metodo di classificazione per classificare questi modelli in base a tre aspetti: progettazione dell'algoritmo, progettazione del sistema e applicazione.

La Figura 3 mostra questa tassonomia e alcuni risultati rappresentativi della ricerca.



Di seguito verrà fornita un'introduzione completa e approfondita a ciascuna categoria.

Progettazione di algoritmi da parte di esperti ibridi

funzione di gating

Le funzioni di gating (note anche come funzioni di routing o router) sono la componente fondamentale di tutte le architetture del MoE, coordinando l'uso di calcoli esperti e combinando i risultati degli esperti.

A seconda di come viene elaborato ciascun input, il gating può essere suddiviso in tre tipi: sparso, denso e morbido. Il meccanismo di gating sparso attiva alcuni esperti, mentre il meccanismo di gating denso attiva tutti gli esperti. Il meccanismo di gating morbido include metodi completamente differenziabili, tra cui la fusione dei token di input e la fusione degli esperti. La Figura 4 mostra le varie funzioni di gating utilizzate nel modello MoE.



scarso

La funzione di gate sparso attiva una porzione selezionata di esperti durante l'elaborazione di ciascun token di input, che può essere considerato come una forma di calcolo condizionale.

Le funzioni di gating possono implementare molte forme di decisioni di gating, come decisioni binarie, decisioni sparse o continue, decisioni casuali o deterministiche; sono state studiate in modo approfondito e possono essere implementate utilizzando varie forme di apprendimento per rinforzo e backpropagation.

Lo studio di Shazeer et al. "Reti neurali scandalosamente grandi: lo strato di miscela di esperti sparse" ha aperto la strada a un metodo euristico differenziabile utilizzando una perdita di bilanciamento del carico ausiliaria, in cui gli esperti possono essere calcolati in base alle loro probabilità di selezione dell'output è ponderato. Ciò introduce differenziabilità nel processo di gating, per cui l'ottimizzazione della funzione di gating può essere guidata da gradienti.

Successivamente, questo paradigma è diventato il paradigma dominante nel campo della ricerca del Ministero dell’Ambiente. Poiché questo metodo seleziona un esperto per ciascun token di input, può essere considerato come una funzione di gating selettiva dei token.

Di seguito sono riportati i punti principali di questa sezione, vedere il documento originale per i dettagli:

Gating selettivo dei token

Perdita ausiliaria per gating selettivo di token

capacità di token expert per il gating selettivo

Altri progressi nel gating selettivo dei token

Gating selettivo dei token non addestrabili

Gating selettivo esperto



Intensivo

MoE denso significa che tutti gli esperti vengono attivati ​​durante l'elaborazione di ciascun input.

Sebbene il MoE sparso presenti vantaggi in termini di efficienza, la direzione del MoE denso continua ad accogliere favorevolmente l’innovazione. In particolare, l'attivazione densa funziona bene nella messa a punto LoRA-MoE e ha un sovraccarico computazionale relativamente basso per gli esperti LoRA. Questo approccio consente l'integrazione efficiente e flessibile di più LoRA per completare varie attività a valle. Ciò preserva le capacità generative del modello pre-addestrato originale pur mantenendo le caratteristiche uniche di ogni LoRA per ciascuna attività.

stile morbido

Per il MoE sparso, un problema fondamentale di ottimizzazione discreta è come decidere quali esperti appropriati assegnare a ciascun token. Per garantire una partecipazione equilibrata degli esperti e ridurre al minimo i token non allocati, ciò spesso richiede perdite assistite dall’euristica. Questo problema è particolarmente significativo negli scenari che coinvolgono dati fuori distribuzione (come piccoli lotti di inferenza, nuovi input o trasferimento di apprendimento).

Similmente al MoE denso, anche i metodi MoE soft utilizzano tutti gli esperti durante l'elaborazione di ciascun input, mantenendo così la completa differenziabilità ed evitando così i problemi intrinseci dei metodi di selezione degli esperti discreti. La differenza tra MoE morbido e MoE denso è che il primo allevia i requisiti computazionali attraverso la fusione controllata e ponderata di token di input o esperti.

esperto

Questa sezione introdurrà l'architettura delle reti di esperti nel quadro del Ministero dell'Ambiente e discuterà le funzioni di gating che coordinano l'attivazione di questi esperti.

Tipo di rete

Poiché MoE è integrato nell'architettura Transformer, spesso sostituisce il modulo di rete diretta (FFN) in questi modelli. In genere, ogni esperto del livello MoE copia l'architettura della FFN che sostituisce.

Questo paradigma di utilizzo di FFN come esperto è ancora diffuso, ma sono stati apportati molti miglioramenti.

iperparametri

La dimensione del modello MoE sparso è controllata da diversi iperparametri chiave, tra cui:

Numero di esperti per livello MoE

Dimensioni di ciascun esperto

La frequenza con cui gli strati MoE vengono posizionati nel modello

La scelta di questi iperparametri è cruciale poiché influisce profondamente sulle prestazioni e sull'efficienza computazionale del modello in vari compiti. Pertanto, gli iperparametri ottimali vengono selezionati in base ai requisiti applicativi specifici e all'infrastruttura informatica. La tabella 2 mostra alcune configurazioni di modelli che utilizzano MoE.



Inoltre, la Tabella 3 elenca il numero di parametri e le prestazioni di riferimento di alcuni recenti modelli open source.



funzione di attivazione

Il modello MoE sparso costruito sull'architettura densa del Transformer adotta una funzione di attivazione simile ai principali LLM densi come BERT, T5, GPT e LLAMA. Le funzioni di attivazione si sono evolute da ReLU a opzioni più avanzate come GeLU, GeGLU, SwiGLU e così via.

Questa tendenza si estende anche ad altri componenti dei modelli MoE, che spesso incorporano tecniche come la normalizzazione dello strato quadrato medio (RMSNorm), l'attenzione alle query raggruppate (GQA) e l'incorporamento della posizione ruotata (RoPE).

Esperti condivisi

DeepSpeed-MoE introduce in modo innovativo l'architettura MoE residua (Residual-MoE), in cui ogni token viene elaborato da un esperto fisso più un esperto selezionato dal gate, realizzando che ogni livello ha due esperti che partecipano all'elaborazione il costo di comunicazione non supererà il metodo di gating principale. Questo metodo tratta l'esperto del MoE selezionato dal gate come un ausilio per la correzione degli errori per FFN fissi e densi.

Anche il routing MoE condizionale (CMR/Conditional MoE Routing) utilizzato in NLLB adotta un metodo simile, combinando l'output di strati FFN e MoE densi.

Il paradigma che integra FFN fisso e MoE sparso è spesso chiamato esperti condivisi, come mostrato nella Figura 5b.



Recentemente, modelli come DeepSeekMoE, OpenMoE, Qwen1.5-MoE e MoCLE hanno adottato questo paradigma, indicando che sta diventando una configurazione mainstream. Tuttavia, DeepSeekMoE e Qwen1.5-MoE utilizzano più esperti condivisi anziché uno solo.

Esperto di efficienza dei parametri di miscelazione

La regolazione fine dei parametri (PEFT) è un metodo per migliorare l'efficienza della regolazione fine. In poche parole, PEFT aggiorna solo una piccola parte dei parametri del modello base durante la messa a punto.

PEFT ha successo, ma a causa dei suoi parametri addestrabili limitati e dei possibili problemi catastrofici di dimenticanza, il metodo è difficile da utilizzare in situazioni in cui è richiesta la generalizzazione a più compiti.

Per alleviare queste limitazioni è nato il Mixed Parametro Efficient Expert (MoPE), che integra il framework MoE con il PEFT. MoPE integra il meccanismo di gating del MoE e l'architettura multi-esperto e ogni esperto è costruito utilizzando la tecnologia PEFT. Questa combinazione intelligente può migliorare notevolmente le prestazioni del PEFT in scenari multi-tasking. Inoltre, poiché il PEFT viene utilizzato per creare esperti, il MoPE utilizza meno parametri ed è molto più efficiente in termini di risorse rispetto al modello MoE tradizionale.

Il MoPE combina le caratteristiche multitasking del MoE e l’efficienza delle risorse del PEFT e rappresenta una direzione di ricerca promettente. La Figura 6 classifica il MoPE in base alla sua posizione nell'architettura del modello Transformer. Per un'introduzione più dettagliata ai risultati della ricerca sul MoPE, fare riferimento al documento originale.



Soluzioni di training e inferenza

Gli esperti ibridi stanno avanzando, così come le relative soluzioni di formazione e inferenza.

La soluzione iniziale di addestramento e inferenza richiede l'addestramento del modello MoE da zero e l'utilizzo diretto della configurazione del modello addestrato per eseguire l'inferenza.

Ma ora sono emersi molti nuovi paradigmi nell’addestramento e nell’inferenza dei modelli MoE, inclusa la combinazione dei vantaggi dei modelli densi e sparsi per completarsi a vicenda.



La Figura 7 mostra le soluzioni di formazione e inferenza relative al MoE. Si può vedere che le soluzioni emergenti possono essere suddivise in tre categorie:

Da denso a sparso: iniziare con l'addestramento del modello denso e passare gradualmente alla configurazione MoE sparsa;

Da scarso a denso: comporta il declassamento del modello MoE sparso a una forma densa, il che è vantaggioso per implementare l'inferenza in forma hardware;

Fusione di modelli esperti: integra più modelli esperti densi preaddestrati in un modello MoE unificato.

Tecnologie derivate del MoE

Il Mix of Expertise (MoE) ha ispirato molte varianti tecniche diverse. Ad esempio, l'articolo di Xue et al. "Vai più ampio invece che più profondo" propone WideNet con una maggiore larghezza del modello. Il metodo consiste nel sostituire la rete diretta (FFN) con il livello MoE mantenendo la possibilità di allenamento condivisa sui parametri del livello Transformer , ad eccezione dello strato di normalizzazione.

Esistono anche SYT (Sparse Universal Transformer) proposto da Tan et al., MoT (Hybrid Token) proposto da Antoniak et al., SMoP (Sparse Hybrid Prompter) proposto da Choi et al., e Lifelong- proposto da Chen et al. MoE, MoD (profondità di miscelazione) proposti da Raposo et al., ecc.

Per riassumere, lo sviluppo delle tecnologie derivate dal MoE rivela una tendenza: il MoE ha sempre più funzioni ed è sempre più adattabile a diversi campi.

Progettazione del sistema da parte di esperti ibridi

Sebbene la Mixed Expertise (MoE) possa migliorare le capacità di modelli linguistici di grandi dimensioni, comporta anche nuove sfide tecniche a causa del suo carico computazionale scarso e dinamico.

GShard introduce il parallelismo esperto, che può programmare token locali segmentati in base ai vincoli di bilanciamento del carico delle capacità esperte, ottenendo così gating parallelo e calcoli esperti. Questo paradigma è diventato una strategia di base per promuovere un’efficiente espansione dei modelli del Ministero dell’Ambiente. Possiamo pensare a questo approccio come una versione migliorata del parallelismo dei dati: ogni esperto nel livello MoE è assegnato a un dispositivo diverso, mentre tutti i livelli non esperti sono duplicati su tutti i dispositivi.

Come mostrato nella Figura 8a, il flusso di lavoro della parallelizzazione esperta consiste nell'eseguire le seguenti operazioni in sequenza: instradamento del gate, codifica dell'input, pianificazione All-to-All, calcolo esperto, combinazione All-to-All e decodifica dell'output.



In generale, la dimensione di input di un GEMM deve essere sufficientemente grande da utilizzare appieno il dispositivo informatico. Pertanto, la codifica dell'input viene utilizzata per aggregare i token di input dello stesso esperto in uno spazio di memoria continuo, che è determinato dalla "mappatura token-esperto" nel gate routing. Successivamente, il ruolo della pianificazione All-to-All è quello di distribuire i token di input agli esperti corrispondenti su ciascun dispositivo. Questo è seguito da calcoli di localizzazione esperti. Una volta completato il calcolo, viene riepilogato tramite la combinazione Tutto-a-Tutto, quindi decodificato ed emesso e il layout dei dati originali viene ripristinato in base all'indice di gating.

Inoltre, alcuni ricercatori stanno esplorando la sinergia tra il parallelismo esperto e altre strategie parallele esistenti (come tensori, pipeline e parallelizzazione di sequenze) per migliorare la scalabilità e l'efficienza dei modelli MoE in ambienti distribuiti su larga scala.

Alcuni esempi di parallelizzazione ibrida sono forniti nella Figura 8, tra cui (b) dati + esperto + parallelizzazione del tensore, (c) dati + esperto + parallelizzazione della pipeline, (d) esperto + parallelizzazione del tensore.

È importante rendersi conto che esistono interazioni complesse tra efficienza computazionale, carico di comunicazione e impronta di memoria, che saranno influenzate dalla scelta della strategia di parallelizzazione distribuita e saranno influenzate anche dalle diverse configurazioni hardware. Pertanto, quando si implementano strategie per applicazioni pratiche, è necessario fare attenti compromessi e apportare modifiche a scenari specifici.

Successivamente, il team ha presentato le sfide di progettazione del sistema affrontate nello sviluppo del modello del MoE e i risultati della ricerca per risolvere questi problemi in tre sezioni principali: elaborazione, comunicazione e archiviazione. Per i dettagli, vedere l'articolo originale. La tabella 4 fornisce una panoramica del framework MoE open source.



Applicazioni per esperti di mixaggio

Nel campo dei modelli linguistici di grandi dimensioni (LLM) attualmente dominato da Transformer, il paradigma degli esperti misti (MoE) è attraente perché può migliorare significativamente le capacità del modello senza introdurre eccessivi requisiti computazionali per le fasi di addestramento e inferenza. Questo tipo di tecnologia può migliorare significativamente le prestazioni del LLM su una varietà di attività a valle e persino creare alcune applicazioni di intelligenza artificiale che superano i livelli umani.

Circolano voci secondo cui GPT-4, che è così potente, potrebbe anche adottare una sorta di architettura MoE, composta da 8 esperti con 220 miliardi di parametri, addestrati su diversi set di dati e attività e utilizzando un processo di ragionamento iterativo di 16 volte. Per maggiori dettagli su questa voce, fare riferimento al rapporto Heart of the Machine "Ultimate "Revelation": l'architettura del modello GPT-4, i costi di formazione e le informazioni sul set di dati sono stati rivelati."

Non sorprende quindi che il MoE stia fiorendo nell’elaborazione del linguaggio naturale, nella visione artificiale, nei sistemi di raccomandazione e nelle applicazioni multimodali.

Queste applicazioni richiedono essenzialmente l'uso di calcoli condizionali per aumentare significativamente il numero di parametri del modello per migliorare le prestazioni del modello a un costo computazionale fisso, o per implementare la selezione dinamica degli esperti attraverso un meccanismo di gating per ottenere un efficiente apprendimento multi-task.

Il team ha inoltre introdotto applicazioni rappresentative del MoE in questi diversi campi, che possono aiutare i lettori a comprendere come utilizzare il MoE per compiti specifici. Vedi il documento originale per i dettagli.

Sfide e opportunità

Esperti ibridi, potenti, riducono i costi, migliorano le prestazioni. Anche se le prospettive sono buone, ci sono ancora delle sfide.

In questa sezione, il team seleziona le principali sfide legate al MoE e indica le direzioni future della ricerca che promettono risultati importanti. Queste sfide e direzioni di ricerca sono brevemente elencate di seguito; per maggiori dettagli consultare il documento originale.

Stabilità dell'allenamento e bilanciamento del carico

Scalabilità e sovraccarico di comunicazione

Specializzazione e collaborazione di esperti

Attivazione sparsa ed efficienza computazionale

Generalizzazione e robustezza

Spiegabilità e trasparenza

Architettura esperto ottimale

Integrazione con i framework esistenti