
Key-Value-Cache
Der Key-Value-Cache ist ein Zwischenspeicher, in dem ein Sprachmodell seine Zwischenergebnisse zu bereits geschriebenem Text aufbewahrt. Dadurch muss es beim nächsten Wort nicht den gesamten Text erneut durchrechnen, was Antworten deutlich schneller und billiger macht.
Ein Sprachmodell wie ChatGPT schreibt seine Antwort Wort für Wort. Für jedes neue Wort schaut es auf alles, was vorher schon dasteht. Würde es diesen Rückblick jedes Mal komplett neu berechnen, wäre das enorme Verschwendung. Denn der alte Text ändert sich ja nicht mehr. Der Key-Value-Cache ist der Zwischenspeicher, in dem das Modell die Rechenergebnisse zum alten Text aufbewahrt. Beim nächsten Wort greift es einfach darauf zurück, statt von vorne anzufangen.
Warum Chatbots ohne ihn quälend langsam wären
Ohne diesen Speicher wächst der Aufwand pro Wort mit der Länge des Textes. Beim tausendsten Wort müsste das Modell tausend frühere Wörter neu verarbeiten. Die Antwort würde immer langsamer werden, je länger sie wird. Mit dem Cache bleibt der Aufwand pro Wort dagegen weitgehend konstant.
Das ist kein kleiner Unterschied. Bei langen Texten spart der Cache leicht das Zehn- bis Hundertfache an Rechenarbeit. Genau deshalb kann ein Chatbot flüssig Zeile für Zeile schreiben, statt minutenlang zu stocken. Rechenzeit kostet Geld, also senkt der Cache auch direkt die Betriebskosten eines Anbieters.
Der Preis dafür ist Speicherplatz. Der Cache liegt im schnellen Speicher der Grafikkarte, und der ist knapp und teuer. Bei sehr langen Gesprächen kann der Cache mehrere Gigabyte belegen. Manchmal begrenzt nicht die Rechenleistung, sondern genau dieser Speicherhunger, wie viele Nutzer ein Server gleichzeitig bedienen kann.
Was Keys und Values eigentlich sind
Moderne Sprachmodelle arbeiten mit einem Mechanismus namens Attention, zu Deutsch Aufmerksamkeit. Dabei prüft das Modell für jedes neue Wort, welche früheren Wörter gerade wichtig sind. Jedes Wort im Text bekommt dafür zwei Datenpakete: einen Key und einen Value. Der Key ist so etwas wie ein Suchbegriff, mit dem sich das Wort auffinden lässt. Der Value ist der Inhalt, den das Modell übernimmt, wenn es dieses Wort für relevant hält.
Man kann sich das wie einen Zettelkasten vorstellen. Auf der Karteikarte steht oben das Stichwort, unten der Inhalt. Das neue Wort blättert durch die Stichwörter und liest dort weiter, wo es passt. Keys und Values der alten Wörter ändern sich nicht mehr, sobald sie einmal berechnet sind. Genau deshalb lassen sie sich problemlos speichern und wiederverwenden.
Der Cache füllt sich in zwei Phasen. Zuerst verarbeitet das Modell die gesamte Eingabe auf einmal und legt für jedes Wort Key und Value ab. Diese Phase heißt Prefill. Danach kommt für jedes erzeugte Wort genau ein neuer Eintrag dazu, während alle alten liegen bleiben. Der Cache wächst also stetig mit der Länge des Gesprächs.
Wo der KV-Cache in News und Produkten auftaucht
In Berichten über KI-Rechenzentren geht es oft um Grafikkarten mit sehr viel Speicher. Ein Grund dafür ist der Key-Value-Cache. Auch die Angabe zum Kontextfenster, also wie viele Wörter ein Modell auf einmal überblickt, hängt daran. Kontextfenster von einer Million Wörtern sind vor allem deshalb schwierig, weil der zugehörige Cache riesig wird.
Viele Anbieter werben inzwischen mit sogenanntem Prompt-Caching. Dabei bleibt der Cache für eine gleichbleibende Vorgeschichte über mehrere Anfragen hinweg erhalten. Wer immer dieselbe lange Anweisung an sein Programm schickt, zahlt dafür dann oft nur einen Bruchteil. Bei einigen Anbietern sind das rund 90 Prozent Rabatt auf die wiederholten Teile.
Ein häufiger Irrtum ist, der Cache mache das Modell klüger. Das tut er nicht. Das Ergebnis ist rechnerisch dasselbe wie ohne Cache, es kommt nur schneller. Der Key-Value-Cache ist reine Effizienz, keine zusätzliche Fähigkeit.