Speculatief decoderen: hoe AI-taalmodellen sneller antwoorden
Stel je een drukke advocaat voor die elke brief zelf woord voor woord moet dicteren, terwijl een stagiair meekijkt. Dat gaat langzaam: elk woord kost tijd om te bedenken, uit te spreken en op te schrijven. Nu draaien we de rollen om: de stagiair schrijft in één ruk een hele alinea, gebaseerd op wat hij van de advocaat heeft geleerd. De advocaat leest die alinea in één oogopslag door, keurt de woorden goed die kloppen en verbetert alleen het punt waar de stagiair de plank misslaat. Klaar, en vaak sneller dan zelf dicteren. Dat is in essentie speculatief decoderen (speculative decoding): een techniek waarmee grote taalmodellen, de systemen achter chatbots zoals ChatGPT en Claude, tekst sneller genereren zonder dat de kwaliteit van het antwoord verandert.
De term komt uit de wereld van AI-inferentie, oftewel het moment waarop een taalmodel daadwerkelijk een antwoord produceert nadat het is getraind. Grote taalmodellen genereren normaal gesproken tekst woordje voor woordje, en elke stap is relatief traag omdat het model telkens opnieuw miljarden rekenparameters moet raadplegen. Speculatief decoderen zet een klein, snel hulpmodel in om vooruit te gieten met een gok, waarna het grote, betrouwbare model die gok in één keer controleert. Het resultaat: dezelfde tekst, maar merkbaar sneller op het scherm.
Wat is het precies?
Om te begrijpen waarom dit werkt, moet je eerst weten hoe taalmodellen normaal tekst maken. Een model als GPT-4 of Claude genereert output autoregressief: het voorspelt één token (ruwweg een woord of een woorddeel) tegelijk, plakt dat token achter de tekst tot dusver, en herhaalt dat proces. Voor elk token moet het model zijn volledige netwerk van rekenparameters doorlopen, wat traag is, vooral omdat het proces vaak wordt afgeremd door de snelheid waarmee gegevens tussen geheugen en rekenchip heen en weer kunnen reizen (het model is dan "geheugenbandbreedte-gebonden", niet "rekengebonden").
Speculatief decoderen introduceert een tweede, veel kleiner model: het draft-model of concept-model. Dit model is aanzienlijk sneller omdat het simpeler is, en het genereert alvast een reeks van bijvoorbeeld vier of vijf tokens achter elkaar. Vervolgens laat je het grote, oorspronkelijke model (het target-model) al die voorgestelde tokens in één enkele rekenstap controleren, in plaats van er stuk voor stuk aan te werken. Omdat het controleren van meerdere tokens tegelijk bijna even snel gaat als het controleren van één token, dankzij diezelfde geheugenbandbreedte-beperking, levert dit een grote tijdsbesparing op.
Bij de controle accepteert het grote model elk voorgesteld token dat overeenkomt met wat het zelf zou hebben gekozen, en verwerpt het de tokens vanaf het eerste punt waarop de gok van het kleine model afwijkt. Dat verwerpen gebeurt niet willekeurig: er wordt een wiskundige methode gebruikt, een vorm van verwerpingsbemonstering (rejection sampling), die ervoor zorgt dat de uiteindelijke tekst statistisch gezien exact hetzelfde is als wanneer het grote model alles zelf, token voor token, had gegenereerd. Dat is de crux van de techniek: het is geen benadering of compromis in kwaliteit, maar een snellere weg naar precies dezelfde bestemming.
Wat wil men ermee bereiken?
Het belangrijkste doel is latentie verlagen: de tijd die een gebruiker moet wachten tussen het stellen van een vraag en het verschijnen van het antwoord. Voor chatbots, digitale assistenten en AI-agents die in real time moeten reageren, telt elke honderdste seconde. Trage antwoorden voelen log en ondermijnen het gevoel van een vloeiend gesprek.
Daarnaast spelen kosten een grote rol. Het draaien van grote taalmodellen op serverparken kost veel elektriciteit en dure rekenchips (meestal gpu's). Als je met dezelfde hardware meer tekst per seconde kunt produceren, daalt de kostprijs per gegenereerd woord. Voor bedrijven die AI-diensten op grote schaal aanbieden, is dat een directe besparing.
Belangrijk is dat speculatief decoderen niet per se het totale rekenwerk vermindert, en soms zelfs iets méér rekenwerk kost omdat het kleine model ook moet draaien en er af en toe voorstellen worden weggegooid. De winst zit in het beter benutten van hardware die toch al onderbenut was: gpu's hebben vaak rekencapaciteit over tijdens het genereren van tekst, simpelweg omdat ze op gegevens uit het geheugen moeten wachten. Speculatief decoderen vult die wachttijd op met nuttig werk.
Voorbeelden uit de praktijk
De techniek is geen nieuw idee dat nog op de tekentafel ligt; ze wordt inmiddels toegepast in verschillende onderzoeksprojecten en productiesystemen.
Google Research publiceerde in 2023 het paper "Fast Inference from Transformers via Speculative Decoding", van onder meer Yaniv Leviathan en collega's, dat de methode in de huidige vorm populair maakte en wiskundig onderbouwde. Rond dezelfde tijd verscheen bij DeepMind een vergelijkbaar paper over "speculative sampling", met een vergelijkbare aanpak maar net iets andere formulering. Beide papers worden gezien als de basis van het huidige onderzoeksveld.
Medusa, gepresenteerd in 2024 door onderzoekers verbonden aan onder meer Princeton University en het AI-bedrijf Together AI, koos een net iets andere weg: in plaats van een volledig apart, klein model te trainen, voegt Medusa extra "voorspelkoppen" toe aan het bestaande grote model zelf. Die koppen doen tegelijk gokjes voor meerdere toekomstige tokens, wat het geheugenbeslag lager houdt dan bij een los draft-model.
EAGLE is een latere methode (2024) die nog een stap verder gaat door niet op tokenniveau maar op het niveau van interne modelkenmerken (features) te voorspellen, wat volgens de onderzoekers een hogere trefzekerheid van de gok oplevert en dus meer snelheidswinst.
Op softwareniveau heeft vLLM, een populaire open-source inferentie-engine die is ontstaan aan de University of California, Berkeley, speculatief decoderen ingebouwd, inclusief een eenvoudige variant genaamd "prompt lookup decoding": in plaats van een apart AI-model te gebruiken, zoekt deze variant naar tekstfragmenten die al eerder in het gesprek of document voorkwamen. Dat werkt verrassend goed bij taken met veel herhaling, zoals het bewerken van code of het samenvatten van een document dat je al hebt aangeleverd. Ook llama.cpp, een veelgebruikte lichte inferentie-software voor lokaal draaiende modellen, en NVIDIA's TensorRT-LLM, bedoeld voor productie-omgevingen op NVIDIA-hardware, bieden ondersteuning voor speculatief decoderen.
Hoe ver is de techniek?
Speculatief decoderen is geen experimenteel curiosum meer, maar wordt actief gebruikt in productie-inferentiesoftware. Grote aanbieders van AI-diensten passen varianten van de techniek toe om hun chatbots responsiever te maken, al maken de meeste bedrijven niet in detail bekend welke optimalisaties precies achter hun commerciële producten schuilgaan.
De gerapporteerde snelheidswinst varieert sterk: onderzoekspapers noemen doorgaans versnellingen van ongeveer twee tot drie keer voor algemene tekstgeneratie, en soms nog meer bij taken met veel voorspelbare herhaling, zoals programmeercode genereren of tekst herschrijven. Hoeveel winst je daadwerkelijk boekt, hangt sterk af van de "acceptatiegraad": hoe vaak het kleine draft-model correct raadt wat het grote model zou hebben gekozen. Bij onvoorspelbare, creatieve tekst is die acceptatiegraad lager en valt de winst tegen.
Er zijn ook praktische obstakels. Je hebt een goed draft-model nodig dat qua schrijfstijl voldoende lijkt op het grote model, anders worden te veel voorstellen afgekeurd en levert de truc juist vertraging op. Het draaien van twee modellen tegelijk vraagt ook meer geheugen op de gpu, wat in de praktijk kan botsen met de wens om zoveel mogelijk gebruikers tegelijk te bedienen. Bovendien neemt het voordeel af bij servers die al veel verzoeken tegelijk (in "batches") verwerken: dan is de hardware vaak al rekengebonden in plaats van geheugengebonden, waardoor er minder "gratis" rekencapaciteit overblijft om te benutten. Onderzoek naar opvolgers zoals EAGLE-2 en verdere varianten van Medusa loopt door, wat erop wijst dat het veld nog volop in ontwikkeling is, zij het als incrementele verbetering van een al werkende techniek, niet als doorbraaktechnologie die alles verandert.
Wie werken eraan?
Het onderzoek naar speculatief decoderen is grotendeels afkomstig uit grote techbedrijven met eigen AI-onderzoeksafdelingen, aangevuld met academische groepen. Google en Google DeepMind behoren tot de vroege publicisten op dit gebied. Meta en NVIDIA hebben de techniek verwerkt in hun eigen inferentiesoftware en onderzoekspublicaties. Het bedrijf Together AI, gespecialiseerd in efficiënte AI-inferentie, heeft samen met academische partners bijgedragen aan methodes als Medusa.
Op academisch vlak zijn onderzoeksgroepen aan onder meer Princeton University en de University of California, Berkeley (waar ook het open-source project vLLM vandaan komt) actief betrokken, evenals verschillende Chinese universiteiten en onderzoekslabs die publiceren over methodes als EAGLE. Verder is er een levendige open-source gemeenschap rond projecten als llama.cpp en vLLM die nieuwe implementaties en optimalisaties van speculatief decoderen blijft toevoegen. Kortom: het is geen technologie van één land of bedrijf, maar een gedeeld optimalisatieprobleem waar de hele AI-infrastructuursector aan werkt, met de Verenigde Staten en China als de twee meest zichtbare onderzoekscentra.
Verder lezen
- arXiv – preprintserver waar de meeste onderzoekspapers over speculatief decoderen verschijnen
- Google DeepMind – onderzoeksafdeling achter een van de invloedrijke papers over speculative sampling
- vLLM – open-source inferentie-engine met ingebouwde ondersteuning voor speculatief decoderen
- NVIDIA – ontwikkelaar van TensorRT-LLM, met speculative decoding-functionaliteit voor productieomgevingen
- Meta AI – onderzoeksafdeling die publiceert over efficiënte inferentie van grote taalmodellen