De acceptatiegraad van speculative decoding meet hoe vaak de verificatie door het doelmodel voorgestelde concepttokens behoudt. Daarmee bepaalt deze graad rechtstreeks hoeveel nuttig werk er per verificatieronde wordt verricht.
Een kleiner conceptmodel kan meerdere toekomstige tokens voorstellen, terwijl een groter lokaal model deze parallel verifieert. Als de meeste voorstellen standhouden, brengt één dure doorgang van het doelmodel het antwoord meerdere posities vooruit; bij een vroege afwijzing wordt een groot deel van het werk van het conceptmodel weggegooid. De graad is daarom een efficiëntiesignaal dat afhankelijk is van de werklast, geen zelfstandige nauwkeurigheidsscore of garantie voor een end-to-end versnelling.
Acceptatie telt de geverifieerde voortgang van het conceptmodel
Bij standaard speculative sampling stelt de conceptverdeling een blok voor en evalueert het doelmodel die posities gezamenlijk. Tokens worden op volgorde geaccepteerd tot de eerste afwijzing. Daarna bemonstert het algoritme een correctie en start het een nieuwe speculatieve ronde.
Het oorspronkelijke artikel over speculative decoding definieert een acceptatiekans op basis van de relatie tussen de concept- en doelverdelingen, terwijl de uitvoerverdeling van het doelmodel behouden blijft. Geaccepteerde voortgang, niet de visuele gelijkenis tussen modelantwoorden, is de relevante grootheid.
Implementaties kunnen geaccepteerde tokens gedeeld door voorgestelde tokens, de gemiddelde geaccepteerde lengte of de acceptatiekans rapporteren. Deze statistieken houden verband met elkaar, maar zijn niet identiek. Voor vergelijkingen zijn daarom dezelfde definitie en conceptlengte nodig. Dit onderscheid blijft zichtbaar tijdens latere tests in huishoudelijke omstandigheden.
De kwaliteit van het conceptmodel en het bemonsteringsbeleid veranderen de graad
Een conceptmodel dat beter aansluit bij de huidige taal, het domein en de prompt, stelt doorgaans meer acceptabele vervolgen voor. Ook temperatuur, top-p, tokenizer-uitlijning, conceptlengte en het vertrouwen van het doelmodel beïnvloeden hoe vaak een blok standhoudt.
Online Speculative Decoding past het conceptmodel aan op basis van feedback van het doelmodel en rapporteert dat een verbeterde tokenacceptatiegraad de latentie bij veranderende aanvraagverdelingen kan verlagen. Dit resultaat laat zien dat acceptatie kan variëren met de werklast, in plaats van een vaste eigenschap van een modelpaar te blijven.
Een groter conceptmodel kan de acceptatie verhogen, maar kost meer tijd om uit te voeren; een kleiner conceptmodel is goedkoop, maar kan vaak worden afgewezen. De juiste keuze brengt geaccepteerde voortgang in balans met de tijd voor het voorstellen en verifiëren. Het tussenresultaat moet inspecteerbaar blijven voordat automatisering erop volgt.
Een hoge acceptatie is noodzakelijk, maar niet voldoende voor versnelling
De end-to-end winst hangt ook af van het vermogen van het doelmodel om een blok efficiënt te verifiëren, de latentie van het conceptmodel, geheugentransport, synchronisatie, batchgrootte en de kosten van afgewezen werk. Een hoog aandeel bij korte blokken kan minder seriële stappen besparen dan een gematigd aandeel bij blokken van een geschikte grootte.
Medusa vervangt een afzonderlijk conceptmodel door meerdere decodeerkoppen die vanuit de representatie van het doelmodel meerdere vervolgen voorstellen. Het ontwerp laat zien dat de architectuur van het voorstellen en de verificatie dezelfde afweging rond doorvoer bepalen. Die grens moet afzonderlijk worden gemeten onder realistische gebruiksomstandigheden.
De faalgrens is een werklast waarbij het voorstellen plus verifiëren evenveel kost als gewone decodering. Code, meertalige tekst, creatief bemonsteren of verschuivingen in het domein kunnen de geaccepteerde lengte voldoende verlagen, waardoor speculatie extra geheugen verbruikt zonder de latentie te verlagen.
Meet geaccepteerde voortgang per milliseconde
Leg voor elke promptklasse de voorgestelde tokens, geaccepteerde tokens, lengte van het geaccepteerde prefix, tijd voor het conceptmodel, verificatietijd van het doelmodel, afwijzingspositie, totale latentie, tokens per seconde, geheugen en controles op uitvoerequivalentie vast. De praktische consequentie wordt zichtbaar wanneer meerdere bronnen om beperkte context concurreren.
Breng de werklast in verband met het bemonsteringsbeleid. Varieer de conceptlengte en bemonsteringsinstellingen terwijl het doelmodel en de gevraagde verdeling gelijk blijven, en vergelijk dit vervolgens met gewone autoregressieve decodering. Deze afhankelijkheid moet expliciet blijven in de uiteindelijke interface.
Schakel speculatie alleen in wanneer de geaccepteerde voortgang per totale milliseconde verbetert. Als de acceptatie hoog lijkt, maar de latentie niet daalt, optimaliseer dan de overhead van het voorstellen en verifiëren in plaats van de verhouding als de uiteindelijke prestatiemaatstaf te behandelen. Het resultaat moet daarom worden gecontroleerd aan de hand van het oorspronkelijke bewijsmateriaal.
Tech & AI HUB
Meer om te lezen

Wat is embedding-drift en wanneer moet een private zoekindex opnieuw worden opgebouwd?
Ontcijfer model-, preprocessing-, corpus- en queryverschuivingen; maak onderscheid tussen monitoring en incompatibiliteit; en bepaal wanneer een private index opnieuw moet worden opgebouwd.

Wat is compatibiliteit van tokenizers en waarom kan het wisselen van modellen daardoor misgaan?
Decodeer woordenschatidentiteit, semantiek van speciale tokens, chattemplates, tokens in de cache, adapters en compatibiliteitscontroles voor het lokaal wisselen van modellen.

Wat is modelresidentie en wanneer moet een lokale AI-service gewichten geladen houden?
Ontcijfer gewichtsresidentie, cacheniveaus, koude starts, uitzetting, multiplexing, geheugendruk en wanneer een thuis-AI-service warm moet blijven.

