Zurück zum Glossar

Begriff

KV-Cache

Der KV-Cache (Key-Value-Cache) speichert während der Textgenerierung eines Sprachmodells die bereits berechneten Key- und Value-Vektoren der Attention-Schichten zwischen. So muss pro neuem Token nicht der gesamte Kontext neu berechnet werden, was die Inferenz deutlich beschleunigt.

KV-Cache — ausführlich erklärt

Der KV-Cache (Key-Value-Cache) ist ein Optimierungsmechanismus bei der Inferenz von Transformer-Sprachmodellen. In der Attention-Berechnung wird jedes Token in drei Vektoren überführt: Query, Key und Value. Um ein neues Token vorherzusagen, vergleicht das Modell die Query des aktuellen Tokens mit den Keys aller vorherigen Tokens und gewichtet damit deren Values.

Ohne Zwischenspeicher müsste das Modell bei jedem neu erzeugten Token die Key- und Value-Vektoren für die gesamte bisherige Sequenz erneut berechnen. Da Sprachmodelle Text Token für Token (autoregressiv) erzeugen, würde dieser Aufwand mit jeder Position quadratisch wachsen. Der KV-Cache speichert die einmal berechneten Key- und Value-Vektoren und stellt sie bei jedem weiteren Schritt wieder bereit. Pro neuem Token müssen dann nur noch dessen eigene Vektoren berechnet werden.

Der Preis dafür ist Speicherbedarf: Der Cache wächst linear mit der Sequenzlänge und der Modellgröße und kann bei langen Kontexten zum begrenzenden Faktor für den Output-Token-Durchsatz werden. Techniken wie Multi-Query- und Grouped-Query-Attention reduzieren diesen Bedarf, indem sich mehrere Attention-Köpfe gemeinsame Key- und Value-Vektoren teilen.

Beispiel / Praxisbezug

Bei einem Chatbot, der eine lange Antwort generiert, sorgt der KV-Cache dafür, dass jedes weitere Wort schnell und mit gleichbleibendem Rechenaufwand pro Token erscheint. Würde der Cache geleert, müsste das Modell den gesamten bisherigen Verlauf neu verarbeiten. Genau deshalb belegt eine lange Konversation oder ein großes Kontextfenster auf der Hardware spürbar Arbeitsspeicher: Der KV-Cache aller Tokens muss gleichzeitig vorgehalten werden.

Abgrenzung zu ähnlichen Begriffen

Der KV-Cache ist nicht mit dem Kontextfenster gleichzusetzen. Das Kontextfenster beschreibt die maximale Anzahl an Tokens, die ein Modell verarbeiten kann; der KV-Cache ist die konkrete technische Datenstruktur, die die Zwischenergebnisse zu diesen Tokens während der Generierung hält. Auch unterscheidet er sich von Caching auf Anwendungsebene (etwa Prompt-Caching), das ganze Anfragen oder Teil-Prompts wiederverwendet — der KV-Cache wirkt dagegen innerhalb eines einzelnen Generierungslaufs auf Ebene der Attention-Schichten.

Entdecke mehr