Inferenzoptimierung, Serving und Leistungskennzahlen
KV Cache
Heißt auch Key-Value Cache.
Wiederverwendete Attention-Zwischenwerte früherer Tokens.
Der KV Cache speichert Zwischenwerte aus der Aufmerksamkeitsberechnung, die sogenannten Keys und Values, damit sie für jedes weitere Token nicht neu berechnet werden müssen. Ohne ihn müsste bei jedem Schritt der gesamte bisherige Text erneut verarbeitet werden.
Der Speicher ist der Engpass beim Betrieb
Dieser Zwischenspeicher ist groß und verhält sich unangenehm: Er wächst mit jedem erzeugten Token und wird beim Ende einer Anfrage wieder frei. Wird er schlecht verwaltet, geht Platz durch Verschnitt und Doppelungen verloren, was die Zahl gleichzeitig bearbeitbarer Anfragen senkt. Genau dafür wurde eine Verwaltung in Blöcken nach dem Vorbild von Betriebssystemen vorgeschlagen. Kwon et al.
Weil der Platz begrenzt ist, entscheidet er mit darüber, wie viele Anfragen gebündelt laufen und wie lang der Kontext je Anfrage sein darf. Agrawal et al.
So kannst du dir das vorstellen
Der Cache ist der Notizzettel neben dem Diktat. Statt vor jedem Satz die ganze Akte nochmal zu lesen, schaut man auf die Notizen. Die Notizen werden mit jeder Seite länger, und irgendwann ist der Tisch voll. Das Bild erklärt Zweck und Grenze, nicht die Berechnung.
Was es in der Praxis bedeutet
Für Betreiber ist der Speicherbedarf dieses Caches die Hauptgröße bei der Kapazitätsplanung, und deshalb gibt es Verfahren, ihn zu verkleinern oder auszulagern. Für Anwender erklärt er, warum lange Sitzungen teurer und langsamer werden.
Er erklärt außerdem, warum ein gleichbleibender Prompt-Anfang Geld spart: Der zugehörige Teil des Caches lässt sich wiederverwenden, statt ihn für jede Anfrage neu aufzubauen.
Wo es verwechselt wird
Der KV Cache ist kein Gedächtnis über Sitzungen hinweg: Er lebt nur während einer Anfrage oder solange ein Präfix zwischengespeichert bleibt. Und er ist nicht das Kontextfenster, sondern der Speicher, der dessen Verarbeitung ermöglicht.
Verwandte Begriffe
Prompt Caching, PagedAttention, KV Cache Offloading, KV Cache Quantization, Decode Phase, Context Window.