GHID AI limbaj

KV Cache

Cache-ul KV stochează vectorii cheie și valoare pe care un transformator i-a calculat deja pentru jetoanele anterioare, astfel încât nu trebuie să le recalculeze pentru fiecare cuvânt nou pe care îl generează.

Ascultă acest ghidNarativ AI · ~2 min

Pe această pagină2 minute de lectură
  1. Prezentare generală
  2. Scufundare în profunzime
  3. Implementare în lumea reală
  4. Viitorul KV Cache
  5. Punând-o în practică
  6. Continuați să explorați
  7. Întrebări frecvente

Prezentare generală

Este principalul motiv pentru care generarea de text este rapidă — și principalul lucru care consumă memoria GPU-ului în timpul conversațiilor lungi.

Scufundare în profunzime

Transformers generează text câte un jeton și stratul de atenție al fiecărui jeton nou trebuie să fie comparat cu fiecare jeton anterior. Mecanismul de atenție transformă fiecare token într-un vector de interogare, cheie și valoare. Fără cache, generarea numărului de simbol 1.000 ar însemna recalcularea cheilor și a valorilor pentru toate cele 999 de simboluri anterioare la fiecare pas - muncă pătratică, irositoare. Cache-ul KV salvează acei vectori cheie și valoare după ce au fost calculați pentru prima dată și îi reutiliza, astfel încât fiecare pas nou calculează doar vectori pentru cel mai nou token și trece peste memoria cache stocată. Acest lucru micșorează costul pe token de la scalarea cu lungimea secvenței la aproximativ constant. Compensația este memoria: memoria cache crește liniar odată cu lungimea contextului, numărul de straturi și capete de atenție, devenind adesea consumatorul dominant de memorie în difuzarea în context lung.

Implementare în lumea reală

Accelerarea răspunsurilor chatbot prin reutilizarea cheilor/valorilor stocate în cache din istoricul conversațiilor în loc să le reproceseze la fiecare pas.

Memorarea în cache a prefixelor care partajează memoria cache pentru o solicitare lungă a sistemului pentru mulți utilizatori, reducând costurile și latența.

PagedAttention de la vLLM gestionează memoria cache KV în blocuri pentru a servi eficient multe solicitări simultane pe un singur GPU.

Cuantificarea memoriei cache KV pentru a reduce precizia pentru a se potrivi în contexte mai lungi în memoria GPU limitată.

Viitorul KV Cache

Pe măsură ce ferestrele de context se întind în sute de mii de jetoane, memoria cache KV devine blocajul central, așa că inovația este acerbă: cuantificarea cache-ului la 8 sau 4 biți, politici de evacuare care elimină jetoanele de importanță redusă, partajarea prefixelor încrucișate și descărcarea pe CPU sau pe disc. Schimbările arhitecturale precum atenția latentă cu mai multe capete comprimă memoria cache în sine. Așteptați-vă la continuarea co-proiectării a variantelor de atenție și a sistemelor de memorie care vizează servirea unor contexte foarte lungi la prețuri reduse și la un randament ridicat.

Punând-o în practică

De ce contează

  • Viteză și scară. Fluxurile de lucru lingvistice se pot deplasa mai rapid fără a sacrifica consistența.
  • Acces și acoperire. Extinde accesul în diferite limbi și stiluri de comunicare.
  • Decizii mai clare. Echipele pot petrece mai mult timp jucând în timp ce automatizarea se ocupă de repetiție.

Atenție la

  • Faptele halucinate pot intra în liniște în rapoarte, fluxuri de sprijin sau rezultate ale cercetării.
  • Sensibilitatea promptă poate crea rezultate inconsecvente pentru solicitări similare.
  • Datele text sensibile pot fi expuse dacă controalele de acces sunt slabe.

Următorii pași

  1. Definiți formatul de ieșire, tonul și standardele de calitate înainte de lansare.
  2. Răspunsurile la sol cu ​​surse de încredere ori de câte ori acuratețea contează.
  3. Păstrați un punct de control uman pentru rezultate cu mize mari.
  4. Urmăriți tiparele de eșec și reantrenați în mod regulat solicitările sau fluxurile de lucru.

Continuați să explorați

Buletin gratuit

Primește briefingul zilnic AI

Trei povești AI verificate în fiecare dimineață de zi lucrătoare, scrise în engleză simplă. Gratuit pentru totdeauna, fără reclame.

Un e-mail în fiecare zi lucrătoare. Dezabonare cu un singur clic. Nu vindem niciodată și nu împărtășim adresa ta.

Testează-te

Take the KV Cache quiz

Feedback instantaneu la fiecare răspuns și un certificat partajabil cu un ID verificabil după ce parcurgi un curs.

Quiz Start

Susține educația AI gratuită. AI Understanding este o organizație nonprofit 501(c)(3) — fără reclame, fără barieră de plată, pentru totdeauna. Fă o donație

Întrebări frecvente

Ce este KV Cache?

Cache-ul KV stochează vectorii cheie și valoare pe care un transformator i-a calculat deja pentru jetoanele anterioare, astfel încât nu trebuie să le recalculeze pentru fiecare cuvânt nou pe care îl generează. Acesta este cel mai mare motiv pentru care generarea de text este rapidă - și principalul lucru care vă consumă memoria GPU-ului în timpul conversațiilor lungi.

Ce stochează memoria cache KV?

Cache-ul KV deține vectorii cheie și valoare din token-urile anterioare, astfel încât atenția să le poată reutiliza în loc să recalculeze.

Ce problemă rezolvă în primul rând memoria cache KV?

The cache reuses keys and values computed for earlier tokens instead of rebuilding them at every decode step. The new query still attends over cached positions, so attention work and cache memory continue to grow with context length.

Care este principalul dezavantaj al memoriei cache KV?

Cache-ul crește odată cu lungimea secvenței, straturi și capete, devenind adesea consumatorul dominant de memorie GPU în servirea în context lung.

Ce tehnică reduce dimensiunea memoriei cache KV prin partajarea cheilor și valorilor între capetele de atenție?

Interogarea grupată și atenția cu mai multe interogări permit mai multor capete de interogare să partajeze mai puține seturi de chei/valoare, micșorând în mod substanțial memoria cache.

Care sunt cele două faze ale inferenței transformatorului în raport cu memoria cache KV?

Precompletare umple memoria cache cu K/V promptului; decodificarea adaugă un nou token K/V la fiecare pas și revine în cache.