Calcolatore dello speedup del decoding speculativo
Dati di input
| Tasso di accettazione | 70 % |
|---|---|
| Token di bozza per ciclo | 5 |
| Rapporto di costo della bozza | 15 % |
Calcolatore dello speedup del decoding speculativo
Stima lo speedup di decodifica del campionamento speculativo: inserisci il tasso di accettazione della bozza, i token di bozza per ciclo e il costo relativo della bozza per ottenere i token attesi accettati e lo speedup in tempo reale.
Dati di input
Modello bozza
Risultati
Inserisci un valore per visualizzare i risultati.
Dettagli
Speedup del decoding speculativo
Il decoding speculativo accelera la generazione dei modelli linguistici lasciando che un piccolo modello bozza, poco costoso, indovini diversi token in anticipo, che il grande modello target verifica poi tutti in una volta. Quando le previsioni sono corrette, il target produce diversi token al prezzo di un singolo passaggio in avanti; quando sono errate, ripiega sulla decodifica ordinaria. Questo calcolatore stima lo speedup risultante da tre numeri: con quale frequenza i token di bozza vengono accettati, quanti se ne propongono a ogni ciclo e quanto è costoso il modello bozza rispetto al target.
Come funziona
In un decoder normale il modello target viene eseguito una volta per token. Il decoding speculativo chiede invece al modello bozza di proporre token, poi esegue il target una volta per controllarli in parallelo. Il target accetta ciascun token proposto finché concorda con ciò che il target stesso avrebbe campionato, si ferma al primo disaccordo e ricampiona quella posizione dalla propria distribuzione. Poiché i token respinti vengono corretti dal target, l'uscita è statisticamente identica a quella della decodifica semplice — il metodo scambia calcolo aggiuntivo della bozza con un minor numero di costosi passaggi del target senza cambiare ciò che il modello dice.
La formula
Se ogni token viene accettato in modo indipendente con probabilità , il numero atteso di token prodotti per passaggio del target è
τ=1−α1−αγ+1Questo sarebbe lo speedup se il modello bozza fosse gratuito. Addebitando a ogni passaggio della bozza una frazione di un passaggio del target, lo speedup in tempo reale rispetto alla decodifica ordinaria diventa
S=(γc+1)(1−α)1−αγ+1Il numeratore premia l'accettazione e le proposte più lunghe; il denominatore penalizza il lavoro di bozza che quelle proposte costano.
Esempio svolto
Si supponga che il modello bozza venga accettato il 70% delle volte, proponga 5 token per ciclo e che ogni passaggio della bozza costi il 15% di un passaggio del target:
τS=1−0,71−0,76=0,30,8824≈2,94=(5×0,15+1)(0,3)0,8824=0,5250,8824≈1,68Ogni passaggio del target produce in media quasi tre token, ma dopo aver pagato cinque passaggi di bozza lo speedup realizzato è di circa 1,7×. Portare l'accettazione al 90% lo spingerebbe ben oltre 2×, mentre un modello bozza più pesante — diciamo al 40% del costo del target — ne riassorbirebbe gran parte del guadagno.
Scegliere la configurazione
Dominano due leve. Il tasso di accettazione sale quando il modello bozza è strettamente allineato con il target, perciò le bozze sono di solito modelli più piccoli della stessa famiglia o distillazioni del target. La lunghezza della bozza ha un punto ottimale: poiché l'accettazione si compone, la probabilità che un'intera sequenza sopravviva cala geometricamente, perciò oltre una manciata di token il costo aggiuntivo della bozza supera le rare lunghe accettazioni. Variare qui il conteggio dei token di bozza mostra dove lo speedup raggiunge il massimo per un dato tasso di accettazione. Per vedere come la velocità per token migliorata si traduca nel tempo di risposta complessivo, si veda il Calcolatore della latenza di inferenza.
Domande frequenti (FAQ)
Che cos'è il tasso di accettazione?
Dopo che il modello bozza propone una sequenza di token, il modello target li controlla e accetta ciascuno finché corrisponde a ciò che il target avrebbe campionato. Il tasso di accettazione è la probabilità per token di tale corrispondenza.
Sale quando il modello bozza è ben allineato con il target — per esempio una versione più piccola della stessa famiglia o un modello addestrato a imitarlo — e cala su testo difficile o fuori distribuzione.
Aspetto cruciale: il decoding speculativo è esatto, dato che i token respinti vengono ricampionati dal target, perciò la distribuzione dell'uscita è identica a quella della decodifica ordinaria.
Perché il costo del modello bozza riduce lo speedup?
Ogni ciclo esegue il modello bozza diverse volte per proporre token e il modello target una volta per verificarli. Se il modello bozza fosse gratuito, lo speedup eguaglierebbe i token attesi accettati per passaggio del target. In realtà ogni passaggio della bozza richiede tempo, perciò il denominatore aggiunge i token di bozza moltiplicati per il loro costo relativo.
Un modello bozza troppo grande erode il proprio beneficio, ed è per questo che le bozze efficaci sono molto più piccole del target.
Quanti token di bozza si dovrebbero proporre per ciclo?
Esiste un punto ottimale. Proporre più token alza il caso migliore, ma poiché l'accettazione si compone, la probabilità che l'intera sequenza sopravviva cala geometricamente — una volta respinto un token, ogni proposta successiva di quel ciclo viene scartata.
Oltre una manciata di token il costo aggiuntivo della bozza supera le rare lunghe accettazioni. L'ottimo dipende dal tasso di accettazione e dal costo della bozza; provare qui alcuni valori mostra dove lo speedup raggiunge il massimo.
Avvertenze legali
Questo è un modello semplificato che presuppone un tasso di accettazione per token costante e un costo relativo della bozza fisso. L'accettazione reale varia con il testo e la temperatura di campionamento, e la verifica aggiunge un sovraccarico qui non considerato, perciò gli speedup misurati differiscono. Usare la cifra per confrontare configurazioni anziché come previsione esatta.
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 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.