notizia

Sfidando la legge sullo scaling, Meta rilascia MobileLLM, un piccolo modello da 350 milioni sul lato mobile, con prestazioni paragonabili a 7B LLaMA-v

2024-07-22

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


Nuovo rapporto sulla saggezza

Editore: Qiao Yang

[Introduzione alla Nuova Saggezza] La legge di scalabilità non è ancora giunta al termine e i “piccoli modelli” sono gradualmente diventati una tendenza che i giganti della tecnologia stanno recuperando terreno. La serie MobileLLM recentemente rilasciata da Meta è stata addirittura ridotta in scala a meno di 1B. Le due versioni hanno rispettivamente solo parametri 125M e 350M, ma hanno raggiunto prestazioni migliori rispetto ai modelli su scala più grande.

Dalle conferenze stampa di alcuni colossi tecnologici di maggio e giugno si intravede già vagamente un importante trend di sviluppo dell’AI: dai data center cloud ai singoli utenti, dai grandi server ai notebook e ai dispositivi mobili.

Seguire la legge di scalabilità non è più l’unico modo e la storia dei modelli che “prendere in piccolo per vincere in grande” continua a svolgersi.

Prima Microsoft lo ha aggiornato; poi Google lo ha utilizzato.

In termini di hardware, abbiamo visto le funzioni di intelligenza artificiale essere gradualmente profondamente integrate con i prodotti elettronici.

Ad esempio, la famigerata funzione Recall di Microsoft ne è una parte importante; Apple ha anche lanciato app sotto l'egida di Apple Intelligence, cercando di integrarsi perfettamente con iOS.

Al giorno d'oggi i parametri di LLM raggiungono spesso decine di miliardi. I parametri di Apple 3B sono già molto piccoli, ma per i dispositivi mobili come i telefoni cellulari esiste ancora una soglia elevata.

Non solo utilizza un modello di compressione a precisione mista a 2 e 4 bit (in media 3,5 bit per peso), ma richiede anche almeno 8 GB di memoria e un chip M1 per funzionare.

Un articolo recentemente pubblicato da Meta mostra che il numero di parametri può essere ulteriormente ridotto. Il numero di parametri del nuovo modello MobileLLM proposto è inferiore a 1 miliardo, ma le prestazioni sono comunque impressionanti.


Indirizzo del documento: https://arxiv.org/abs/2402.14905

LeCun ha anche twittato personalmente per sostenere questa ricerca, elogiando una serie di operazioni che hanno ottimizzato il numero di parametri.


Questo documento è stato accettato da ICML 2024 e il codice di formazione del modello è stato reso open source su GitHub.


Indirizzo GitHub: https://github.com/facebookresearch/MobileLLM

introduzione

Facciamo innanzitutto un presupposto. Se GPT-4 (con circa 1 trilione di parametri) viene implementato nella vita con una velocità di inferenza di 50 token/s, che tipo di hardware è necessario?

La risposta è 100 milioni di GPU H100. Per non parlare dei dispositivi mobili, non possono essere posizionati in casa.

E se abbassassimo lo standard e utilizzassimo un modello come LLaMA-v2 7B, abbinato alla quantizzazione a 8 bit?

Un semplice calcolo mostra che la sola memorizzazione dei parametri del modello richiede circa 7 GB, ma non si tratta di spazio di archiviazione, ma di prezioso spazio di memoria operativa (DRAM).


Inoltre, la DRAM non può essere completamente occupata dal modello AI. Considerando il funzionamento del sistema operativo e di altre applicazioni, il rapporto di memoria LLM non può superare il 10%.

Secondo le statistiche riportate nella Figura 2, i dispositivi mobili recentemente rilasciati da vari marchi sono generalmente dotati di 6-12 GB di DRAM. Ciò significa che se si desidera implementarlo con successo su un telefono cellulare, il numero di parametri del modello dovrebbe essere ridotto a <1B.

