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.
Á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
Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.
Benchmark reális terhelési és adatviszonyok mellett.
Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.
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.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Következő útmutató
KV gyorsítótár
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.