Jazyk AI GUIDE

KV cache

Mezipaměť KV ukládá vektory klíčů a hodnot, které již transformátor vypočítal pro předchozí tokeny, takže je nemusí přepočítávat pro každé nové slovo, které vygeneruje.

2 minuty čteníNaposledy aktualizováno

Přehled

It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.

Hluboký ponor

Transformátory generují text po jednom tokenu a vrstva pozornosti každého nového tokenu se musí porovnat s každým předchozím tokenem. Mechanismus pozornosti promění každý token na vektor dotazu, klíče a hodnoty. Bez ukládání do mezipaměti by generování tokenu číslo 1 000 znamenalo přepočítávání klíčů a hodnot pro všech 999 dřívějších tokenů v každém kroku – kvadratická, plýtvání. Mezipaměť KV tyto vektory klíčů a hodnot uloží po jejich prvním výpočtu a znovu je použije, takže každý nový krok počítá pouze vektory pro jeden nejnovější token a obsluhuje uloženou mezipaměť. To snižuje náklady na token ze škálování s délkou sekvence na zhruba konstantní. Kompromisem je paměť: mezipaměť roste lineárně s délkou kontextu, počtem vrstev a pozorností a často se stává dominantním spotřebitelem paměti při poskytování dlouhých kontextů.

Technický přehled

Během fáze „prefill“ model zpracuje celou výzvu a naplní mezipaměť; během 'dekódování' připojí jeden token K/V na krok a opakuje se. Velikost mezipaměti je škálována jako 2 (K a V) × vrstvy × hlavy × head_dim × sekvence_délka × dávka, se zvolenou přesností. Aby to zkrotily, moderní modely používají pozornost seskupených dotazů nebo více dotazů ke sdílení klíčů/hodnot napříč hlavami a obslužné systémy jako vLLM používají PagedAttention k alokaci mezipaměti v nesouvislých blocích, čímž omezují fragmentaci a plýtvání.

Strategický dopad

Rychlost a měřítko

Jazykové pracovní postupy se mohou pohybovat rychleji, aniž by byla obětována konzistentnost.

Přístup a dosah

Rozšiřuje přístup napříč jazyky a komunikačními styly.

Jasnější rozhodnutí

Týmy mohou strávit více času úsudkem, zatímco automatizace zvládne opakování.

Budoucnost KV Cache

Jak se kontextová okna rozšiřují do stovek tisíc tokenů, KV cache se stává ústředním úzkým hrdlem, takže inovace jsou nelítostné: kvantování mezipaměti na 8 nebo 4 bity, zásady vystěhování, které zahazují tokeny s nízkou důležitostí, sdílení prefixů mezi požadavky a ukládání na CPU nebo disk. Architektonické posuny, jako je latentní pozornost více hlav, komprimují samotnou mezipaměť. Očekávejte pokračující společný návrh variant pozornosti a paměťových systémů zaměřených na obsluhu velmi dlouhých kontextů levně a s vysokou propustností.

Real-World Implementace

Urychlení odpovědí chatbota opětovným použitím klíčů/hodnot uložených v mezipaměti z historie konverzace namísto jejich opětovného zpracování každé kolo.

Ukládání prefixů do mezipaměti, které sdílí mezipaměť pro dlouhou systémovou výzvu napříč mnoha uživateli, což snižuje náklady a latenci.

VLLM PagedAttention spravující KV mezipaměť v blocích pro efektivní obsluhu mnoha souběžných požadavků na jednom GPU.

Kvantování mezipaměti KV na nižší přesnost, aby se delší kontexty vešly do omezené paměti GPU.

Rizika a zábradlí

Halucinovaná fakta mohou tiše vstupovat do zpráv, podpůrných toků nebo výstupů výzkumu.

Citlivost na výzvy může způsobit nekonzistentní výsledky napříč podobnými požadavky.

Citlivá textová data mohou být vystavena, pokud je řízení přístupu slabé.

Plán implementace

1

Před zavedením definujte výstupní formát, tón a standardy kvality.

2

Pozemní reakce s důvěryhodnými zdroji, kdykoli záleží na přesnosti.

3

Udržujte kontrolní bod lidské kontroly pro vysoce důležité výstupy.

4

Sledujte vzorce selhání a pravidelně opakujte výzvy nebo pracovní postupy.

Pokračujte v objevování

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 quiz

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

Spustit kvíz

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

Další průvodce

Optimalizace mezipaměti KV

Často kladené otázky

What is KV Cache?

Mezipaměť KV ukládá vektory klíčů a hodnot, které již transformátor vypočítal pro předchozí tokeny, takže je nemusí přepočítávat pro každé nové slovo, které vygeneruje. Je to jediný největší důvod, proč je generování textu rychlé – a hlavní věc, která vám během dlouhých konverzací požírá paměť GPU.

Co ukládá mezipaměť KV?

Mezipaměť KV obsahuje vektory klíčů a hodnot z dřívějších tokenů, takže je může pozornost znovu použít místo přepočítávání.

Jaký problém primárně řeší KV cache?

Bez ukládání do mezipaměti by každý nový token vyžadoval přepočítání K/V pro každý předchozí token, což je plýtvání; mezipaměť činí náklady na token zhruba konstantní.

Jaká je hlavní nevýhoda KV cache?

Mezipaměť roste s délkou sekvence, vrstvami a hlavami a často se stává dominantním spotřebitelem paměti GPU při poskytování dlouhých kontextů.

Která technika snižuje velikost mezipaměti KV sdílením klíčů a hodnot mezi hlavami pozornosti?

Pozornost seskupených dotazů a více dotazů umožňuje více hlavám dotazů sdílet méně sad klíč/hodnota, což podstatně zmenšuje mezipaměť.

Jaké jsou dvě fáze odvození transformátoru vzhledem k mezipaměti KV?

Prefill naplní mezipaměť K/V výzvy; decode připojí každý krok jednoho nového tokenu K/V a znovu se věnuje cache.