Műszaki ÚTMUTATÓ

KV gyorsítótár optimalizálása

A KV-gyorsítótár tárolja a transzformátor által már kiszámított kulcsokat és értékeket, így nem működik újra minden új tokennél – de képes gigabájtokra rúgni.

2 perc olvasásUtoljára frissítve

Áttekintés

KV cache optimization shrinks and manages that memory so models serve longer contexts to more users at once.

Mély merülés

A transzformátorban minden új token az összes korábbi tokenre vonatkozik a figyelemkulcsokon (K) és az értékeken (V) keresztül. A K és V érték újraszámítása a teljes sorozatra minden lépésben négyzetes és pazarló lenne, ezért a modellek gyorsítótárazzák őket: a KV gyorsítótárat. Hátránya a méret. A gyorsítótár lineárisan növekszik a sorozat hosszával, a köteg méretével, a rétegekkel és a fejekkel, így egy hosszú kontextusú kérés több GPU-memóriát fogyaszthat, mint amennyit maguk a modell súlyoznak. Az optimalizálás ezt több szempontból is kezeli: a lapozható memória (vLLM PagedAttention) a gyorsítótárat nem összefüggő blokkokban tárolja, hogy kiküszöbölje a töredezettséget és lehetővé tegye a megosztást; a kvantálás 8 bites vagy 4 bites K-t és V-t tárol; és az olyan architekturális változtatások, mint a Grouped-Query Attention (GQA) és a Multi-Query Attention (MQA) lehetővé teszik, hogy sok lekérdezési fej kevesebb kulcs/érték fejet osszon meg, csökkentve a gyorsítótár méretét a forrásnál.

Technikai betekintés

A PagedAttention virtuális memória lapozást kölcsönöz az operációs rendszerektől: a gyorsítótár fix méretű blokkokban él, amelyek egy keresőtáblázaton keresztül vannak leképezve, így a kérések csak azokat a blokkokat használják, amelyekre szükségük van, és az azonos előtagok (például egy megosztott rendszerprompt) ugyanazokra a blokkokra mutathatnak. A DeepSeek modellekben használt többfejes látens figyelem (MLA) a K és V jeleket egy kis megosztott látens vektorba tömöríti, drámaian csökkentve a memóriát, miközben megőrzi a pontosságot.

Stratégiai hatás

Költség és költségvetés

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket.

Tisztább döntések

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben.

Minőségellenőrzés

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit.

A KV gyorsítótár-optimalizálás jövője

Ahogy a kontextusablakok több százezer vagy millió tokenre nyúlnak ki, a KV gyorsítótár válik a kiszolgálás domináns költségévé. Agresszív gyorsítótár-tömörítésre és -kiürítésre számíthat (az alacsony figyelemre méltó tokenek elhagyása), a keresztkérések előtagok megosztására alapértelmezésként, a hideggyorsítótár CPU-ra vagy NVMe-re való feltöltésére, valamint az olyan architektúrákra, mint az MLA és a GQA szabványossá válása. A gyorsítótár-kezelés egyre inkább egy teljes memóriahierarchiára fog hasonlítani szintekkel és intelligens előzetes letöltéssel.

Valós megvalósítás

A vLLM PagedAttention számos egyidejű csevegést szolgál ki a KV blokkok becsomagolásával a memória töredezettsége nélkül

A csoportos lekérdezés figyelem a Llama modellekben csökkenti a KV gyorsítótár méretét, így hosszabb kontextusok is elférnek a GPU memóriájában

A KV-gyorsítótár kvantálása 8 bitesre (KV8), hogy a gyorsítótár durván felére csökkenjen a hosszú dokumentum-összegzés során

Előtag gyorsítótárazás, amely egy megosztott rendszerkérdés KV-blokkjait újrafelhasználja több ezer API-kérelemben

Kockázatok és védőkorlátok

Egy benchmark optimalizálása elrejtheti a rendszer általános hiányosságait.

Az infrastrukturális és karbantartási költségeket gyakran alábecsülik.

A biztonsági és megfigyelhetőségi hiányosságok a rendszerek bonyolultabbá válásával nőhetnek.

Végrehajtási ütemterv

1

Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.

2

Benchmark reális terhelési és adatviszonyok mellett.

3

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.

4

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat.

Folytassa a felfedezést

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 Optimization quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Kezdő kvíz

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

Gyakran ismételt kérdések

What is KV Cache Optimization?

A KV-gyorsítótár tárolja a transzformátor által már kiszámított kulcsokat és értékeket, így nem működik újra minden új tokennél – de képes gigabájtokra rúgni. A KV gyorsítótár-optimalizálás csökkenti és kezeli ezt a memóriát, így a modellek hosszabb környezetet szolgálnak ki egyszerre több felhasználó számára.

Mit tárol a KV gyorsítótár és miért?

A korábbi jogkivonatokból származó kulcsok és értékek gyorsítótárazásával elkerülhető, hogy minden új tokennél újra lehessen figyelni, így időt takaríthat meg.

Miért válhat memóriaproblémává a KV gyorsítótár?

A gyorsítótár mérete a kontextus hosszával és párhuzamosságával skálázódik, így a hosszú kérések óriási mennyiségű GPU memóriát használhatnak fel.

Milyen operációs rendszer koncepciót kölcsönöz a PagedAttention?

A PagedAttention a gyorsítótárat nem összefüggő, rögzített méretű blokkokban tárolja, amelyek egy táblán keresztül vannak leképezve, akárcsak az operációs rendszer lapozása.

Hogyan csökkenti a csoportos lekérdezés és a többlekérdezés figyelem a KV gyorsítótár méretét?

A kulcs-/értékfejek több lekérdezési fej között való megosztása sokkal kevesebb tárolandó K és V vektort jelent.

Milyen előnyökkel jár az előtagok megosztása a KV gyorsítótárban?

A megosztott rendszerprompt azonos KV-bejegyzéseket állít elő, így több kérés is mutathat ugyanarra a blokkra ahelyett, hogy megkettőzné őket.