Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Apprendimento automatico# Architettura hardware# Calcolo e linguaggio# Tecnologie emergenti# Prestazioni

FP8: Una Nuova Frontiera nell'Efficienza dell'AI

FP8 offre una soluzione compatta per addestrare grandi modelli di AI con maggiore efficienza.

― 4 leggere min


FP8 trasformaFP8 trasformal'addestramento deimodelli di intelligenzalarga scala.precisione nell'addestramento AI suFP8 migliora l'efficienza e la
Indice

I modelli linguistici di grandi dimensioni stanno diventando importanti nel campo dell'intelligenza artificiale. Questi modelli, come GPT e Llama 2, richiedono un sacco di potenza di calcolo e memoria. Per farli funzionare più velocemente e usare meno memoria, i ricercatori stanno guardando a un nuovo modo di rappresentare i numeri chiamato punto mobile a 8 bit, o FP8.

Che cos'è FP8?

I formati a punto mobile sono modi per esprimere numeri reali in un computer. Formati standard come FP32 (32 bit) e FP16 (16 bit) sono stati usati comunemente. Tuttavia, i ricercatori ora sono interessati a FP8, che usa solo 8 bit. Questo significa che ogni numero può essere memorizzato usando meno spazio, il che può portare a calcoli più veloci e a un minore utilizzo di memoria.

La sfida con FP8

Anche se usare meno bit è vantaggioso, porta con sé delle sfide. Uno dei problemi principali è che c'è meno intervallo per i numeri in FP8. Questo può portare a problemi come Underflow (dove i numeri diventano troppo piccoli per essere rappresentati) o overflow (dove i numeri diventano troppo grandi). Se questi problemi si verificano, l'accuratezza del modello può risentirne.

Perché usare FP8?

Il motivo principale per usare FP8 è l'efficienza. Con calcoli più veloci e un minor requisito di memoria, FP8 può potenzialmente accelerare i tempi di addestramento e inferenza per modelli grandi. È cruciale per compiti come l'elaborazione del linguaggio naturale, dove set di dati grandi e modelli complessi sono comuni.

Adattare i modelli a FP8

Per integrare FP8 nell'addestramento dei modelli, i ricercatori hanno sviluppato metodi per regolare il modo in cui vengono calcolati pesi, attivazioni e gradienti. Questa regolazione è necessaria per garantire che il range dinamico ridotto di FP8 non degradi le prestazioni del modello.

Metodologia per la scalabilità FP8

La metodologia prevede di cambiare dinamicamente la scala di ciascun tensore durante l'addestramento. Aggiornando queste scale, i ricercatori possono assicurarsi che i valori rimangano all'interno dell'intervallo rappresentabile di FP8. Questo significa maggiore accuratezza e meno rischio di underflow o overflow.

Addestramento di modelli grandi con FP8

Quando si addestrano modelli come GPT e Llama 2 usando FP8, il processo implica una misurazione attenta delle scale per diversi tensori. La fase di addestramento consiste in un passaggio in avanti e in un passaggio all'indietro. Nel passaggio in avanti, il modello fa previsioni, e nel passaggio all'indietro, regola i pesi in base agli errori.

Il ruolo della scalatura delle perdite

Per prevenire l'underflow durante l'addestramento, si usa comunemente una tecnica chiamata scalatura delle perdite. Questo approccio moltiplica il valore della perdita per una costante per garantire che i gradienti (che sono pesi regolati) rimangano all'interno dell'intervallo che FP8 può rappresentare. Questa strategia è stata essenziale per garantire che i modelli possano addestrarsi efficacemente senza perdere accuratezza.

Fase di inferenza

Durante l'inferenza, i modelli usano pesi pre-addestrati per fare previsioni. Se i pesi sono memorizzati in FP8, non richiedono ulteriori aggiustamenti. Tuttavia, se sono in un formato a precisione superiore come FP16, devono essere convertiti in FP8 prima di essere usati nei calcoli.

Vantaggi di FP8 rispetto a INT8

Anche se INT8 è un altro formato comune usato nel machine learning per l'inferenza, FP8 offre vantaggi. FP8 può rappresentare un intervallo più ampio di valori e non richiede metodi di scalatura complessi che di solito richiede INT8. Questo rende FP8 più facile da usare e potenzialmente più accurato in molti casi.

FP8 e Outlier emergenti

Uno dei problemi nell'addestrare modelli grandi è la presenza di outlier. Questi sono valori estremi che possono distorcere i dati. FP8, grazie alla sua natura a punto mobile, gestisce questi outlier meglio dei formati interi. Questo è particolarmente importante per mantenere l'accuratezza durante l'addestramento e l'inferenza.

Regolazioni pratiche per FP8

Man mano che i modelli vengono addestrati, la distribuzione dei valori cambia. Pertanto, i metodi di scalatura usati per FP8 devono essere costantemente aggiornati. I ricercatori hanno impiegato strategie per calcolare i bias di scalatura per pesi, attivazioni e gradienti. Queste regolazioni assicurano che tutti i tensori rimangano all'interno dell'intervallo rappresentabile di FP8.

FP8 in azione

Nelle applicazioni pratiche, i modelli vengono addestrati utilizzando compiti specifici. Ad esempio, i compiti nell'elaborazione del linguaggio naturale possono includere classificazione di testi o generazione di parafrasi. Ognuno di questi compiti beneficia dei guadagni di efficienza forniti da FP8.

Conclusione

FP8 è uno sviluppo entusiasmante nel campo del machine learning. Il suo potenziale per migliorare l'addestramento e l'inferenza di modelli grandi è significativo. Affrontando le sfide legate alla ridotta precisione, i ricercatori possono raggiungere alti livelli di accuratezza mentre beneficiano dell'efficienza di FP8. L'esplorazione di ulteriori applicazioni e perfezionamenti per FP8 continuerà a plasmare il futuro del machine learning e dell'intelligenza artificiale.

Fonte originale

Titolo: Training and inference of large language models using 8-bit floating point

Estratto: FP8 formats are gaining popularity to boost the computational efficiency for training and inference of large deep learning models. Their main challenge is that a careful choice of scaling is needed to prevent degradation due to the reduced dynamic range compared to higher-precision formats. Although there exists ample literature about selecting such scalings for INT formats, this critical aspect has yet to be addressed for FP8. This paper presents a methodology to select the scalings for FP8 linear layers, based on dynamically updating per-tensor scales for the weights, gradients and activations. We apply this methodology to train and validate large language models of the type of GPT and Llama 2 using FP8, for model sizes ranging from 111M to 70B. To facilitate the understanding of the FP8 dynamics, our results are accompanied by plots of the per-tensor scale distribution for weights, activations and gradients during both training and inference.

Autori: Sergio P. Perez, Yan Zhang, James Briggs, Charlie Blake, Josh Levy-Kramer, Paul Balanca, Carlo Luschi, Stephen Barlow, Andrew William Fitzgibbon

Ultimo aggiornamento: 2023-09-29 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2309.17224

Fonte PDF: https://arxiv.org/pdf/2309.17224

Licenza: https://creativecommons.org/licenses/by-sa/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Altro dagli autori

Articoli simili