Il Beijing Academy of Artificial Intelligence (BAAI) ha introdotto AquilaMoE, un avanzato modello linguistico basato su una struttura Mixture of Experts (MoE) da 8*16B, progettato per ottenere prestazioni elevate con un’efficienza senza precedenti. Il cuore della sua innovazione è EfficientScale, una metodologia di addestramento a due fasi che massimizza il trasferimento di conoscenza riducendo il fabbisogno di dati e calcolo.
L’approccio Scale-Up permette di inizializzare un modello più grande a partire dai pesi di uno più piccolo, ottimizzando l’uso dei dati e accelerando l’apprendimento. Successivamente, la fase Scale-Out trasforma un modello denso in un modello MoE, migliorando ulteriormente l’efficienza computazionale e la capacità del modello. Queste strategie consentono ad AquilaMoE di superare le limitazioni degli attuali modelli di linguaggio, offrendo prestazioni superiori con minori costi computazionali.
Dataset Bilingue e Architettura del Modello
AquilaMoE è stato addestrato su un dataset bilingue da 4TB di token in cinese e inglese, composto da pagine web, articoli accademici, enciclopedie, libri, codice sorgente e domande-risposte. Questo dataset è stato filtrato per mantenere solo contenuti di alta qualità, con particolare attenzione alla rimozione di contenuti tossici e ridondanti.
La famiglia di modelli Aquila include versioni dense e MoE, con configurazioni che vanno da 7B a 16B parametri per i modelli densi e fino a 8x16B parametri per la versione MoE. Ogni modello supporta una lunghezza del contesto di 4096 token e utilizza strutture avanzate come Group Query Attention (GQA) per migliorare l’efficienza della memoria.
Modello | Aquila3 7B | Aquila3 16B | Aquila3 8x16B |
---|---|---|---|
Context Length | 4096 | 4096 | 4096 |
Hidden Dim | 4096 | 5120 | 5120 |
Trained Tokens | 3.6T | 1.2T | 545B |
Batch Size | 12M | 12M | 24M |
Addestramento con EfficientScale: Un Processo in Tre Fasi
L’addestramento di AquilaMoE si basa su EfficientScale, che sfrutta un approccio progressivo per il trasferimento di conoscenza.
- Fase di Preparazione
- Viene addestrato un modello denso di piccole dimensioni per acquisire una solida base di conoscenza.
- I dati vengono puliti, filtrati e validati per garantire la massima qualità durante le fasi successive.
- Scale-Up: Espansione del Modello
- Il modello più piccolo viene utilizzato per inizializzare un modello più grande, utilizzando strategie avanzate di trasferimento dei pesi come:
- Function Preserving Initialization (FPI) per mantenere l’output invariato durante l’espansione.
- Advanced Knowledge Initialization (AKI) per migliorare la stabilità del trasferimento di conoscenza.
- AKI-Pro, un’evoluzione di AKI che introduce interpolazione e compatibilità con GQA.
- Il modello più piccolo viene utilizzato per inizializzare un modello più grande, utilizzando strategie avanzate di trasferimento dei pesi come:
- Scale-Out: Conversione in MoE
- Il modello denso viene trasformato in un MoE, sostituendo i livelli MLP con livelli esperti sparsi.
- Durante inferenza e addestramento, vengono attivati solo 2 esperti su 8 per token, garantendo un equilibrio tra efficienza e capacità.
- Meccanismi come load balancing loss e max z-loss evitano il collasso dell’addestramento e garantiscono una distribuzione ottimale dei token tra gli esperti.
Grazie a queste strategie, il modello mantiene le conoscenze trasferite, migliorando costantemente le prestazioni senza richiedere una quantità sproporzionata di nuovi dati.
Efficienza e Prestazioni
L’analisi della training loss mostra come AquilaMoE mantenga una curva di apprendimento progressivamente più efficiente rispetto ai modelli densi.
- Transizioni rapide tra le fasi: il passaggio da un modello all’altro avviene senza aumenti significativi di perdita di addestramento.
- Miglioramento dell’efficienza: ogni fase riduce la perdita in modo più rapido rispetto alla precedente, confermando l’efficacia dell’approccio EfficientScale.
Sul fronte delle prestazioni, AquilaMoE supera significativamente i modelli dense su benchmark chiave come GSM8K, MMLU, HumanEval e HellaSwag.
Modello | ARC-c-ppl | GSM8K | MMLU | HumanEval | Math |
---|---|---|---|---|---|
AquilaDense-7B | 37.63 | 7.81 | 46.47 | 14.02 | 1.32 |
AquilaDense-16B | 38.31 | 28.51 | 57.11 | 29.88 | 4.24 |
AquilaMoE | 43.05 | 54.51 | 61.00 | 15.85 | 10.4 |
AquilaMoE-SFT | 49.15 | 71.27 | 59.93 | 40.24 | – |
La versione AquilaMoE-SFT, una variante fine-tunata, migliora ulteriormente le prestazioni e supera persino GPT-3.5 Turbo su AlpacaEval 2.0.
Modello | GPT-3.5 Turbo (11/06) | GPT-3.5 Turbo (03/01) | AquilaMoE-SFT |
---|---|---|---|
AlpacaEval 2.0 | 19.3 | 18.1 | 21.1 |
Licenza e Considerazioni
AquilaMoE è rilasciato sotto licenza Apache 2.0, garantendo un’ampia accessibilità per la ricerca e lo sviluppo. Tuttavia, il modello non implementa attualmente meccanismi di moderazione, e BAAI invita la community a contribuire all’ottimizzazione delle politiche di sicurezza per una distribuzione responsabile.
Con un’architettura scalabile, un approccio di addestramento efficiente e prestazioni all’avanguardia, AquilaMoE rappresenta un passo avanti significativo nel campo dei modelli linguistici basati su MoE, riducendo il costo computazionale senza compromettere la qualità del modello.
Contact Us
![](https://github.com/FlagAI-Open/Aquila-MoE/raw/main/assets/wechat-qrcode.jpg)