<EbeneX/>
Architektur LLM · Updated 3. März 2026

KV-Cache

Definition

Ein Optimierungsmechanismus für Transformer-Modelle, der die Key-Value-Paare aus dem Attention-Mechanismus zwischenspeichert, um wiederholte Berechnungen zu vermeiden.

Experte 2 Min. Lesezeit EN: KV-Cache (Key-Value Cache)

Einfach erklärt

Der KV-Cache speichert Zwischenergebnisse der Attention-Berechnung. Ohne Cache müsste das Modell bei jedem neuen Token alle vorherigen Tokens neu verarbeiten – das wäre extrem langsam.

Warum ist das wichtig?

Ohne KV-Cache (Token 100 generieren):
-> Berechne Attention für Token 1-99 neu
-> Dann Token 100
-> O(n²) Komplexität pro Token

Mit KV-Cache:
-> Keys/Values für Token 1-99 aus Cache
-> Nur Token 100 neu berechnen
-> O(n) Komplexität pro Token

Der Trade-off:

Schnellere Inferenz ↔ Mehr VRAM-Verbrauch

Der KV-Cache ist oft der Flaschenhals für lange Kontexte und große Batch-Größen.

Technischer Deep Dive

Wie Attention funktioniert

Attention(Q, K, V) = softmax(QK^T / √d) × V

Q = Query (aktuelles Token)
K = Keys (alle bisherigen Tokens)
V = Values (alle bisherigen Tokens)

Der KV-Cache speichert K und V für alle bisherigen Tokens.

Speicherverbrauch

KV-Cache-Größe = 2 × num_layers × num_heads × head_dim × seq_len × batch_size × dtype_size

Beispiel (Llama 70B, 4K Kontext, Batch 1):
= 2 × 80 × 64 × 128 × 4096 × 1 × 2 bytes
≈ 10.7 GB

Optimierungen

TechnikBeschreibungErsparnis
PagedAttentionNicht-kontinuierlicher Speicher50-90%
QuantisierungFP16 → INT8 Cache50%
Sliding WindowNur letzte N Tokens cachenVariabel
Prefix CachingGemeinsamer Cache für gleiche PrefixeVariabel

vLLM PagedAttention

# vLLM verwaltet KV-Cache automatisch
from vllm import LLM

llm = LLM(model="meta-llama/Llama-2-70b-chat-hf")
# PagedAttention ist standardmäßig aktiviert

Der KV-Cache ist wie ein Notizblock beim Lesen: Statt bei jedem neuen Wort das ganze Buch nochmal zu lesen, notierst du dir die wichtigsten Punkte und schaust nur noch auf deine Notizen.

Speichert Key-Value-Paare aus vorherigen Tokens

Vermeidet redundante Berechnungen bei der Token-Generierung

Hauptgrund, warum LLM-Inferenz viel VRAM braucht

Chat-Anwendungen

Schnelle Antworten durch Caching des Konversationskontexts

Lange Kontexte

Effiziente Verarbeitung von Dokumenten mit vielen Tokens

Batch-Inferenz

Gemeinsamer Prefix-Cache für ähnliche Anfragen

Warum brauchen LLMs so viel VRAM?

Der KV-Cache wächst mit der Kontextlänge und Batch-Größe. Bei 128K Tokens Kontext und großen Modellen kann der Cache mehrere GB VRAM belegen – oft mehr als die Modellgewichte selbst.

Was ist PagedAttention?

Eine Technik von vLLM, die den KV-Cache wie virtuellen Speicher verwaltet: Nicht-kontinuierliche Speicherblöcke werden effizient genutzt, was den VRAM-Bedarf um 50-90% reduzieren kann.

Kann ich den KV-Cache zwischen Anfragen teilen?

Ja, bei Anfragen mit gleichem Prefix (z.B. System Prompt). Prefix Caching spart Rechenzeit und VRAM für wiederkehrende Kontexte.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.