
KV-Cache
Der KV-Cache ist ein Zwischenspeicher, in dem ein Sprachmodell seine Rechenergebnisse zu bereits geschriebenen Wörtern behält. Dadurch muss es beim nächsten Wort nicht den gesamten Text neu durchrechnen, was Antworten deutlich schneller und günstiger macht.
Ein Chatbot schreibt seine Antwort nicht auf einmal, sondern Wort für Wort. Für jedes neue Wort schaut das Programm auf alles, was vorher schon dasteht: die Frage des Nutzers und den bisher erzeugten Text. Ohne Hilfsmittel müsste es diesen ganzen Text bei jedem einzelnen Wort komplett neu durchrechnen. Der KV-Cache verhindert genau das. Er ist ein Zwischenspeicher, in dem die Rechenergebnisse zu jedem bereits verarbeiteten Wort liegen bleiben. Beim nächsten Wort holt das Programm diese Ergebnisse einfach heraus, statt sie zum zweiten Mal zu berechnen.
Warum Antworten ohne ihn quälend langsam wären
Die Ersparnis wächst mit der Länge des Textes. Beim zehnten Wort spart man wenig, beim tausendsten Wort spart man enorm viel. Ohne Zwischenspeicher steigt der Rechenaufwand für eine lange Antwort etwa quadratisch: doppelte Länge bedeutet ungefähr vierfache Arbeit. Mit dem Cache wächst der Aufwand nur noch linear mit der Länge.
In der Praxis entscheidet das darüber, ob ein Produkt benutzbar ist. Ein Assistent, der eine Seite Text in zwei Sekunden schreibt, fühlt sich flüssig an. Derselbe Assistent ohne Cache bräuchte dafür ein Vielfaches an Zeit und Strom. Da Anbieter jede einzelne Antwort bezahlen, ist der KV-Cache auch ein reiner Kostenfaktor.
Der Preis dafür ist Speicherplatz. Der Cache liegt im schnellen Speicher der Grafikkarte, und er wächst mit jedem Wort weiter an. Bei sehr langen Unterhaltungen kann er mehrere Gigabyte belegen. Deshalb passen auf eine Grafikkarte oft nur begrenzt viele Nutzer gleichzeitig, obwohl das Modell selbst längst geladen ist.
Was genau im Speicher landet
Sprachmodelle arbeiten mit einem Mechanismus namens Attention, zu deutsch Aufmerksamkeit. Dabei berechnet das Modell für jedes Wort drei Zahlenlisten. Eine davon heißt Query, also Anfrage, die beiden anderen Key und Value, also Schlüssel und Wert. Vereinfacht gesagt fragt die Query: welche früheren Wörter sind für mich gerade relevant? Die Keys der früheren Wörter dienen als Adressetiketten, die Values als der eigentliche Inhalt.
Der entscheidende Punkt: Key und Value eines Wortes ändern sich nicht mehr, sobald sie berechnet sind. Sie hängen nur von diesem Wort und dem Text davor ab, nicht von dem, was noch kommt. Also kann man sie aufbewahren. Genau diese beiden Listen wandern in den Speicher, daher der Name Key-Value-Cache oder kurz KV-Cache.
Man kann sich das wie eine Kartei vorstellen. Jedes verarbeitete Wort bekommt eine Karte mit Etikett und Inhalt. Kommt ein neues Wort dazu, wird nur eine einzige neue Karte angelegt. Die alten Karten werden gelesen, aber nie neu geschrieben. Ein häufiger Irrtum ist, der Cache speichere Antworten auf ganze Fragen. Das tut er nicht: er speichert Zwischenergebnisse innerhalb einer laufenden Antwort.
Kontextfenster, Preislisten und Prompt-Caching
Der KV-Cache steckt hinter vielen Angaben, die man in Produktankündigungen liest. Wenn ein Anbieter mit einem großen Kontextfenster wirbt, also mit der Menge an Text, die ein Modell gleichzeitig berücksichtigen kann, dann ist der Speicher für den Cache die eigentliche technische Hürde. Ein Fenster von einer Million Wörtern klingt harmlos, kostet aber sehr viel Grafikkartenspeicher.
Manche Anbieter verkaufen den Cache sogar direkt als Funktion. Unter Namen wie Prompt-Caching bleiben die Keys und Values eines langen, immer gleichen Vorspanns über mehrere Anfragen hinweg gespeichert. Wer etwa jedes Mal dasselbe Firmenhandbuch mitschickt, zahlt für diesen Teil dann deutlich weniger. In Preislisten stehen dafür eigene, günstigere Tarife.
Auch in Forschungsmeldungen taucht der Begriff regelmäßig auf. Verfahren wie Multi-Query Attention oder PagedAttention haben vor allem ein Ziel: den Cache kleiner oder besser verwaltet zu machen. Wenn also von schnelleren und billigeren Modellen die Rede ist, geht es überraschend oft nicht um Intelligenz, sondern um Speicherverwaltung.