GHID tehnic

Optimizare KV Cache

Cache-ul KV stochează cheile și valorile pe care un transformator le-a calculat deja, astfel încât să nu refacă lucrul pentru fiecare token nou - dar poate crește la gigaocteți.

2 minute de lecturăUltima actualizare

Prezentare generală

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

Scufundare în profunzime

Într-un transformator, fiecare jeton nou se ocupă de toate jetonele anterioare prin tastele de atenție (K) și valorile (V). Recalcularea K și V pentru întreaga secvență la fiecare pas ar fi pătratică și irositoare, așa că modelele le memorează în cache: cache-ul KV. Dezavantajul este dimensiunea. Cache-ul crește liniar cu lungimea secvenței, dimensiunea lotului, straturi și capete, astfel încât o solicitare de context lung poate consuma mai multă memorie GPU decât greutatea modelului în sine. Optimizarea abordează acest lucru din mai multe unghiuri: memoria paginată (vLLM's PagedAttention) stochează memoria cache în blocuri necontigue pentru a elimina fragmentarea și a permite partajarea; cuantizarea stochează K și V pe 8 sau 4 biți; și modificările arhitecturale precum Grouped-Query Attention (GQA) și Multi-Query Attention (MQA) permit multor capete de interogare să împartă mai puține capete cheie/valoare, reducând dimensiunea memoriei cache la sursă.

Perspectivă tehnică

PagedAttention împrumută paginarea cu memorie virtuală de la sistemele de operare: memoria cache locuiește în blocuri de dimensiuni fixe mapate printr-un tabel de căutare, astfel încât cererile folosesc numai blocurile de care au nevoie și prefixe identice (cum ar fi un prompt de sistem partajat) pot indica aceleași blocuri. Multi-head Latent Attention (MLA), utilizat în modelele DeepSeek, comprimă K și V într-un mic vector latent comun, reducând dramatic memoria, păstrând în același timp precizia.

Impact strategic

Cost și buget

Deciziile de arhitectură generează performanța și costurile de operare de ani de zile.

Decizii mai clare

Educația tehnică ajută echipele să aleagă stiva potrivită, nu doar cea mai nouă.

Controlul calității

Opțiuni de inginerie mai bune reduc incidentele de fiabilitate în producție.

Viitorul optimizării KV Cache

Pe măsură ce ferestrele de context se întind la sute de mii sau milioane de jetoane, memoria cache KV devine costul dominant de servire. Așteptați-vă la o comprimare și evacuare agresivă a cache-ului (eliminarea jetoanelor cu atenție scăzută), partajarea prefixelor încrucișate ca implicită, descărcarea cache-ului rece în CPU sau NVMe și arhitecturi precum MLA și GQA care devin standard. Gestionarea memoriei cache se va asemăna din ce în ce mai mult cu o ierarhie completă a memoriei cu niveluri și preîncărcare inteligentă.

Implementare în lumea reală

PagedAttention de la vLLM deservește multe sesiuni de chat concurente prin împachetarea blocurilor KV fără fragmentare a memoriei

Atenție de interogare grupată în modelele Llama reducând dimensiunea memoriei cache KV, astfel încât contextele mai lungi să se potrivească în memoria GPU

Cuantificarea memoriei cache KV la 8 biți (KV8) pentru a înjumătăți aproximativ memoria cache în timpul rezumarii documentelor lungi

Memorarea în cache a prefixelor care reutiliza blocurile KV ale unui prompt de sistem partajat în mii de solicitări API

Riscuri și balustrade

Optimizarea unui punct de referință poate ascunde slăbiciunile mai largi ale sistemului.

Costurile de infrastructură și întreținere sunt adesea subestimate.

Lacunele de securitate și observabilitate pot crește pe măsură ce sistemele devin mai complexe.

Foaia de parcurs de implementare

1

Definiți obiectivele de latență, calitate și cost înainte de implementare.

2

Benchmark în condiții realiste de încărcare și date.

3

Monitorizarea instrumentelor pentru erori, deriva și impactul utilizatorului.

4

Pregătiți căile de retragere și răspuns la incident înainte de scalare.

Continuați să explorați

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.

Quiz Start

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

Întrebări frecvente

What is KV Cache Optimization?

Cache-ul KV stochează cheile și valorile pe care un transformator le-a calculat deja, astfel încât să nu refacă lucrul pentru fiecare token nou - dar poate crește la gigaocteți. Optimizarea cache-ului KV micșorează și gestionează acea memorie, astfel încât modelele să servească contexte mai lungi mai multor utilizatori simultan.

Ce stochează memoria cache KV și de ce?

Memorarea în cache a cheilor și a valorilor de la token-urile anterioare evită refacerea calculului de atenție pentru fiecare token nou, economisind timp.

De ce poate deveni cache-ul KV o problemă de memorie?

Dimensiunea cache-ului se scalează în funcție de lungimea contextului și concurența, astfel încât cererile lungi pot folosi cantități enorme de memorie GPU.

Ce concept de sistem de operare împrumută PagedAttention?

PagedAttention stochează memoria cache în blocuri necontigue de dimensiuni fixe mapate printr-un tabel, la fel ca paginarea SO.

Cum interogările grupate și atenția cu interogări multiple reduc dimensiunea memoriei cache KV?

Partajarea capetelor cheie/valoare între mai multe capete de interogare înseamnă mult mai puțini vectori K și V de stocat.

Care este un avantaj al partajării prefixelor în memoria cache KV?

Un prompt de sistem partajat produce intrări KV identice, astfel încât cererile multiple pot indica aceleași blocuri în loc să le dubleze.