Speculative decoding

Teknik til at fremskynde generering fra sprogmodeller ved at lade en hurtig draftmodel foreslå tokens, som verificeres parallelt af en større model.

Kort fortalt

Speculative decoding er en smart metode til at gøre store sprogmodeller hurtigere: man bruger en lille, hurtig model til at gætte de næste ord, og en stor model tjekker om gættene er rigtige – alt på én gang.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En inferensteknik for autoregressive sprogmodeller, hvor en letvægts draftmodel genererer et kandidatsekvens af tokens spekulativt, og en større model verificerer hele sekvensen parallelt, hvilket muliggør flere tokens pr. dekodningstrin.

    • Speculative decoding kan øge inferenshastigheden med en faktor på 2-3x uden tab af outputkvalitet, så længe draftmodellen er tilstrækkelig nøjagtig.
    • Ved at bruge en mindre version af den samme model som draftmodel opnår man ofte gode resultater med speculative decoding.

Hvornår bruges det

Speculative decoding bruges når man vil reducere latenstiden i tekstgenerering uden at ofre kvaliteten. Det er især nyttigt i produktionssystemer, hvor store modeller ellers ville være for langsomme. Metoden kræver en draftmodel, der trænes til at matche den store models output, og en acceptkriterie (typisk en rejection sampling-baseret verifikation).

Oprindelse

Udtrykket 'speculative decoding' stammer fra maskinlæringslitteraturen omkring 2022-2023, hvor teknikken blev formaliseret. 'Speculative' hentyder til, at draftmodellen spekulativt foreslår tokens, før den store model har godkendt dem.

Kilder

3
  • Fast Inference from Transformers via Speculative Decoding (Leviathan et al., 2022)
  • Accelerating Large Language Model Decoding with Speculative Decoding (Kim et al., 2023)
  • Speculative Decoding: A New Paradigm for Efficient LLM Inference (Chen et al., 2023)