Als nächstesNächster Leitfaden
KV-Cache
Sprach-KI
Technischer Leitfaden
Der KV-Cache speichert die Schlüssel und Werte, die ein Transformator bereits berechnet hat, sodass er die Arbeit nicht für jedes neue Token wiederholt – es kann jedoch zu Gigabytes kommen.
KV cache optimization shrinks and manages that memory so models serve longer contexts to more users at once.
In einem Transformator kümmert sich jeder neue Token über Aufmerksamkeitsschlüssel (K) und -werte (V) um alle vorherigen Token. Die Neuberechnung von K und V für die gesamte Sequenz bei jedem Schritt wäre quadratisch und verschwenderisch, daher werden sie von den Modellen zwischengespeichert: dem KV-Cache. Der Nachteil ist die Größe. Der Cache wächst linear mit der Sequenzlänge, der Stapelgröße, den Ebenen und den Köpfen, sodass eine Anfrage mit langem Kontext mehr GPU-Speicher verbrauchen kann, als die Modellgewichte selbst. Die Optimierung geht dieses Problem aus mehreren Blickwinkeln an: Ausgelagerter Speicher (vLLMs PagedAttention) speichert den Cache in nicht zusammenhängenden Blöcken, um Fragmentierung zu vermeiden und die gemeinsame Nutzung zu ermöglichen; Quantisierung speichert K und V in 8-Bit oder 4-Bit; und Architekturänderungen wie Grouped-Query Attention (GQA) und Multi-Query Attention (MQA) ermöglichen es vielen Abfrageköpfen, weniger Schlüssel-/Wertköpfe gemeinsam zu nutzen, wodurch die Cache-Größe an der Quelle drastisch reduziert wird.
Architekturentscheidungen beeinflussen über Jahre hinweg die Leistung und die Betriebskosten.
Technische Schulungen helfen Teams dabei, den richtigen Stack auszuwählen, nicht nur den neuesten.
Bessere technische Entscheidungen reduzieren Zuverlässigkeitsvorfälle in der Produktion.
Da sich Kontextfenster auf Hunderttausende oder Millionen von Tokens erstrecken, wird der KV-Cache zum dominierenden Kostenfaktor für die Bereitstellung. Erwarten Sie eine aggressive Cache-Komprimierung und -Eviction (Löschen von Token mit geringer Aufmerksamkeit), eine anforderungsübergreifende gemeinsame Nutzung von Präfixen als Standard, die Auslagerung von kaltem Cache auf CPU oder NVMe und Architekturen wie MLA und GQA, die zum Standard werden. Die Cache-Verwaltung ähnelt zunehmend einer vollständigen Speicherhierarchie mit Ebenen und intelligentem Prefetching.
PagedAttention von vLLM unterstützt viele gleichzeitige Chat-Sitzungen durch Packen von KV-Blöcken ohne Speicherfragmentierung
Grouped-Query Attention in Llama-Modellen reduziert die KV-Cache-Größe, sodass längere Kontexte in den GPU-Speicher passen
Quantisierung des KV-Cache auf 8 Bit (KV8), um den Cache-Speicher während der Zusammenfassung langer Dokumente ungefähr zu halbieren
Präfix-Caching, das die KV-Blöcke einer gemeinsam genutzten Systemeingabeaufforderung über Tausende von API-Anfragen hinweg wiederverwendet
Die Optimierung eines Benchmarks kann umfassendere Systemschwächen verbergen.
Infrastruktur- und Wartungskosten werden oft unterschätzt.
Sicherheits- und Beobachtbarkeitslücken können größer werden, wenn die Systeme komplexer werden.
Definieren Sie vor der Implementierung Latenz-, Qualitäts- und Kostenziele.
Benchmark unter realistischen Last- und Datenbedingungen.
Instrumentenüberwachung auf Fehler, Drift und Benutzereinflüsse.
Bereiten Sie vor der Skalierung Rollback- und Incident-Response-Pfade vor.
Free newsletter
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Der KV-Cache speichert die Schlüssel und Werte, die ein Transformator bereits berechnet hat, sodass er die Arbeit nicht für jedes neue Token wiederholt – es kann jedoch zu Gigabytes kommen. Die KV-Cache-Optimierung verkleinert und verwaltet diesen Speicher, sodass Modelle längere Kontexte für mehr Benutzer gleichzeitig bereitstellen.
Durch das Zwischenspeichern von Schlüsseln und Werten früherer Token wird vermieden, dass die Aufmerksamkeitsberechnung bei jedem neuen Token wiederholt werden muss, was Zeit spart.
Die Cache-Größe skaliert mit der Kontextlänge und Parallelität, sodass lange Anfragen enorme Mengen an GPU-Speicher beanspruchen können.
PagedAttention speichert den Cache in nicht zusammenhängenden Blöcken fester Größe, die durch eine Tabelle zugeordnet werden, genau wie beim Betriebssystem-Paging.
Durch die gemeinsame Nutzung von Schlüssel-/Wertköpfen über mehrere Abfrageköpfe hinweg müssen weitaus weniger K- und V-Vektoren gespeichert werden.
Eine gemeinsame Systemeingabeaufforderung erzeugt identische KV-Einträge, sodass mehrere Anforderungen auf dieselben Blöcke verweisen können, anstatt sie zu duplizieren.
Lerne weiter
Weitere Leitfäden zu diesem Thema ausgewählt
Als nächstesNächster Leitfaden
KV-Cache
Sprach-KI