Calcolatore dei token al secondo effettivi
Dati di input
| Token al secondo di picco per acceleratore | 2.500 |
|---|---|
| Acceleratori | 8 |
| Utilizzo | 70 % |
Calcolatore dei token al secondo effettivi
Stima il throughput sostenuto di token di una flotta di inferenza a partire dalla velocità di picco per acceleratore, dal numero di acceleratori e dall'utilizzo — la capacità realistica, non il picco a singolo flusso.
Dati di input
Flotta
Risultati
Inserisci un valore per visualizzare i risultati.
Dettagli
Token al secondo effettivi
Il ritmo di picco di token di un singolo acceleratore è un numero da benchmark catturato nel suo momento migliore. Il throughput che un intero deployment sostiene davvero nel corso di una giornata è un'altra cosa: il traffico fluttua, gli acceleratori restano in parte inattivi e una parte della capacità è trattenuta per i picchi. Questo calcolatore stima quel ritmo sostenuto, a livello di flotta, a partire dal picco per acceleratore, dal numero di acceleratori e da un fattore di utilizzo — la cifra su cui si dovrebbe pianificare la capacità.
Picco contro throughput sostenuto
È facile sovrastimare la capacità sommando i numeri di picco. Il picco presuppone che ogni acceleratore sia saturo di batch pieni in ogni istante, cosa che non vale mai su una flotta reale nel tempo reale. La domanda è irregolare, il bilanciamento del carico è imperfetto e gli operatori tengono deliberatamente un margine per assorbire le impennate. Il fattore di utilizzo ripiega tutto questo in un unico moltiplicatore, trasformando un tetto ottimistico in un numero che si può promettere a un carico di lavoro.
La formula
veffTd=vg⋅G⋅u=veff⋅86400dove è il picco per acceleratore in token al secondo, è il numero di acceleratori, è la frazione di utilizzo, è il throughput sostenuto e sono i token serviti al giorno (un giorno ha 86.400 secondi). Il throughput cresce quasi linearmente con il numero di acceleratori quando ciascuno gestisce una quota indipendente di traffico.
Esempio svolto
Si prenda una flotta di 8 acceleratori, ciascuno con benchmark a 2.500 token al secondo in pieno batching, che gira al 70% di utilizzo:
veffTd=2500×8×0,7=14000 token/s=14000×86400≈1,21×109 token/giornoLa flotta sostiene 14.000 token al secondo e può servire circa 1,2 miliardi di token al giorno. Si noti quanto ciò si collochi al di sotto del picco ingenuo di 20.000 token al secondo — il 30% della capacità perso per un utilizzo imperfetto è esattamente il margine che migliori batching e pianificazione potrebbero recuperare.
Usarlo per la pianificazione
Confrontare la cifra dei token al giorno con la domanda attesa: dividere la domanda per questa capacità per trovare quante flotte di questa dimensione servono, poi aggiungere un margine per i picchi sopra la media. Poiché l'uscita sale sia con il numero di acceleratori sia con l'utilizzo, un obiettivo si può raggiungere acquistando più hardware oppure alzando l'utilizzo — quest'ultima è di solito la leva più conveniente. Il picco per acceleratore stesso proviene da un benchmark in batch, approfondito nel Calcolatore del throughput di inferenza in batch, e la conseguenza in termini di costo di girare al di sotto del pieno utilizzo è trattata nel Calcolatore del costo di utilizzo della GPU.
Domande frequenti (FAQ)
In che cosa differisce dal throughput di picco?
Il throughput di picco è ciò che un singolo acceleratore raggiunge in un momento in cui è in pieno batching e saturo. Il throughput effettivo è ciò che un'intera flotta sostiene nel tempo una volta che il mondo reale interviene: il traffico arriva in modo irregolare, alcuni acceleratori restano in parte inattivi, i batch non sono sempre pieni e una parte della capacità è tenuta di riserva per i picchi.
Moltiplicare il picco per acceleratore per il numero di acceleratori dà un tetto teorico; moltiplicare per l'utilizzo lo riporta a un numero che si può davvero promettere. La pianificazione della capacità dovrebbe usare la cifra effettiva, non il picco.
Da dove viene il picco per acceleratore?
Si misura al meglio facendo il benchmark dello specifico modello sullo specifico hardware alla dimensione di batch che si intende usare, perché dipende dalla dimensione del modello, dalla precisione, dalla lunghezza della sequenza e dallo stack di servizio.
Come verifica di sanità, un tetto basato sulla larghezza di banda della memoria dà un limite superiore per la decodifica a singolo flusso, e il servizio in batch lo moltiplica per il numero di richieste concorrenti. Usare una cifra da benchmark quando se ne dispone e il tetto solo come limite ottimistico.
Come si usa questo per la pianificazione della capacità?
Confrontare il throughput effettivo, o la cifra dei token al giorno, con la domanda attesa. Se un carico di lavoro richiede un certo numero di token al giorno, dividerlo per la capacità giornaliera per trovare quante flotte di questa dimensione servono, poi aggiungere un margine per i picchi sopra la media.
Poiché l'uscita cresce sia con il numero di acceleratori sia con l'utilizzo, si può raggiungere un obiettivo aggiungendo hardware oppure alzando l'utilizzo tramite migliori batching e pianificazione — quest'ultima leva è di solito più conveniente.
Avvertenze legali
Questo presuppone che il throughput cresca linearmente con il numero di acceleratori e che un singolo fattore di utilizzo catturi tutte le perdite del mondo reale. Rete, bilanciamento del carico, lunghezze di sequenza irregolari e latenza di coda possono abbassare ulteriormente l'uscita sostenuta. Eseguire benchmark sull'hardware di destinazione e mantenere un margine sopra la domanda media.