KV-Cache (Key-Value Cache)
Eine Speicheroptimierung in Transformer-Modellen, die Schlüssel- und Wertvektoren (Keys and Values) bereits verarbeiteter Tokens im schnellen GPU-Speicher speichert. Dies ermöglicht die sofortige Generierung jedes nächsten Wortes, führt jedoch zu einem rapiden Anstieg des Speicherverbrauchs mit jeder neuen Nachricht im Chat.
1. Überblick über das Konzept und den Zweck
Wenn Sie mit einem Sprachmodell interagieren, fallen zwei Dinge auf:
- Das Modell generiert Wörter mit einer stabilen Geschwindigkeit (z. B. 40 Wörter pro Sekunde). Es verlangsamt sich nicht gegen Ende einer langen Antwort.
- Wenn die Konversation jedoch bereits eine Stunde läuft und der Nachrichtenverlauf sehr groß geworden ist, wirft die Anwendung plötzlich einen Fehler: „Out of Memory“ (Grafikspeicher erschöpft).
Für beide Phänomene ist ein Mechanismus verantwortlich – der KV-Cache (Key-Value Cache).
Aus praktischer Sicht handelt es sich um ein kurzfristiges Gedächtnisheft des KI-Systems: Um für jedes neue Wort nicht die gesamte bisherige Konversation von Grund auf neu lesen zu müssen, speichert das Modell die mathematischen Ergebnisse der bereits gelesenen Wörter in einem extrem schnellen Puffer des Grafikspeichers.
2. Wie der KV-Cache die Generierungsgeschwindigkeit rettet
БЕЗ KV-КЕШУ (Катастрофічне сповільнення):
Генерація слова 1 ➔ Рахуємо слово 1 (1 дія)
Генерація слова 2 ➔ Перераховуємо слова 1, 2 (2 дії)
Генерація слова 100➔ Перераховуємо всі 100 слів заново (100 дій!)
... Швидкість падає майже до нуля!
─────────────────────────────────────────────────────────────
З KV-КЕШЕМ (Постійна блискавична швидкість):
Слова 1..99 вже прораховані й лежать у KV-кеші відеопам'яті!
Генерація слова 100 ➔ Розрахунок лише ОДНОГО нового токена!
⚡ Швидкість залишається однаково високою від першого до останнього слова.
3. Warum der freie GPU-Speicher schmilzt
Viele Nutzer wundern sich:
- „Das Modell belegt nur 5 GB, meine Grafikkarte hat aber 8 GB. Warum stürzt sie nach dem Laden eines großen PDFs ab?“
Der Grund liegt darin, dass die verbleibenden 3 GB Reserve sofort vom KV-Cache belegt werden:
- Jedes Token im Kontext erfordert die Speicherung der Key- und Value-Vektoren in jeder Transformer-Ebene.
- Bei einem langen Dokument mit 32.000 Tokens kann die Größe dieser Tabelle im Speicher sogar das Gewicht des Modells selbst übertreffen!
4. Praktische Schlussfolgerung
Wenn Ihre lokale Chat-Anwendung aufgrund von Speichermangel abstürzt, müssen Sie nicht zwingend auf ein kleineres Modell wechseln: Es reicht oft aus, die Größe des Kontextfensters zu begrenzen (z. B. von 32k auf 8k Tokens) oder den Verlauf alter Chats zu löschen, wodurch der KV-Cache freigegeben wird.
FAQ: KV-Cache (Key-Value Cache)
Verwandte Begriffe
Kontextfenstergröße (Gedächtnis der aktuellen Konversation)
Die maximale Textmenge (in Tokens), die ein Sprachmodell während einer laufenden Unterhaltung gleichzeitig im Speicher halten kann. Sie bestimmt, welche Dokumentlänge ohne Inhaltsverlust auf einmal hochgeladen werden kann.
Videospeicher (VRAM) für KI
Der Videospeicher der Grafikkarte (Video RAM), in dem die Gewichte des neuronalen Netzes und das Kontextfenster geladen werden. Dies ist das wichtigste Hardware-Engpass: Wenn ein Modell nicht in den VRAM passt, startet es entweder gar nicht oder läuft auf einer herkömmlichen CPU um ein Vielfaches langsamer.
Text-Streaming über SSE (Schreibmaschinen-Effekt)
Technologie zur Echtzeitübertragung generierter Tokens an den Browser über das Server-Sent Events (SSE)-Protokoll. Erzeugt einen Schreibmaschinen-Effekt und eliminiert die unangenehme Wartezeit auf die vollständige Antwort.