Calcolatore del throughput di inferenza
Dati di input
| Parametri | 70 |
|---|---|
| Precisione dei pesi | 16 bit (2 byte) |
| Larghezza di banda della memoria | 3.350 |
Calcolatore del throughput di inferenza
Stima il limite imposto dalla larghezza di banda della memoria alla velocità di decodifica di un LLM a partire dalla dimensione del modello, dalla precisione dei pesi e dalla larghezza di banda della memoria dell'acceleratore — il tetto in token al secondo per un singolo flusso.
Dati di input
Modello
Hardware
Risultati
Inserisci un valore per visualizzare i risultati.
Dettagli
Throughput di inferenza
Il throughput di inferenza è il numero di token che un modello linguistico può generare al secondo. Per una singola richiesta, il tetto è fissato non dalla potenza aritmetica grezza dell'acceleratore, ma dalla rapidità con cui esso può leggere i pesi del modello dalla memoria. Questo calcolatore traduce la dimensione del modello, la precisione dei pesi e la larghezza di banda della memoria dell'hardware in quel tetto — il limite in token al secondo per un singolo flusso di decodifica.
Perché la decodifica è limitata dalla memoria
Generare testo in modo autoregressivo significa produrre un token e poi reimmetterlo per produrre il successivo. Ciascuno di quei passi deve leggere ogni peso del modello per calcolare un solo nuovo token. Con una dimensione di batch pari a uno, l'acceleratore esegue pochissima aritmetica per ogni byte che carica, perciò passa quasi tutto il tempo a spostare pesi anziché a moltiplicare. Il ritmo dei token è quindi governato dalla larghezza di banda della memoria. (Il prefill del prompt è l'opposto: elabora tutti i token del prompt insieme ed è limitato dal calcolo.)
La formula
Prima si trova quanta memoria occupano i pesi, poi si divide la larghezza di banda disponibile per essa:
Mv=N×b=MBWQui è il conteggio dei parametri in miliardi, è il numero di byte memorizzati per parametro, è la dimensione del modello in gigabyte, è la larghezza di banda della memoria in gigabyte al secondo e è il limite di throughput in token al secondo. Poiché un miliardo di byte è circa un gigabyte, inserire i parametri in miliardi fa cadere la dimensione direttamente in gigabyte. La precisione dei pesi è di 2 byte per pesi a 16 bit, 1 byte per 8 bit e mezzo byte per 4 bit.
Esempio svolto
Si prenda un modello da 70 miliardi di parametri in precisione a 16 bit servito su un acceleratore con 3.350 GB/s di larghezza di banda della memoria:
Mv=70×2=140 GB=1403350≈23,9 token/sUn singolo flusso raggiunge dunque circa 24 token al secondo. Quantizzare lo stesso modello a 4 bit lo riduce a 35 GB e alza il tetto a circa 96 token al secondo — un guadagno di quattro volte che rispecchia la riduzione di quattro volte dei byte letti per token.
Leggere il risultato
La cifra è un limite superiore, non una promessa. Conteggia solo il traffico di scorrimento dei pesi; la cache chiave-valore, il calcolo dell'attenzione e il sovraccarico dei kernel la erodono tutti, perciò un singolo flusso reale raggiunge di solito fra la metà e tre quarti del tetto. Servire molte richieste in un batch legge i pesi una sola volta per l'intero gruppo, spingendo il throughput aggregato ben oltre il numero a singolo flusso — si veda il Calcolatore del throughput di inferenza in batch. Per tradurre un ritmo di token in un'attesa percepita dall'utente, lo si abbini al Calcolatore della latenza di inferenza, e per valutare quanto bene viene sfruttato il calcolo dell'hardware si veda l'Calcolatore dell'utilizzo dei FLOPs del modello.
Domande frequenti (FAQ)
Perché la decodifica è limitata dalla larghezza di banda della memoria anziché dal calcolo?
Durante la decodifica autoregressiva il modello genera un token alla volta, e ogni passo deve leggere ogni peso dalla memoria per calcolare il token successivo. Con una dimensione di batch pari a uno c'è pochissima aritmetica per ogni byte caricato, perciò l'acceleratore passa la maggior parte del tempo a spostare pesi anziché a moltiplicare.
Il ritmo dei token è quindi fissato dalla velocità con cui la memoria può essere letta, non dal throughput di picco in virgola mobile. Il prefill, che elabora l'intero prompt in una volta, è l'opposto: è limitato dal calcolo.
Un server raggiungerà davvero questo numero?
No. La cifra è un limite superiore pulito che presuppone che l'unico traffico di memoria siano i pesi. In pratica la cache chiave-valore, il calcolo dell'attenzione, il sovraccarico di avvio dei kernel e un utilizzo imperfetto della memoria sottraggono tutti capacità, perciò un singolo flusso raggiunge tipicamente fra la metà e tre quarti del tetto.
Raggruppare molte richieste in batch alza il throughput aggregato ben oltre il limite a singolo flusso perché i pesi vengono letti una sola volta per l'intero batch.
Quanto aumenta il throughput la quantizzazione?
Il throughput è inversamente proporzionale alla dimensione del modello, perciò dimezzare i byte per parametro raddoppia all'incirca il limite. Passare da pesi a 16 bit a 8 bit dimezza i byte letti per token, e i 4 bit li dimezzano di nuovo. La quantizzazione può ridurre la qualità dell'uscita, perciò il guadagno di velocità va valutato a fronte di un eventuale calo di accuratezza per il compito specifico.
Avvertenze legali
Questo è un tetto di primo ordine che conteggia solo il traffico di memoria dei pesi e presuppone una decodifica a singolo flusso. Il throughput effettivo dipende dallo stack di servizio, dalla dimensione del batch, dalla lunghezza della sequenza e dalla cache chiave-valore, ed è di solito una frazione del limite. Eseguire benchmark sull'hardware di destinazione prima di impegnarsi in un piano di capacità.
Da provare dopo
Calcolatore della latenza di inferenza
Stima il tempo di risposta complessivo di un completamento LLM in streaming a partire dal tempo al primo token, dal tempo per token in uscita e dal numero di token generati.
Calcolatore dell'utilizzo dei FLOPs del modello
Calcola l'utilizzo dei FLOPs del modello (MFU): la quota del throughput in virgola mobile di picco di un acceleratore che un'esecuzione del modello raggiunge davvero, a partire dal conteggio dei parametri, dal throughput dei token e dai TFLOP/s di picco.