Non solo lo spazio di archiviazione, ma anche il consumo energetico è un grosso problema. Il consumo energetico del modello 7B è di circa 0,7J/token, e un iPhone completamente carico ha circa 50kJ da sprecare. Calcolato, se la velocità di generazione è di 10 token/s, una carica completa del tuo cellulare ti permetterà di parlare con il modello solo per 2 ore.

Sulla base delle considerazioni di cui sopra, è una scelta più ideale implementare un modello <1B sul terminale mobile. Pertanto, la dimensione dei parametri di MobileLLM è posizionata a 125M/350M, che è un ordine di grandezza inferiore al modello 3B It di Apple si può dire che sia il "mini tra i mini".

Ma non lasciatevi limitare dalla legge di scala. Piccoli parametri non significano capacità deboli. L’importanza dell’architettura del modello dovrebbe tornare alla nostra attenzione.


MobileLLM non solo raggiunge le prestazioni SOTA in modelli della stessa dimensione, ma propone anche che la profondità dell'architettura sia più importante della larghezza. Un piccolo modello "profondo e stretto" "snello" può anche apprendere concetti astratti.

Architettura e metodi

Con soli parametri 125M/350M, come ottimizzare la progettazione dell'architettura entro un intervallo limitato è diventata una questione importante.

Per LLM <1B, l'autore ha esplorato 4 tecniche efficaci di progettazione dell'architettura.

1) Utilizza la rete feedforward SwiGLU

2) Rendere la forma complessiva della rete "lunga e stretta", cioè profonda e stretta

3) Riutilizzare il metodo di condivisione incorporata

4) Utilizzare il meccanismo di attenzione alle query raggruppate (attenzione alle query raggruppate)


Su questa base, l'autore ha anche proposto un metodo di condivisione dei livelli a blocchi, che può migliorare ulteriormente la precisione del modello senza introdurre ulteriore sovraccarico di memoria, ma al costo di aumentare il ritardo di inferenza del processo di decodifica.

Questo modello con meccanismo di condivisione dei livelli aggiunto è etichettato MobileLLM-LS.

Rifiuta la legge di scala: la progettazione architettonica di piccoli modelli è molto importante

Il documento che propone la Legge di Scaling nel 2020 ritiene che la quantità di dati di addestramento, la quantità di parametri e il numero di iterazioni di addestramento siano i fattori chiave che determinano le prestazioni e che l'impatto dell'architettura del modello possa quasi essere ignorato.

Tuttavia, l'autore di questo articolo ha proposto, attraverso esperimenti comparativi, che questa legge non si applica ai modelli di piccole dimensioni.

Quando i parametri del modello sono fissati a 125M o 350M, il modello "stretto" con 30-42 strati ha prestazioni significativamente migliori rispetto al modello "corto e grasso" con circa 12 strati (Figura 4), ragionamento, domanda e risposta basati sul buon senso , comprensione della lettura, ecc. 8 Ci sono tendenze simili in tutti i parametri di riferimento.


Questa è in realtà una scoperta molto interessante, perché in passato, quando si progettavano architetture per piccoli modelli dell'ordine di 125M, generalmente non si impilavano più di 12 strati.

Perché tornare al “code sharing”

Il metodo "embedding sharing" è stato proposto per la prima volta da modelli piccoli come OPT, perché i parametri dello strato di codifica nel modello piccolo rappresentano una parte considerevole.

Ad esempio, il modello 125M utilizza la codifica con una lunghezza del contesto di 32k e una dimensione di 512. I livelli di codifica di input e output contengono 16M di parametri, pari al 20%.

In confronto, il numero di parametri dello strato di codifica dei modelli di grandi dimensioni è trascurabile. Ad esempio, nel LLaMA-7B questa percentuale è scesa al 3,7%, mentre nel LLaMA-70B era addirittura solo dello 0,7%. Pertanto, la codifica condivisa è superflua per LLM.

L’obsolescenza della condivisione del codice nell’era dei modelli di grandi dimensioni non significa che questa tecnologia non sia più adatta ai modelli di piccole dimensioni. Può rendere l’architettura del modello più compatta ed efficiente.

