KV-Cache
Der KV-Cache speichert die Schlüssel- und Wertvektoren, die ein Transformator bereits für frühere Token berechnet hat, sodass er sie nicht für jedes neue Wort, das er generiert, neu berechnen muss.
Übersicht
It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.
Tiefer Einblick
Transformer generieren Text jeweils für ein Token, und die Aufmerksamkeitsschicht jedes neuen Tokens muss mit der aller vorherigen Token verglichen werden. Der Aufmerksamkeitsmechanismus verwandelt jedes Token in einen Abfrage-, Schlüssel- und Wertvektor. Ohne Caching würde die Generierung der Token-Nummer 1.000 bedeuten, dass Schlüssel und Werte für alle 999 früheren Token bei jedem Schritt neu berechnet werden müssten – quadratische, verschwenderische Arbeit. Der KV-Cache speichert diese Schlüssel- und Wertvektoren nach der ersten Berechnung und verwendet sie wieder, sodass bei jedem neuen Schritt nur Vektoren für das jeweils neueste Token berechnet und der gespeicherte Cache überwacht wird. Dadurch sinken die Kosten pro Token von der Skalierung mit der Sequenzlänge auf annähernd konstante Werte. Der Kompromiss ist der Speicher: Der Cache wächst linear mit der Kontextlänge, der Anzahl der Ebenen und den Aufmerksamkeitsköpfen und wird bei der Bereitstellung von langen Kontexten oft zum dominierenden Speicherverbraucher.
Technischer Einblick
Während der „Prefill“-Phase verarbeitet das Modell die gesamte Eingabeaufforderung und füllt den Cache; Während der Dekodierung wird pro Schritt ein K/V eines Tokens angehängt und erneut aufgerufen. Die Cache-Größe skaliert als 2 (K und V) × Ebenen × Köpfe × Head_dim × Sequenzlänge × Batch, in der gewählten Genauigkeit. Um dies einzudämmen, verwenden moderne Modelle die Aufmerksamkeit von Gruppen- oder Mehrfachabfragen, um Schlüssel/Werte über mehrere Köpfe hinweg zu teilen, und Bereitstellungssysteme wie vLLM verwenden PagedAttention, um Cache in nicht zusammenhängenden Blöcken zuzuweisen und so Fragmentierung und Verschwendung zu reduzieren.
Strategische Auswirkungen
Geschwindigkeit und Umfang
Sprachworkflows können schneller ablaufen, ohne dass die Konsistenz darunter leidet.
Zugang und Erreichbarkeit
Es erweitert den Zugang über Sprachen und Kommunikationsstile hinweg.
Klarere Entscheidungen
Teams können mehr Zeit für die Beurteilung aufwenden, während die Automatisierung die Wiederholungen bewältigt.
Die Zukunft des KV-Cache
Da sich Kontextfenster auf Hunderttausende von Tokens erstrecken, wird der KV-Cache zum zentralen Engpass, sodass Innovationen heftig sind: Cache-Quantisierung auf 8 oder 4 Bits, Räumungsrichtlinien, die Token mit geringer Bedeutung verwerfen, gemeinsame Nutzung von Präfixen über mehrere Anforderungen hinweg und Auslagerung auf CPU oder Festplatte. Architektonische Veränderungen wie die latente Aufmerksamkeit mehrerer Köpfe komprimieren den Cache selbst. Erwarten Sie eine weitere gemeinsame Gestaltung von Aufmerksamkeitsvarianten und Speichersystemen, die darauf abzielen, sehr lange Kontexte kostengünstig und mit hohem Durchsatz zu bedienen.
Reale Umsetzung
Beschleunigen Sie Chatbot-Antworten durch die Wiederverwendung zwischengespeicherter Schlüssel/Werte aus dem Konversationsverlauf, anstatt sie jede Runde neu zu verarbeiten.
Präfix-Caching, das den Cache für eine lange Systemaufforderung für viele Benutzer gemeinsam nutzt und so Kosten und Latenz senkt.
PagedAttention von vLLM verwaltet den KV-Cache in Blöcken, um viele gleichzeitige Anforderungen auf einer GPU effizient zu bedienen.
Quantisierung des KV-Cache auf eine geringere Präzision, um längere Kontexte in den begrenzten GPU-Speicher zu integrieren.
Risiken und Leitplanken
Halluzinierte Fakten können still und leise in Berichte, Support-Flows oder Forschungsergebnisse einfließen.
Eine schnelle Sensibilität kann bei ähnlichen Anfragen zu inkonsistenten Ergebnissen führen.
Sensible Textdaten können offengelegt werden, wenn die Zugriffskontrollen schwach sind.
Implementierungs-Roadmap
Definieren Sie vor dem Rollout Ausgabeformat, Ton und Qualitätsstandards.
Bodenantworten mit vertrauenswürdigen Quellen, wann immer es auf Genauigkeit ankommt.
Halten Sie einen Kontrollpunkt für die menschliche Überprüfung für Ergebnisse mit hohem Risiko ein.
Verfolgen Sie Fehlermuster und trainieren Sie Eingabeaufforderungen oder Arbeitsabläufe regelmäßig neu.
Entdecken Sie weiter
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.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Nächster Leitfaden
KV-Cache-Optimierung
Häufig gestellte Fragen
What is KV Cache?
Der KV-Cache speichert die Schlüssel- und Wertvektoren, die ein Transformator bereits für frühere Token berechnet hat, sodass er sie nicht für jedes neue Wort, das er generiert, neu berechnen muss. Dies ist der Hauptgrund dafür, dass die Textgenerierung schnell ist – und der Hauptgrund dafür, dass bei langen Gesprächen Ihr GPU-Speicher beansprucht wird.
Was speichert der KV-Cache?
Der KV-Cache speichert die Schlüssel- und Wertvektoren früherer Token, sodass die Aufmerksamkeit sie wiederverwenden kann, anstatt sie neu zu berechnen.
Welches Problem löst der KV-Cache hauptsächlich?
Ohne Caching müsste für jedes neue Token das K/V für jedes vorherige Token neu berechnet werden, was verschwenderisch ist. Durch den Cache bleiben die Kosten pro Token ungefähr konstant.
Was ist der Hauptnachteil des KV-Cache?
Der Cache wächst mit der Sequenzlänge, den Ebenen und den Köpfen und wird häufig zum Hauptverbraucher des GPU-Speichers bei der Bereitstellung langer Kontexte.
Welche Technik reduziert die KV-Cache-Größe durch die gemeinsame Nutzung von Schlüsseln und Werten zwischen den Aufmerksamkeitsköpfen?
Durch gruppierte Abfragen und die Aufmerksamkeit mehrerer Abfragen können mehrere Abfrageköpfe weniger Schlüssel-/Wertsätze gemeinsam nutzen, wodurch der Cache erheblich verkleinert wird.
Was sind die beiden Phasen der Transformatorinferenz relativ zum KV-Cache?
Prefill füllt den Cache mit dem K/V des Prompts; Bei der Dekodierung wird bei jedem Schritt ein neues Token-K/V angehängt und der Cache erneut überprüft.