Prefixcaching vermindert herhaald promptwerk door de al berekende key-value-status opnieuw te gebruiken voor een identieke voorloopreeks tokens.
Op een lokale AI-server kan die gedeelde prefix bestaan uit systeemp beleid, een toolschema, een lang document, instructies voor het huishouden of herhaalde chatgeschiedenis. Het eerste verzoek betaalt nog steeds de volledige prefill-kosten, maar latere overeenkomende verzoeken kunnen een groot deel daarvan overslaan. Het belangrijkste voordeel is een korter prefilltraject en een snellere eerste token, niet gratis generatie.
Herhaalde prompts berekenen dezelfde prefill opnieuw zonder cache
Voordat een autoregressief model een antwoord genereert, verwerkt het de invoertokens en bouwt het de key-value-status op die bij de latere decodering wordt gebruikt. Een lange systeemprompt, een toolschema, een documentkop of een gedeeld instructieblok kan daardoor bij elk verzoek opnieuw dezelfde prefillwerkzaamheden vereisen.
Prompt Cache maakt deze mogelijkheid concreet door attention-statussen uit overlappende promptsegmenten opnieuw te gebruiken. Op een lokale AI-server kan het herhaalde gedeelte uit duizenden tokens bestaan, ook al voegt de gebruiker maar één nieuwe zin toe.
Zonder hergebruik voert de GPU of CPU die matrixbewerkingen opnieuw uit en leest hij voor dezelfde prefix opnieuw dezelfde modelgewichten. De uitvoer kan identiek zijn, maar de server betaalt nog steeds de computationele voorbereidingskosten.
Een prefixcache slaat de KV-status van een al verwerkte prefix op
Na het eerste compatibele verzoek kan de runtime de KV-status van de gedeelde prefix bewaren. Een later verzoek begint met controleren of de voorloopreeks tokens overeenkomt met gecachte blokken.
De automatische prefixcache van vLLM identificeert blokken op basis van de tokens in het blok plus de voorafgaande prefix. Overeenkomende verzoeken kunnen naar dezelfde fysieke cacheblokken verwijzen in plaats van dubbele status toe te wijzen en te berekenen.
Het herbruikbare object is niet het uiteindelijke antwoord en ook geen algemene semantische samenvatting. Het is modelspecifieke attention-status voor een exact compatibele prefix.
Een cachehit slaat gedeelde prefill over, maar berekent het nieuwe suffix nog steeds
Wanneer de prefix overeenkomt, kan de runtime vanaf de opgeslagen attention-status starten en alleen de nieuwe tokens na de gecachte grens evalueren. Een huishoudassistent met één stabiele systeemprompt kan zo herhaald werk vóór elke korte opdracht vermijden.
LMCache beschrijft hergebruik van de KV-cache tussen LLM-verzoeken als een optimalisatie in de servinglaag, niet als een wijziging van de modelgewichten.
Het nieuwe gebruikersbericht moet nog steeds worden geprefild, en voor elke gegenereerde outputtoken is nog steeds decodeerberekening nodig. Prefixcaching vermindert vooral de overbodige werkzaamheden voordat de generatie begint.
Lange stabiele prefixes leveren de grootste tijdswinst tot de eerste token op
Een cache bespaart werk in verhouding tot het gedeelte dat anders opnieuw zou worden berekend. Het hergebruiken van een instructie- en documentprefix van 2.000 tokens is belangrijker dan het hergebruiken van een begroeting van tien tokens.
Het servingontwerp van SGLang gebruikt gestructureerd KV-hergebruik om werklasten met gedeelde prefixes te versnellen. Het equivalent op een lokale server is een herhaald agentbeleid, een toolcatalogus, een kennisbundel voor het huishouden of een documentsjabloon.
Daarom moet prefixcaching worden beoordeeld op basis van de tijd tot de eerste token en de prefill-doorvoer, niet alleen op basis van tokens per seconde tijdens de generatie. De decodeerfase kan vrijwel onveranderd blijven, terwijl het antwoord eerder begint.
Kleine promptwijzigingen kunnen hergebruik bij de blokgrens verbreken
Een cache werkt doorgaans exact met betrekking tot tokens en modelstatus. Het herschikken van tooldefinities, het invoegen van een veranderlijk tijdstempel aan het begin, het wisselen van adapters of het aanpassen van de systeemprompt kan ervoor zorgen dat latere blokken niet meer voor hergebruik in aanmerking komen.
De servingrichtlijnen van Hugging Face maken onderscheid tussen prefill- en decodeplanning. Door stabiele inhoud vooraan in de prompt te houden, blijft een groter deel van die prefill herbruikbaar.
Applicaties moeten daarom vermijden om veranderlijke gegevens vooraan in een verder stabiele prefix te plaatsen als dezelfde informatie ook later kan worden toegevoegd.
Cachecapaciteit en verwijdering bepalen de grenzen van een lokale server
KV-blokken gebruiken geheugen, dus de server kan niet elke prefix voor altijd bewaren. Gelijktijdige gesprekken, lange contexten en meerdere modellen concurreren om dezelfde geheugenpool en kunnen oude herbruikbare status verdringen.
De uitleg van ZimaSpace over modelcaching en latentie van warme antwoorden beschrijft de bredere cachehiërarchie. Prefixcaching is slechts één laag en moet niet worden verward met het resident houden van modelgewichten.
Meet het cachehitpercentage, het aantal hergebruikte tokens, de tijd tot de eerste token, de prefill-doorvoer, het KV-geheugengebruik en het verwijderingspercentage bij het werkelijke concurrentieniveau binnen het huishouden.
De TensorRT-LLM-documentatie van NVIDIA beschrijft KV-cachehergebruik als een servingoptimalisatie met dezelfde kernbeperking: herbruikbare status helpt alleen zolang de overeenkomende blokken beschikbaar blijven.
Tech & AI HUB
Meer om te lezen

Kunnen thuiscamera's gebeurtenissen synchroniseren zonder cloudtijdservices?
Een mechanismegerichte uitleg van cameratiijd zonder cloud, de afwegingen bij gedeelde bronnen, drie veelgestelde vragen over query-fan-out en een praktisch verificatieprotocol.

Kan een lokale AI-service beschadigde modellagen detecteren vóór de inferentie?
Een mechanismegerichte uitleg van detectie van beschadigingen in modellagen, de afwegingen rond gedeelde bronnen, drie veelgestelde vragen over query-fan-out en een praktisch verificatieprotocol.

Kan een RAG-systeem worden hersteld zonder elke embedding opnieuw te genereren?
Een mechanismegerichte uitleg van RAG-herstel zonder opnieuw te embedden, de afwegingen rond gedeelde bronnen, drie veelgestelde vragen over query-fan-out en een praktisch verificatieprotocol.

