Calcolatore dei FLOP di addestramento
Dati di input
| Tipo di passaggio | Passo di addestramento (6ND) |
|---|---|
| Parametri | 70 |
| Token di addestramento | 1.400 |
Calcolatore dei FLOP di addestramento
Stima le operazioni in virgola mobile necessarie per addestrare un transformer con la regola 6ND, a partire dal numero di parametri e dai token di addestramento, espresse in FLOP totali e in petaFLOP/s-giorni.
Dati di input
Modello e dati
Risultati
Inserisci un valore per visualizzare i risultati.
Dettagli
FLOP di addestramento
Il calcolo richiesto per addestrare un grande modello linguistico è dominato da una singola grandezza: il numero di operazioni in virgola mobile eseguite lungo l'intero ciclo di addestramento. Per i transformer densi questo valore è ben approssimato dalla regola 6ND, secondo cui l'addestramento costa circa sei operazioni per ogni parametro e per ogni token osservato. Questo calcolatore applica tale regola: a partire da un numero di parametri e da un numero di token, restituisce sia il conteggio grezzo delle operazioni sia l'equivalente in petaFLOP/s-giorni.
La regola 6ND
Un passaggio in avanti di un transformer esegue all'incirca due operazioni in virgola mobile per parametro e per token: una moltiplicazione e una somma nelle moltiplicazioni di matrici che dominano il lavoro. L'addestramento aggiunge un passaggio all'indietro che propaga i gradienti sia alle attivazioni sia ai pesi, con un costo pari a circa il doppio del passaggio in avanti. I passaggi in avanti e all'indietro insieme arrivano a circa sei operazioni per parametro e per token. Con parametri e token di addestramento, il totale è quindi vicino a . La stima cattura gli strati lineari dominanti e tralascia i contributi minori dell'attenzione, degli embedding e della normalizzazione, trascurabili per i modelli di grandi dimensioni.
La formula
Con il fattore del passaggio (sei per un passo di addestramento, due per il solo passaggio in avanti), il numero di parametri in miliardi e il numero di token in miliardi, il conteggio totale delle operazioni e il calcolo in petaFLOP/s-giorni sono
CP=k⋅N⋅D⋅1018=8.64×1019Cdove sono i FLOP totali e è il calcolo in petaFLOP/s-giorni. Il fattore riporta i miliardi di e ai conteggi assoluti. Un petaFLOP/s-giorno è un petaFLOP/s sostenuto per un giorno, pari a operazioni, quindi la divisione per quel valore converte un conteggio grezzo di FLOP nell'unità in cui di solito vengono riportati i grandi cicli.
Esempio
Si consideri un modello da 70 miliardi di parametri addestrato su 1.400 miliardi di token, con un rapporto token-parametri di venti in linea con la pratica ottimale rispetto al calcolo:
CP=6×70×1400×1018=5.88×1023 FLOP=8.64×10195.88×1023≈6805.6 PFLOP/s-giorniL'esecuzione richiede circa operazioni, ovvero all'incirca 6.806 petaFLOP/s-giorni. Impostando il fattore del passaggio a due si ottiene il solo costo del passaggio in avanti, pari a un terzo del totale di addestramento.
Limiti
La regola 6ND è un conteggio idealizzato di aritmetica, non una previsione del tempo effettivo o del costo. L'hardware reale sostiene solo una frazione del proprio throughput di picco, perciò il tempo effettivo deriva dalla divisione di questo calcolo per il tasso realmente raggiunto anziché per quello dichiarato, uno scarto descritto dal Calcolatore dell'utilizzo dei FLOPs del modello. La stima tralascia inoltre il ricalcolo delle attivazioni, i passi dell'ottimizzatore, i passaggi di valutazione e le esecuzioni che falliscono e ripartono, tutti elementi che si sommano al calcolo speso in pratica. La questione complementare di quanti token dovrebbe vedere un modello di una data dimensione è affrontata dal Calcolatore dei token ottimali secondo Chinchilla, mentre la conversione di questo calcolo in un budget di noleggio è trattata dal Calcolatore del costo delle GPU cloud.
Domande frequenti (FAQ)
Che cos'è la regola 6ND?
La regola 6ND stima che addestrare un transformer denso richieda circa sei operazioni in virgola mobile per ciascun parametro e per ciascun token di addestramento, dove N è il numero di parametri e D è il numero di token. Il fattore sei deriva da circa due operazioni per parametro per il passaggio in avanti e circa quattro per il passaggio all'indietro che calcola i gradienti.
È un'approssimazione del primo ordine introdotta negli studi sulle leggi di scala; cattura le moltiplicazioni di matrici dominanti e tralascia termini minori come l'attenzione e gli embedding.
Come si mettono in relazione i FLOP totali e i petaFLOP/s-giorni?
Un petaFLOP/s-giorno è la quantità di calcolo prodotta sostenendo un petaFLOP/s per un giorno intero, pari a 8,64 × 10¹⁹ operazioni in virgola mobile (10¹⁵ operazioni al secondo per 86.400 secondi). Dividendo un totale di FLOP per quel valore lo si converte in petaFLOP/s-giorni, l'unità in cui di solito si riportano i grandi cicli di addestramento perché i conteggi grezzi di FLOP raggiungono ordini di grandezza poco maneggevoli.
Cosa include e cosa esclude questa stima?
La stima conta le operazioni in virgola mobile degli strati lineari dominanti nei passaggi in avanti e all'indietro per il numero di token di addestramento indicato. Non tiene conto dell'utilizzo dell'hardware, quindi il tempo effettivo e il costo di un'esecuzione reale sono superiori a quanto implica il calcolo ideale.
Tralascia inoltre il ricalcolo delle attivazioni, l'overhead dell'ottimizzatore, la valutazione e le esecuzioni fallite o riavviate, tutti elementi che aumentano il calcolo speso in pratica.
Avvertenze legali
Questo strumento usa l'approssimazione del primo ordine 6ND per transformer densi e conta solo il calcolo ideale. Il tempo e il costo reali di addestramento dipendono dall'utilizzo dell'hardware, ben al di sotto del picco, e dall'overhead che la formula tralascia. Tratta il risultato come una stima di pianificazione, non come un conteggio esatto.