Språk AI GUIDE

KV Cache

KV-cachen lagrer nøkkel- og verdivektorene en transformator allerede har beregnet for tidligere tokens, så den trenger ikke å beregne dem på nytt for hvert nytt ord den genererer.

2 min lesingSist oppdatert

Oversikt

It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.

Dypdykk

Transformatorer genererer tekst ett token om gangen, og hvert nytt tokens oppmerksomhetslag må sammenlignes med hvert tidligere token. Oppmerksomhetsmekanismen gjør hvert token til en spørrings-, nøkkel- og verdivektor. Uten caching ville generering av token nummer 1000 bety omberegning av nøkler og verdier for alle 999 tidligere tokens ved hvert trinn - kvadratisk, bortkastet arbeid. KV-hurtigbufferen lagrer disse nøkkel- og verdivektorene etter at de først er beregnet og gjenbruker dem, slik at hvert nye trinn kun beregner vektorer for det nyeste enkelttokenet og overvåker den lagrede cachen. Dette reduserer kostnadene per token fra skalering med sekvenslengde til omtrent konstant. Avveiningen er minne: cachen vokser lineært med kontekstlengde, antall lag og oppmerksomhetshoder, og blir ofte den dominerende minneforbrukeren i langkontekstservering.

Teknisk innsikt

Under "prefill"-fasen behandler modellen hele forespørselen og fyller cachen; under 'dekoding' legger den til én tokens K/V per trinn og deltar på nytt. Cachestørrelse skalerer som 2 (K og V) × lag × hoder × head_dim × sequence_length × batch, i den valgte presisjonen. For å temme dette bruker moderne modeller grupperte søk eller multi-søk oppmerksomhet for å dele nøkler/verdier på tvers av hodene, og serveringssystemer som vLLM bruker PagedAttention for å tildele hurtigbuffer i ikke-sammenhengende blokker, kutte fragmentering og avfall.

Strategisk innvirkning

Speed and scale

Språkarbeidsflyter kan bevege seg raskere uten å ofre konsistens.

Access and reach

Det utvider tilgangen på tvers av språk og kommunikasjonsstiler.

Tydeligere avgjørelser

Lag kan bruke mer tid på dømmekraft mens automatisering håndterer repetisjon.

Fremtiden til KV Cache

Ettersom kontekstvinduer strekker seg inn i hundretusenvis av tokens, blir KV-cachen den sentrale flaskehalsen, så innovasjonen er voldsom: hurtigbufferkvantisering til 8 eller 4 biter, utkastelsespolicyer som slipper tokens med lav betydning, kryssforespørsler om prefiksdeling og avlasting til CPU eller disk. Arkitektoniske endringer som latent oppmerksomhet med flere hoder komprimerer selve cachen. Forvent fortsatt co-design av oppmerksomhetsvarianter og minnesystemer rettet mot å betjene svært lange sammenhenger billig og med høy gjennomstrømning.

Real-World Implementering

Fremskynde chatbot-svarene ved å gjenbruke bufrede nøkler/verdier fra samtaleloggen i stedet for å behandle den på nytt hver tur.

Prefiksbufring som deler hurtigbufferen for en lang systemforespørsel på tvers av mange brukere, og reduserer kostnadene og ventetiden.

vLLMs PagedAttention administrerer KV-cache i blokker for å betjene mange samtidige forespørsler på én GPU effektivt.

Kvantisering av KV-cachen for lavere presisjon for å passe lengre sammenhenger inn i begrenset GPU-minne.

Risikoer og rekkverk

Hallusinerte fakta kan stille inn rapporter, støttestrømmer eller forskningsresultater.

Umiddelbar følsomhet kan skape inkonsistente resultater på tvers av lignende forespørsler.

Sensitive tekstdata kan bli eksponert hvis tilgangskontrollene er svake.

Veikart for implementering

1

Definer utdataformat, tone og kvalitetsstandarder før utrulling.

2

Bakgrunnssvar med pålitelige kilder når nøyaktighet er viktig.

3

Hold et sjekkpunkt for menneskelig vurdering for utganger med høy innsats.

4

Spor feilmønstre og tren opp meldinger eller arbeidsflyter regelmessig.

Fortsett å utforske

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.

Start quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Neste guide

KV-bufferoptimalisering

Ofte stilte spørsmål

What is KV Cache?

KV-cachen lagrer nøkkel- og verdivektorene en transformator allerede har beregnet for tidligere tokens, så den trenger ikke å beregne dem på nytt for hvert nytt ord den genererer. Det er den største enkeltårsaken til at tekstgenerering er rask - og det viktigste å spise GPU-minnet ditt under lange samtaler.

Hva lagrer KV-cachen?

KV-cachen inneholder nøkkel- og verdivektorene fra tidligere tokens, slik at oppmerksomheten kan gjenbruke dem i stedet for å beregne på nytt.

Hvilket problem løser KV-cachen primært?

Uten caching vil hvert nytt token kreve omberegning av K/V for hvert forrige token, noe som er sløsing; cachen gjør kostnaden per token omtrent konstant.

Hva er den største ulempen med KV-cachen?

Cachen vokser med sekvenslengde, lag og hoder, og blir ofte den dominerende forbrukeren av GPU-minne i langkontekstservering.

Hvilken teknikk reduserer KV-bufferstørrelsen ved å dele nøkler og verdier på tvers av oppmerksomhetshoder?

Oppmerksomhet med gruppert søk og flere søk lar flere spørringshoder dele færre nøkkel-/verdisett, noe som reduserer hurtigbufferen betydelig.

Hva er de to fasene av transformatorinferens i forhold til KV-cachen?

Prefill fyller hurtigbufferen med ledetekstens K/V; decode legger til en ny tokens K/V hvert trinn og går på nytt over cachen.