KV-cache
De KV-cache slaat de sleutel- en waardevectoren op die een transformator al heeft berekend voor eerdere tokens, zodat deze niet voor elk nieuw woord dat hij genereert opnieuw hoeft te worden berekend.
Overzicht
It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.
Diepe duik
Transformers genereren tekst per token, en de aandachtslaag van elk nieuw token moet worden vergeleken met elk voorafgaand token. Het aandachtsmechanisme verandert elk token in een query-, sleutel- en waardevector. Zonder caching zou het genereren van token nummer 1.000 betekenen dat bij elke stap de sleutels en waarden voor alle 999 eerdere tokens opnieuw moeten worden berekend – kwadratisch, verspillend werk. De KV-cache slaat deze sleutel- en waardevectoren op nadat ze voor het eerst zijn berekend en gebruikt ze opnieuw, zodat elke nieuwe stap alleen vectoren voor het nieuwste token berekent en de opgeslagen cache bijwoont. Dit verlaagt de kosten per token van schalen met reekslengte tot ongeveer constant. De wisselwerking is het geheugen: de cache groeit lineair met de lengte van de context, het aantal lagen en de aandachtsgebieden, en wordt vaak de dominante geheugengebruiker bij het serveren van lange contexten.
Technisch inzicht
Tijdens de 'prefill'-fase verwerkt het model de hele prompt en vult de cache; tijdens het 'decoderen' wordt de K/V van één token per stap toegevoegd en opnieuw bijgewoond. De cachegrootte wordt geschaald als 2 (K en V) × lagen × heads × head_dim × sequence_length × batch, in de gekozen precisie. Om dit te temmen gebruiken moderne modellen gegroepeerde of multi-query-aandacht om sleutels/waarden tussen hoofden te delen, en bedienende systemen zoals vLLM gebruiken PagedAttention om cache toe te wijzen in niet-aaneengesloten blokken, waardoor fragmentatie en verspilling worden tegengegaan.
Strategische impact
Speed and scale
Taalworkflows kunnen sneller verlopen zonder dat dit ten koste gaat van de consistentie.
Access and reach
Het breidt de toegang uit naar meerdere talen en communicatiestijlen.
Clearer decisions
Teams kunnen meer tijd besteden aan beoordeling, terwijl automatisering de herhaling afhandelt.
De toekomst van KV-cache
Terwijl contextvensters zich uitstrekken tot honderdduizenden tokens, wordt de KV-cache het centrale knelpunt, dus de innovatie is fel: cache-kwantisering naar 8 of 4 bits, uitzettingsbeleid dat tokens van laag belang laat vallen, het delen van prefixen tussen verzoeken en offloaden naar CPU of schijf. Architecturale verschuivingen zoals latente aandacht van meerdere hoofden comprimeren de cache zelf. Verwacht een voortdurend co-ontwerp van aandachtsvarianten en geheugensystemen gericht op het goedkoop bedienen van zeer lange contexten en met een hoge doorvoer.
Implementatie in de echte wereld
Het versnellen van chatbotantwoorden door in de cache opgeslagen sleutels/waarden uit de gespreksgeschiedenis te hergebruiken in plaats van deze elke beurt opnieuw te verwerken.
Voorvoegselcaching die de cache voor een lange systeemprompt deelt met veel gebruikers, waardoor de kosten en latentie worden verlaagd.
vLLM's PagedAttention beheert de KV-cache in blokken om veel gelijktijdige verzoeken op één GPU efficiënt af te handelen.
Het kwantificeren van de KV-cache om de precisie te verlagen, zodat langere contexten in een beperkt GPU-geheugen passen.
Risico's en vangrails
Gehallucineerde feiten kunnen stilletjes rapporten binnendringen, stromen ondersteunen of onderzoeksresultaten opleveren.
Gevoeligheid voor prompts kan inconsistente resultaten opleveren voor vergelijkbare verzoeken.
Gevoelige tekstgegevens kunnen openbaar worden gemaakt als de toegangscontroles zwak zijn.
Implementatie routekaart
Definieer het uitvoerformaat, de toon en de kwaliteitsnormen vóór de implementatie.
Grondreacties met vertrouwde bronnen wanneer nauwkeurigheid belangrijk is.
Houd een menselijk controlepunt bij voor resultaten met een hoge inzet.
Houd faalpatronen bij en train prompts of workflows regelmatig opnieuw.
Blijf verkennen
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the KV Cache quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
KV-cache-optimalisatie
Frequently asked questions
What is KV Cache?
De KV-cache slaat de sleutel- en waardevectoren op die een transformator al heeft berekend voor eerdere tokens, zodat deze niet voor elk nieuw woord dat hij genereert opnieuw hoeft te worden berekend. Het is de grootste reden waarom het genereren van tekst snel is – en het belangrijkste dat uw GPU-geheugen opslokt tijdens lange gesprekken.
Wat slaat de KV-cache op?
De KV-cache bevat de sleutel- en waardevectoren van eerdere tokens, zodat de aandacht ze kan hergebruiken in plaats van opnieuw te berekenen.
Welk probleem lost de KV-cache voornamelijk op?
Zonder caching zou voor elk nieuw token de K/V voor elk vorig token opnieuw moeten worden berekend, wat verspillend is; de cache zorgt ervoor dat de kosten per token ongeveer constant zijn.
Wat is het belangrijkste nadeel van de KV-cache?
De cache groeit met de reekslengte, lagen en koppen, en wordt vaak de dominante consument van GPU-geheugen bij het serveren in lange context.
Welke techniek verkleint de KV-cachegrootte door sleutels en waarden tussen aandachtshoofden te delen?
Door de aandacht voor gegroepeerde query's en meerdere query's kunnen meerdere querykoppen minder sleutel-/waardesets delen, waardoor de cache aanzienlijk wordt verkleind.
Wat zijn de twee fasen van transformator-inferentie ten opzichte van de KV-cache?
Prefill vult de cache met de K/V van de prompt; decode voegt bij elke stap de K/V van een nieuw token toe en volgt de cache opnieuw.