Spekulativ avkodning snabbar upp en AI-server hemma genom att låta en snabb utkastsmekanism föreslå flera token som målmodellen verifierar tillsammans.
Vanlig autoregressiv generering låter den fullständiga modellen producera en token, lägga till den och köra igen innan nästa token kan fastställas. Det seriella beroendet lämnar begränsat utrymme för parallellt arbete under avkodningen, även på en kraftfull accelerator. Spekulativ avkodning använder billigare beräkningar för kandidat-token och låter sedan målmodellen kontrollera flera positioner i en enda körning. Vinsten beror på hur snabbt utkastet genereras, hur många kandidater som accepteras och om extra minnes- eller verifieringskostnader ryms inom den lokala hårdvarans kapacitet.
Standardavkodning avancerar ett steg i målmodellen åt gången
En autoregressiv modell baserar varje ny token på prompten och alla tidigare accepterade token. Nästa steg kan inte fastställas förrän den aktuella token har samplats.
Det ursprungliga arbetet om spekulativ avkodning beskriver seriella körningar av målmodellen som den fördröjningsflaskhals man försöker minska.
Batchning hjälper flera förfrågningar att dela på en iteration, men en enskild sekvens får normalt fortfarande bara en accepterad token från varje körning av målmodellen.
En snabbare utkastsmekanism förutsäger flera framtida token
Utkastskomponenten kan vara en mindre modell, en reducerad version av målmodellen, ett extra prediktionshuvud eller någon annan mekanism som är billigare än att köra hela modellen upprepade gånger.
Spekulativ avkodning utför kandidatutkast så att flera sannolika fortsättningar finns tillgängliga innan målmodellen utvärderar dem.
Utkastet ersätter inte målmodellens auktoritet. Syftet är att billigt gissa enkla framtida token och skapa ett block som målmodellen kan granska parallellt.
En utkastmodell som är för stor kan förutsäga väl, men ändå förbruka större delen av den fördröjning och det minne som optimeringen skulle spara.
Målmodellen verifierar kandidater i en enda parallell körning
Målmodellen utvärderar den utkastade sekvensen och avgör vilka föreslagna token som är förenliga med dess egen sannolikhetsfördelning. Accepterade token för sekvensen framåt tillsammans, medan den första avvisade positionen korrigeras genom den exakta samplingsproceduren.
Algoritmen använder parallell verifiering och avvisningssampling så att exakt spekulativ avkodning bevarar målmodellens utdatasfördelning.
Denna skillnad är viktig för kvalitetsanspråk. Korrekt verifiering är förlustfri i förhållande till den valda avkodningsfördelningen hos målmodellen, medan heuristiska metoder med framåtblickning kan göra andra avvägningar.
Acceptanslängden avgör hur många seriella steg som försvinner
Om målmodellen accepterar de flesta utkastade token ersätter en verifieringskörning flera vanliga avkodningskörningar. Om den upprepade gånger avvisar den första kandidaten utför servern utkastningsarbete utan att avancera särskilt mycket snabbare.
En omfattande experimentell studie visade att spekulativ prestanda i hög grad beror på utkastseffektivitet, inte bara på valet av den mest kapabla mindre språkmodellen.
Acceptansen varierar beroende på promptens område, sampl temperatur, kompatibilitet mellan tokeniserare, målmodell, utkastslängd och hur nära utkastet förutsäger målmodellens fördelning för nästa token.
Längre utkastblock ger möjlighet till större framsteg, men mer arbete går till spillo efter en tidig avvikelse. Den optimala djupnivån är därför specifik för arbetsbelastningen.
Utkastens omkostnader och minnesbehov kan radera hastighetsvinsten hemma
En AI-server hemma måste köra utkastsmekanismen, behålla dess tillstånd och utföra verifiering samtidigt som målmodellen och KV-cachen redan upptar minne. En andra modell kan tvinga fram avlastning till CPU:n eller minska det tillgängliga kontextfönstret.
Hårdvarustudier identifierar utkastmodellens fördröjning som en viktig begränsning för hastighetsvinsten. En svag CPU som genererar utkast åt en snabb målmodell på GPU, eller ett utkast som konkurrerar om samma minnesbandbredd, kan ge liten vinst.
Självspekulativa metoder undviker en separat fullständig utkastmodell genom att återanvända delar av målmodellen, men inför egna begränsningar för körning och kompatibilitet.
Ledigt minne är lika viktigt som beräkningskapacitet. Optimeringen är inte användbar om utkastet orsakar att modeller kastas ur minnet, minskar kontextgränsen eller gör andra appar på hemservern instabila.
Mät fördröjningen från början till slut, inte bara antalet accepterade token
Jämför vanlig och spekulativ avkodning med samma målmodell, promptuppsättning, samplingsparametrar, utdatalängder och villkor för uppvärmt tillstånd. Registrera tid till första token, antal utdatatoken per sekund, acceptanslängd, utkaststid, verifieringstid och maximalt minnesutnyttjande.
ZimaSpaces analys av modellnärvaro är relevant eftersom ett tillagt utkast kan förändra vilket modelltillstånd som förblir uppvärmt. En avkodningsoptimering bör inte tillskrivas en test som jämför olika villkor för kallstart.
Spekulativ avkodning brukar hjälpa mest när målmodellen är långsam, utkastet är mycket billigare, acceptansen är hög och acceleratorn kan verifiera flera kandidater effektivt.
Den hjälper mindre när utdata är kort, målmodellen redan avkodar snabbt, utkastet ofta inte stämmer eller lokalt minne och bandbredd är de verkliga flaskhalsarna.
Vanliga frågor
Använder spekulativ avkodning en modell av lägre kvalitet för det slutliga svaret?
Utkastet föreslår kandidater, men exakt verifiering gör att målmodellen fortfarande ansvarar för fördelningen hos den accepterade utdatan.
Förbättrar spekulativ avkodning promptbearbetningen?
Det huvudsakliga målet är autoregressiv generering av utdata. Fördröjningen vid förbearbetning av prompten kan förbli ungefär densamma om implementationen inte kombineras med separata optimeringar för prefix eller förbearbetning.
Kan spekulativ avkodning köras på en hemserver som endast använder CPU?
Det kan den i kompatibla körmiljöer, men hastighetsvinsten beror på om utkast och verifiering är billigare än vanlig avkodning på just den CPU:n och det minnessystemet.
Teknik- och AI-hubb
Mer att läsa

Vilka funktioner möjliggör en AI-förtroendegräns i hemmet runt känsliga filer?
En förtroendegräns för AI i hemmet kombinerar kryptering i vila, behörigheter enligt principen om minsta privilegium, sandlådeförsörjning vid körning och avgränsad informationshämtning – ingen...

Vad gör att privata sökresultat prioriterar filer som redigeras ofta?
Filer som redigeras ofta får rankingfördelar när varje uppdatering lägger till färskhet, delar, versioner eller interaktionssignaler utan att normalisera efter källa.

Vad får modeller för närvaro i smarta hem att förväxla gäster med boende?
Gäster kan se ut som boende när systemet observerar aktivitetsmönster i hushållet men saknar en stabil identitetssignal för personen som ger upphov till dem.

