KV-cache
angolul: KV cache (key-value cache)
A KV-gyorsítótár a nyelvi modell átmeneti számítási jegyzete: megőrzi a már feldolgozott szöveg részszámításait, hogy a modellnek ne kelljen minden új szónál mindent újraszámolnia.
Érthetően
A nyelvi modell a válaszát darabonként, úgynevezett tokenenként (szavanként, szótöredékenként) írja. Minden új darab előtt figyelembe veszi az összes addigi szöveget. Gyorsítótár nélkül ez azt jelentené, hogy minden egyes szónál elölről újraolvassa az egész beszélgetést.
Képzeld el, hogy egy hosszú regényt olvasol, és minden új mondat előtt újra kellene kezdened az első oldaltól. Ehelyett jegyzetelsz: a margóra felírod, amit a korábbi oldalakról tudni kell, és csak az új mondatot olvasod el. A KV-gyorsítótár ez a margójegyzet.
A haszna a sebesség és a költség: a válasz sokkal gyorsabban készül el, a szolgáltató pedig kevesebb számítási kapacitást használ. Az ára a memória, mert a jegyzeteket tárolni kell, és minél hosszabb a szöveg, annál több hely kell hozzá.
A modell tudásán és a válasz tartalmán nem változtat. Ugyanazt az eredményt adja, csak rövidebb úton.
Hogyan működik
- A modell a beírt szöveget tokenekre bontja, és mindegyikhez kiszámol két számsort: egy „kulcsot” (key), amely azt jelzi, miről szól az adott token, és egy „értéket” (value), amely a tartalmát hordozza.
- Ezeket a kulcsokat és értékeket a modell minden rétegében elmenti a memóriába. Ez maga a KV-gyorsítótár.
- Amikor a modell a következő tokent írja, csak az új tokenhez végez számítást: ehhez készít egy „kérdést” (query), és ezt veti össze a korábbi tokenek kulcsaival, amelyeket a gyorsítótárból vesz elő. Így dől el, melyik korábbi token értékére mennyire támaszkodik.
- Az új token kulcsa és értéke is bekerül a tárba, így az minden lépéssel nő, amíg a válasz el nem készül.
- A szolgáltatók a kérések gyakran ismétlődő elejének (például egy hosszú utasításnak vagy dokumentumnak) a gyorsítótárát a kérések között is megőrizhetik. Ezt hívják prompt-gyorsítótárazásnak.
Példa a mindennapokból
Feltöltesz egy ötvenoldalas szerződést egy csevegőrobotnak, és egymás után tíz kérdést teszel fel róla. Ha a szolgáltató a kérések között is megőrzi a gyorsítótárat, az első válaszra várnod kell egy kicsit, a többi viszont érezhetően hamarabb indul el, mert a szerződés feldolgozott változata már ott van a tárban. Magát a választ a modell ekkor is tokenenként írja meg.
Kit érint
Gyakori félreértés
Korlátok és kockázatok
- A gyorsítótár mérete a szöveg hosszával együtt nő, ezért a nagyon hosszú beszélgetések sok memóriát foglalnak, és ez korlátozza, hány felhasználót tud egyszerre kiszolgálni egy gép.
- Ha a szöveg elején bármi megváltozik, akár egyetlen szó is, az onnantól tárolt rész érvénytelenné válik, és újra kell számolni.
- A szolgáltatóknál a megőrzött gyorsítótár rövid idő (jellemzően percek vagy órák) után lejár, így a ritkán ismétlődő kéréseknél nem hoz megtakarítást.
- A válasz minőségét nem javítja, a modell tévedéseit sem csökkenti. Kizárólag a sebességre és a költségre hat.
Hasonló, de nem ugyanaz
- Prompt-gyorsítótárazás – Ez a szolgáltatók árazott funkciója, amely a kérések között is megőrzi a kérések közös elejének feldolgozott állapotát, míg a KV-gyorsítótár maga a mögöttes technika, amely egyetlen válasz megírása közben is működik.
- Kontextusablak – A kontextusablak azt mondja meg, mennyi szöveget lát egyszerre a modell, a KV-gyorsítótár pedig azt, hogyan kerüli el ennek a szövegnek az ismételt feldolgozását.
- Memória (AI-asszisztensnél) – Az asszisztens memóriája tartósan elmentett információ rólad és a korábbi beszélgetéseidről, a KV-gyorsítótár viszont rövid életű belső számítási adat, amelyet te sosem látsz.
Kapcsolódó fogalmak
Nagy nyelvi modell, Transzformer, Következtetés (inferencia), Gyorsítótár
Prompt-gyorsítótárazás
Kontextusablak, Token, Figyelmi mechanizmus, Kvantálás, Késleltetés
Röviden a története
A technika a 2017-ben bemutatott transzformer architektúrából következik, amelynek figyelmi mechanizmusa kulcsokkal és értékekkel dolgozik; ezek eltárolása hamar a szöveggenerálás alapfogásává vált. A nagy szolgáltatók 2024-ben kezdték külön, kedvezményes árú funkcióként kínálni a kérések közötti változatát.
Hol tart most
2026 végén gyakorlatilag minden nyelvi modell futtatásának alapértelmezett része, a kérések közötti változata pedig a nagy szolgáltatók szokásos, külön árazott szolgáltatása. A fejlesztés a tár tömörítésére és a hosszú ideig futó agentek költségének csökkentésére irányul.
Más nevei
KV-cache · KV cache · key-value cache · kulcs–érték gyorsítótár · KV-gyorsítótárazás · KV caching · figyelmi gyorsítótár · attention cache
Források
- Vaswani et al.: Attention Is All You Need (2017, arXiv)
- Wikipedia: Transformer (deep learning architecture)
A szócikk gépi szerkesztéssel készült és gépi szakmai lektoráláson ment át; a „hírekben” rész az Agent Age sztorijaiból automatikusan frissül.