Cosa significano i token al secondo nella velocità effettiva con provisioning?
Questo articolo descrive come e perché Databricks misura i token al secondo per i carichi di lavoro con provisioning della velocità effettiva per le API del modello foundation.
Le prestazioni per i modelli di linguaggio di grandi dimensioni vengono spesso misurate in termini di token al secondo. Quando si configura il modello di produzione che gestisce gli endpoint, è importante considerare il numero di richieste inviate dall'applicazione all'endpoint. In questo modo è possibile comprendere se l'endpoint deve essere configurato per la scalabilità in modo da non influire sulla latenza.
Quando si configurano gli intervalli di scalabilità orizzontale per gli endpoint distribuiti con velocità effettiva con provisioning, Databricks ha rilevato che è più semplice ragionare sugli input che entrano nel sistema usando i token.
Che cosa sono i token?
Llms legge e generate testo in termini di ciò che viene chiamato token . I token possono essere parole o parole secondarie e le regole esatte per la suddivisione del testo in token variano da modello a modello. Ad esempio, è possibile usare gli strumenti online per vedere come il tokenizer di Llama converte le parole in token.
Perché misurare le prestazioni LLM in termini di token al secondo?
Tradizionalmente, la gestione degli endpoint viene configurata in base al numero di richieste simultanee al secondo (RPS). Tuttavia, una richiesta di inferenza LLM richiede una quantità di tempo diversa in base al numero di token passati e al numero generato, che può essere sbilanciato tra le richieste. Pertanto, decidere quanto scalare l'endpoint richiede effettivamente la misurazione della scalabilità degli endpoint in termini di contenuto della richiesta: token.
Casi d'uso diversi presentano rapporti di input e token di output diversi:
- Lunghezze variabili dei contesti di input: mentre alcune richieste potrebbero includere solo alcuni token di input, ad esempio una breve domanda, altre possono includere centinaia o persino migliaia di token, ad esempio un lungo documento per il riepilogo. Questa variabilità rende difficile la configurazione di un endpoint di gestione basato solo su RPS, perché non tiene conto delle diverse richieste di elaborazione delle diverse richieste.
- Lunghezza variabile dell'output a seconda del caso d'uso: casi d'uso diversi per i moduli APM possono portare a lunghezze di token di output molto diverse. La generazione di token di output è la parte più intensivo del tempo di inferenza LLM, quindi ciò può influire notevolmente sulla velocità effettiva. Ad esempio, il riepilogo implica risposte più brevi, pithier, ma la generazione di testo, come la scrittura di articoli o descrizioni di prodotti, può generate risposte molto più lunghe.
Come si select l'intervallo di token al secondo per l'endpoint?
La velocità effettiva con provisioning degli endpoint viene configurata in termini di un intervallo di token al secondo che è possibile inviare all'endpoint. L'endpoint aumenta e riduce le prestazioni per gestire il carico dell'applicazione di produzione. I costi vengono addebitati all'ora in base all'intervallo di token al secondo a cui viene ridimensionato l'endpoint.
Il modo migliore per conoscere i token al secondo nell'endpoint di gestione della velocità effettiva con provisioning funziona per il caso d'uso consiste nell'eseguire un test di carico con un set di dati rappresentativo. Vedere Eseguire il benchmarking dell'endpoint LLM personalizzato.
Esistono due fattori importanti da considerare:
Come Databricks misura le prestazioni dei token al secondo di LLM
Gli endpoint dei benchmark di Databricks rispetto a un carico di lavoro che rappresentano le attività di riepilogo comuni per i casi d'uso di generazione ottimizzati per il recupero. In particolare, il carico di lavoro è costituito da:
- 2048 token di input
- 256 token di output
Gli intervalli di token visualizzati combinano la velocità effettiva dei token di input e di output e, per impostazione predefinita, optimize per bilanciare la velocità effettiva e la latenza.
Benchmark di Databricks che gli utenti possono inviare contemporaneamente molti token al secondo all'endpoint con dimensioni batch pari a 1 per richiesta. In questo modo si simulano più richieste che colpiscono l'endpoint contemporaneamente, che rappresentano in modo più accurato il modo in cui si userebbe effettivamente l'endpoint nell'ambiente di produzione.
Funzionamento della scalabilità automatica
Model Serving offre un sistema di scalabilità automatica rapida che ridimensiona il calcolo sottostante per soddisfare le richieste di token al secondo dell'applicazione. Databricks aumenta la velocità effettiva con provisioning in blocchi di token al secondo, quindi vengono addebitati costi per unità aggiuntive di velocità effettiva con provisioning solo quando vengono usati.