Een langere context verlaagt doorgaans de doorvoer van lokale LLM's doordat de prefill-berekening, het KV-cachegeheugen, het decodeerwerk en de concurrentie om capaciteit voor gelijktijdige reeksen toenemen.
Het effect volgt niet één universele curve van tokens per seconde. De promptlengte vergroot vooral de prefillfase, terwijl de groeiende actieve context ervoor zorgt dat latere decodeerstappen meer in de cache opgeslagen keys en values moeten raadplegen. Als het geheugen vol raakt, kan de server minder verzoeken toelaten, reeksen onderbreken, de cache verplaatsen of werk weigeren. De doorvoer hangt daarom af van het model, de attention-kernel, de hardware, de scheduler en de samenstelling van de werklast.
De promptlengte vergroot het prefillwerk vóór het eerste token
Tijdens prefill verwerkt het model alle prompttokens om verborgen toestanden en de initiële key-value-cache te maken. Het werk voor standaardattention neemt sterk toe met de sequentielengte, hoewel geoptimaliseerde kernels het geheugentransport en constante factoren verminderen zonder de invoer kosteloos te maken.
Het artikel over IO-bewuste attention introduceert een IO-bewust algoritme voor exacte attention dat het transport tussen geheugenniveaus van de GPU vermindert. De snelheidswinst laat zien waarom de keuze van de kernel de curve verandert, terwijl de onderliggende context nog steeds berekeningen en geheugentransport vereist.
Een server die alleen decodeertokens per seconde rapporteert, kan deze kosten verbergen. Voor RAG en lange gesprekken zijn time-to-first-token en verwerkte prompts per seconde nodig naast de uitvoerdoorvoer. Dit onderscheid blijft zichtbaar tijdens latere tests in een huishoudelijke omgeving.
De KV-cache groeit met elk actief contexttoken
Autoregressieve decodering slaat keys en values van eerdere tokens op, zodat ze niet opnieuw hoeven te worden berekend. Het cachegeheugen schaalt mee met de lengte van actieve reeksen, het aantal lagen, de dimensies, de precisie en het aantal gelijktijdige reeksen. Langere contexten verminderen daarom het aantal verzoeken dat tegelijk past.
De vLLM-implementatie PagedAttention introduceert PagedAttention om fragmentatie van de KV-cache te verminderen en flexibel delen mogelijk te maken. Een betere toewijzing vergroot de bruikbare capaciteit, maar verwijdert niet de bytes die nodig zijn voor de behouden context zelf. Het tussenresultaat moet inspecteerbaar blijven voordat automatisering erop volgt.
Wanneer de capaciteit op is, kunnen systemen nieuwe verzoeken in de wachtrij plaatsen, de cache verwijderen of opnieuw berekenen, naar hostgeheugen wisselen of de batch verkleinen. Dit beleid kan een soepele benchmark voor één gebruiker veranderen in instabiele goodput voor meerdere gebruikers. Die grens moet afzonderlijk worden gemeten onder realistische bedrijfsomstandigheden.
Decodeerstappen lezen meer geschiedenis naarmate de context groeit
Elk gegenereerd token bevraagt de opgebouwde cache, waardoor geheugenuitlezingen en attentionwerk toenemen met de sequentielengte. Het model kan beperkt blijven door de geheugenbandbreedte, terwijl contextcompressie of cachekwantisatie geheug bespaart ten koste van nauwkeurigheid en kernelondersteuning.
Het onderzoek naar KV-cachekwantisatie kwantiseert de KV-cache om veel langere contexten mogelijk te maken en benoemt de cachecapaciteit expliciet als knelpunt voor lange contexten. Dit laat zien dat een geadverteerde maximale context en een efficiënte aanhoudende doorvoer verschillende eigenschappen zijn. Het praktische gevolg wordt zichtbaar wanneer meerdere bronnen concurreren om beperkte context.
De foutgrens ontstaat wanneer twee contexten worden vergeleken terwijl de promptsamenstelling, uitvoerlengte, gelijktijdigheid of cacheprecisie verandert. De kwaliteit van het ophalen kan verbeteren door extra bewijs, ook als de systeemdoorvoer daalt. Prestaties en bruikbaarheid van antwoorden hebben daarom afzonderlijke assen nodig.
Benchmark de doorvoer over buckets met verschillende promptlengtes
Maak vaste promptbuckets, zoals 512, 2.048, 8.192 en 16.384 tokens, met gecontroleerde uitvoerlengtes. Voer elke bucket uit met één gebruiker en met toenemende gelijktijdigheid. Leg daarbij prompttokens per seconde, uitvoertokens per seconde, time-to-first-token, intertokentijd, cachegebruik, wachtrijtijd, onderbrekingen en fouten vast.
Vergelijk de curve met de vertraging bij lange gesprekken die wordt beschreven in de vertraging van het contextvenster. Houd het model, de kwantisatie, sampling, scheduler en hardware constant en herhaal de test vervolgens met prefixcaching of cachekwantisatie als afzonderlijke experimenten. Deze afhankelijkheid moet expliciet blijven in de uiteindelijke interface.
Stel een operationeel contextbudget vast op basis van goodput binnen de vereiste latentie, niet op basis van de maximaal geaccepteerde lengte van het model. Haal alleen extra informatie op of vat die samen wanneer de daaruit voortvloeiende kwaliteitswinst opweegt tegen de gemeten prefill- en cachekosten.
Tech & AI HUB
Meer om te lezen

Kan een lokale LLM de generatie hervatten nadat het proces opnieuw is gestart?
Een mechanismegerichte uitleg van het hervatten van LLM-generatie, de afwegingen rond gedeelde resources, drie veelgestelde vragen over query-fan-out en een praktisch verificatieprotocol.

Kan een homeserver embeddings genereren en video transcoderen op dezelfde geïntegreerde GPU?
Een uitleg waarin het mechanisme centraal staat van gedeelde iGPU-embeddings en transcodering, de afwegingen rond gedeelde resources, drie veelgestelde vragen over query-fan-out en een...

Welke invloed heeft de levensduur van toegangstokens op de beveiliging en het gedoe in het huishouden?
Een mechanismegerichte uitleg van de levensduur van toegangstokens, de afwegingen rond gedeelde resources, drie veelgestelde vragen over query-fan-out en een praktisch verificatieprotocol.