Come mostrato nella Tabella 1, dopo la condivisione del codice, il modello mantiene comunque le sue prestazioni originali nel complesso riducendo il numero totale di parametri di 16 milioni e addirittura migliora su alcuni benchmark.


meccanismo di condivisione dei livelli

Come accennato in precedenza, i risultati sperimentali dell'articolo hanno rilevato che rendere "snelli" i modelli piccoli è vantaggioso per il miglioramento delle prestazioni. Quindi l'autore ha pensato: se si introducesse un meccanismo di condivisione dei livelli, non equivarrebbe ad aumentare la profondità del modello mantenendo invariato il numero totale di parametri.

Gli esperimenti hanno dimostrato che questo metodo può effettivamente migliorare le prestazioni e il documento ha anche confrontato diversi metodi di condivisione dei livelli (Figura 6). Alla fine, dopo aver valutato la memoria del dispositivo, le prestazioni e la latenza di inferenza, è stata effettuata la condivisione immediata a livello di blocco (condivisione immediata a livello di blocco). , Figura 6b).


Esperimento di valutazione

L'autore ha creato modelli MobileLLM/MobileLLM-LS con parametri 125M e 350M e li ha addestrati su un set di dati 1T.

Il modello pre-addestrato viene testato su più set di dati con zero campioni, inclusi benchmark comunemente utilizzati come ARC-easy, ARCchallenge, HellaSwag, WinoGrande, TQA e RACE.

La tabella 3 mostra i risultati della valutazione del ragionamento basato sul buon senso a campione zero. La serie MobileLLM ha sostanzialmente raggiunto un SOTA completo, non solo superando i modelli classici rilasciati in precedenza come OPT e BLOOM, ma anche meglio del recente GPT-neo, Galactica. RWKV e altri parametri Modello più grande.


In termini di risposta alle domande e comprensione della lettura, MobileLLM funziona ancora bene (Tabella 4). Rispetto ad altri modelli, il 125M e il 325M MobileLLM hanno un miglioramento rispettivamente di >6,4 punti e circa 10 punti nel TQA.

Compiti a valle

Oltre a valutare i punteggi dei test benchmark, il documento tiene conto anche dei vari requisiti del modello durante la distribuzione degli scenari applicativi e conduce le valutazioni corrispondenti.

AlpacaEval e MT-Bench testano rispettivamente le prestazioni del modello in attività di chat a round singolo e multi-round. Rispetto agli altri tre modelli di base, MobileLLM ha ancora le prestazioni migliori e può persino utilizzare parametri 350M per superare le prestazioni degli altri. parametro >modelli 1B .


Ad eccezione del dialogo, nello scenario delle chiamate API, il punteggio EM di MobileLLM può corrispondere a quello di LLaMA-v2 con parametri 7B.


Inoltre, MobileLLM è anche molto compatibile con la quantizzazione (PTQ). Dopo la quantificazione W8A8, le prestazioni del modello sono diminuite di meno di 0,5 punti ed è ancora compatibile con il meccanismo di condivisione dei livelli, quindi può adattarsi all'implementazione in condizioni hardware più rigorose.


Circa l'autore

L'autore corrispondente di questo articolo, Zechun Liu, è un ricercatore presso Meta Reality Labs. Ha conseguito una laurea presso l'Università di Fudan e un dottorato di ricerca presso l'Università della Scienza e della Tecnologia di Hong Kong. Prima di unirsi a Meta, ha lavorato come studiosa in visita presso la CMU per più di due anni.


Gli interessi di ricerca di Zechun sono l'applicazione dell'apprendimento profondo in scenari di vita reale, come le limitazioni di risorse insufficienti, il compromesso tra risorse di calcolo e accuratezza, ecc., con particolare attenzione alla binarizzazione e quantizzazione della rete, potatura dei canali di rete, architettura progettazione e distillazione della conoscenza, ecc.

Riferimenti:

https://x.com/ylecu/status/1810035281472491665

https://arxiv.org/abs/2402.14905