Expert • Les 19

Speculative decoding en inferentieversnelling

LLM-inferentie is traag omdat tokens sequentieel worden gegenereerd. Speculative decoding is een techniek die de throughput significant verhoogt door de autoregressive generatie slim te paralleliseren, zonder de output-distributie te veranderen.

Het principe

Speculative decoding gebruikt twee modellen: een klein, snel draft-model en het grote target-model. Het draft-model genereert snel een reeks draft-tokens. Het target-model verifieert vervolgens alle draft-tokens in parallel in één forward pass. Tokens die kloppen worden geaccepteerd; het eerste afwijkende token wordt gecorrigeerd en de rest weggegooid. Gemiddeld worden meerdere tokens per forward pass van het target-model gegenereerd.

Snelheidswinst

De winst hangt af van de acceptatiegraadratio. Als het draft-model 4 tokens genereert en gemiddeld 3 worden geaccepteerd, is de effectieve snelheidswinst 3x ten opzichte van serieel decoderen met het grote model. De output-distributie is mathematisch identiek aan die van het grote model alleen (geen kwaliteitsverlies). Gemini gebruikt speculative decoding in productie.

Self-speculative decoding

In sommige architecturen is geen apart draft-model nodig. Early exit-methoden laten de eerste k lagen van het grote model als draft-model fungeren. Medusa voegt meerdere hoofd-projecties toe aan het grote model die parallel meerdere toekomstige tokens voorspellen. Dit vermijdt de overhead van een apart draft-model laden.

Continuous batching en PagedAttention

Speculative decoding combineert goed met continuous batching (vLLM): verzoeken worden dynamisch ingepland op beschikbare compute zonder te wachten tot de volledige batch klaar is. PagedAttention, geïmplementeerd in vLLM, beheert KV-cache als pagineerde virtuele geheugenblokken, waardoor fragmentatie wordt geminimaliseerd en throughput maximaliseert.