Trénovanie a optimalizácia · Optimalizácia autoregresívnej inferencie

Vyrovnávacia pamäť kľúčov a hodnôt

Key-value cache

Posledná odborná revízia
30. júla 2026
Odborný garant
Miroslav Schmiedt
ID
AI-GEO-K-16

Odborná definícia

Význam a odborné vymedzenie pojmu

Key-value cache, KV cache, v transformerovom dekódovaní uchováva key a value tenzory vypočítané v attention vrstvách pre predchádzajúce tokeny. Pri generovaní ďalšieho tokenu model znovu počíta reprezentáciu nového tokenu, ale nemusí prepočítavať K a V celej minulosti. Tým znižuje opakovanú prácu a zrýchľuje sekvenčné dekódovanie. Pamäť rastie s počtom vrstiev, dĺžkou kontextu, počtom hláv, rozmerom a batchom, preto môže byť hlavným limitom servingu. Cache nemení pravdepodobnostný model odpovede, ak je implementovaná presne a bez kvantizačnej odchýlky.

Zrozumiteľné vysvetlenie

Ako sa pojem používa v praxi

Model vytvára odpoveď token po tokene. Bez cache by pri tokenoch číslo 501 znovu spracoval attention informácie pre prvých 500 tokenov, hoci sa nezmenili. KV cache si medzivýsledky odloží a doplní iba nový riadok. Odpoveď vzniká rýchlejšie, ale každá dlhá konverzácia drží v GPU pamäti vlastný rastúci blok. Pri veľkom počte používateľov môže systém skôr naraziť na kapacitu cache než na samotné parametre modelu. Prevádzka preto plánuje tokenový rozpočet a počet súbežných relácií ako spoločný kapacitný problém.

Časté otázky

Otázky, ktoré spresňujú význam

Prečo cache uchováva práve keys a values?

Attention pre nový query vektor potrebuje porovnanie so všetkými minulými keys a váženú kombináciu minulých values. Tieto tenzory sa pre už spracované tokeny nemenia, takže ich možno bezpečne znovu použiť.

Ako KV cache ovplyvňuje latenciu?

Výrazne znižuje výpočty počas decode fázy, najmä pri dlhšom kontexte. Prefill stále spracúva celý vstup paralelne. Reálny zisk závisí od pamäťovej priepustnosti, batchingu a implementácie attention.

Prečo môže byť cache pamäťovým bottleneckom?

Veľkosť rastie lineárne s uloženými tokenmi a počtom paralelných sekvencií. Pri veľkých modeloch môže cache na jednu požiadavku zabrať stovky megabajtov, preto sa používa kvantizácia, offloading alebo paged attention.

Čo je cache eviction?

Pravidlo, ktoré odstraňuje staršie alebo menej dôležité položky, keď sa prekročí rozpočet. Pri transformerovom kontexte môže vyhodenie tokenov zmeniť odpoveď, preto sa používajú posuvné okná alebo špecializované kompresné stratégie.

Dá sa KV cache zdieľať medzi požiadavkami?

Pri identickom prefixe možno prefixové K a V znovu použiť, ak sa zhoduje model, tokenizer, pozície a konfigurácia. Zdieľanie vyžaduje izoláciu používateľov, správu životnosti a ochranu pred únikom obsahu.

Súvisiace pojmy

Významové a tematické súvislosti

Pojem v rozhodovaní

Odborné články, ktoré tento pojem používajú v praxi

Zdroje a redakčná stopa

Použité východiská a odborná revízia

  • Hugging Face, Cache strategies
  • Hugging Face, Caching explanation

Definícia je autorská odborná syntéza. Pri právnych a regulačných rozhodnutiach má prednosť aktuálne oficiálne znenie predpisu a posúdenie konkrétneho prípadu.