Calcolatore di tempo e costo di addestramento
Dati di input
| FLOP totali di addestramento | 5,88e23 |
|---|---|
| Utilizzo dei FLOP del modello | 40 % |
| Numero di GPU | 1.024 |
| Throughput di picco per GPU | 989 |
| Prezzo orario delle GPU | 2,5 $ |
Calcolatore di tempo e costo di addestramento
Stima la durata e il costo di un addestramento di un modello linguistico a partire dai FLOP totali, dal numero di GPU, dal throughput di picco per GPU, dall'utilizzo effettivo dei FLOP del modello e dal prezzo orario delle GPU.
Dati di input
Carico di lavoro
Cluster
Risultati
Inserisci un valore per visualizzare i risultati.
Tempo e costo di addestramento
L'addestramento di un grande modello linguistico è una quantità fissa di aritmetica distribuita su un cluster di acceleratori: la sua durata e la sua spesa sono quindi entrambe prevedibili una volta noti il lavoro e l'hardware. Questo calcolatore stima il tempo effettivo e il costo in ore-GPU di un'esecuzione a partire dai FLOP totali di addestramento, dal numero di GPU, dal throughput di picco di ciascuna, dall'utilizzo dei FLOP del modello e dal prezzo orario di noleggio.
Che cosa copre la stima
Il lavoro complessivo in virgola mobile di un addestramento è ben approssimato da una singola grandezza, spesso scritta come sei volte il numero di parametri per il numero di token di addestramento. Una volta fissato quel totale, l'unica cosa che modifica la pianificazione è la velocità con cui il cluster riesce a smaltirlo. Il tasso sostenuto di un cluster è la somma dei tassi di picco dei suoi acceleratori ridotta dalla frazione effettivamente usata, l'utilizzo dei FLOP del modello. Dividendo il lavoro per quel tasso si ottiene il tempo, e moltiplicando il tempo per il numero di GPU e per il prezzo orario si ottiene il costo.
La formula
Con un lavoro totale in FLOP, acceleratori ciascuno valutato a TFLOP/s, un utilizzo e un prezzo orario per GPU, il tempo di esecuzione e il costo totale sono
tT=n⋅P⋅1012⋅UC=3600t⋅n⋅cIl fattore converte i TFLOP/s in FLOP/s, quindi è espresso in secondi; la divisione per 3600 lo trasforma in ore-GPU prima di applicare il prezzo. Raddoppiare il numero di GPU dimezza il tempo ma lascia invariato il costo in ore-GPU, perché lo stesso lavoro totale viene semplicemente completato prima.
Esempio
Si consideri un'esecuzione da FLOP su 1.024 acceleratori valutati a 989 TFLOP/s ciascuno, con un utilizzo sostenuto del 40%, noleggiati a 2,50 per GPU all'ora:
tT=1024×989×1012×0.45.88×1023≈1.45×106 s≈16.8 giorni=36001.45×106×1024×2.50≈1032000L'esecuzione richiede all'incirca diciassette giorni e costa poco più di un milione in noleggio di GPU. Portare l'utilizzo dal 40% al 50% taglierebbe sia il tempo sia il costo di un quinto, ed è per questo che spremere di più dallo stesso hardware è l'ottimizzazione meno costosa a disposizione.
Limiti
La stima presuppone che l'esecuzione sia limitata dal calcolo e che il valore di utilizzo rappresenti già una media sull'intero lavoro. Esclude la scrittura dei checkpoint, le attese per il caricamento dei dati, i riavvii dopo i guasti hardware, i passaggi di validazione e il tempo di inattività di una prenotazione mantenuta ma non sfruttata. Anche la rete, l'archiviazione e la differenza tra prezzo spot e riservato spostano il totale reale. Il risultato va inteso come base di pianificazione, aggiungendo un margine per l'overhead. Il lavoro complessivo che alimenta questo calcolo è ricavato dal Calcolatore dei FLOP di addestramento, mentre il solo lato del noleggio della spesa è trattato dal Calcolatore del costo delle GPU cloud.
Domande frequenti (FAQ)
Come viene stimato il tempo di addestramento?
Il lavoro complessivo in virgola mobile dell'esecuzione viene diviso per il tasso che il cluster riesce a sostenere. Tale tasso è il numero di GPU per i TFLOP/s di picco di ciascuna GPU per l'utilizzo dei FLOP del modello, convertito in operazioni al secondo. Dividendo le operazioni totali per questo tasso sostenuto si ottengono i secondi effettivi, che il calcolatore riporta in giorni, ore o minuti.
La stima presuppone che l'esecuzione sia limitata dal calcolo e che il valore di utilizzo rifletta già l'efficienza media sull'intero lavoro.
Quale valore di utilizzo conviene usare?
L'utilizzo dei FLOP del modello è la quota di throughput di picco teorico che un'esecuzione raggiunge realmente. Nell'addestramento di grandi modelli su sistemi ben ottimizzati si colloca di norma tra il 35% e il 55%, con il 40% come valore di partenza ragionevole. Modelli più piccoli, sequenze brevi, comunicazione intensa o kernel non ottimizzati lo abbassano.
Poiché il tempo cresce in modo inversamente proporzionale all'utilizzo, dimezzarlo raddoppia la pianificazione prevista: un valore misurato con una breve profilazione dà una stima molto migliore di una supposizione.
Perché la spesa reale può differire da questa stima?
La stima conta solo il calcolo a regime all'utilizzo scelto. Le esecuzioni reali aggiungono la scrittura dei checkpoint, le attese per il caricamento dei dati, i riavvii dopo i guasti, i passaggi di validazione e il tempo di inattività di una prenotazione mantenuta ma non sfruttata.
Anche i prezzi spot o riservati, gli addebiti per rete e archiviazione e un utilizzo che varia nel corso dell'esecuzione spostano il totale. Conviene trattare il valore come una base di pianificazione e aggiungere un margine per l'overhead, anziché leggerlo come una fattura precisa.
Avvertenze legali
Questa stima presuppone un'esecuzione limitata dal calcolo a un utilizzo costante dei FLOP del modello ed esclude checkpoint, attese di caricamento dati, riavvii, rete e archiviazione. Il tempo e il costo reali variano con l'hardware, lo stack software e il modello di prezzo; il risultato va inteso come base di pianificazione.