Sprach-KI-GUIDE

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.

2 Minuten gelesenZuletzt aktualisiert

Ü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

1

Definieren Sie vor dem Rollout Ausgabeformat, Ton und Qualitätsstandards.

2

Bodenantworten mit vertrauenswürdigen Quellen, wann immer es auf Genauigkeit ankommt.

3

Halten Sie einen Kontrollpunkt für die menschliche Überprüfung für Ergebnisse mit hohem Risiko ein.

4

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.

Quiz starten

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

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.