Als nächstesNächster Leitfaden
KServe und Model Serving auf Kubernetes
Technisch
Technischer Leitfaden
Eine Bereitstellungsarchitektur, die die Inferenz großer Sprachmodelle in zwei separate Phasen aufteilt – Vorabfüllung und Dekodierung – und diese auf verschiedenen GPU-Pools ausführt.
It matters because these two phases have opposite hardware appetites, and forcing them onto the same machines wastes capacity and hurts latency.
Wenn ein LLM antwortet, erfolgt die Arbeit in zwei Schritten. Prefill liest die gesamte Eingabeaufforderung auf einmal und erstellt den Schlüsselwert-Cache (KV). Dies ist ein großer, paralleler, rechengebundener Burst, der die mathematischen Einheiten der GPU überlastet. Die Dekodierung generiert dann nacheinander Token, wobei jeder Schritt den gesamten KV-Cache liest – ein an die Speicherbandbreite gebundenes Rinnsal mit geringem Rechenaufwand. Zusammengenommen blockiert ein langes Vorfüllen die Dekodierung aller (Head-of-Line-Blockierung), und die Stapelung beider führt zu Interferenzen. Durch die Disaggregation wird ein GPU-Pool vorbefüllt und ein anderer dekodiert, wobei der KV-Cache zwischen ihnen über schnelle Verbindungen wie NVLink oder InfiniBand übertragen wird. Jeder Pool wird unabhängig optimiert und skaliert, wodurch der Goodput verbessert, die Tail-Latenz geglättet wird und es den Betreibern ermöglicht wird, gleichzeitig enge Ziele für die Zeit bis zum ersten Token und die Zeit pro Ausgabe-Token zu erreichen.
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.
Erwarten Sie, dass die Disaggregation in Produktions-Stacks zum Standard wird. Systeme wie DistServe, Splitwise und Mooncake haben es populär gemacht, und vLLM und NVIDIA Dynamo bieten jetzt disaggregierte Modi an. Die Forschung treibt die Optimierung der KV-Cache-Übertragung, das Cache-Pooling und die Wiederverwendung über mehrere Anfragen hinweg, die dynamische Neuausrichtung der Vorfüll-/Dekodierungsverhältnisse bei wechselndem Datenverkehr sowie eine engere Integration mit Präfix-Caching und Chunked Prefill voran. Da Kontextfenster Millionen von Token umfassen, wird die Trennung dieser Phasen für eine kostengünstige Bereitstellung mit geringer Latenz immer wichtiger.
Ein Chat-Assistent leitet Eingabeaufforderungen für lange Dokumente an einen rechenintensiven Prefill-Cluster weiter und streamt dann Antworten von einem speicheroptimierten Dekodierungscluster, um eine reibungslose Eingabelatenz zu gewährleisten.
Mit NVIDIA Dynamo und vLLM können Betreiber separate Vorfüll- und Dekodierungs-Worker-Gruppen bereitstellen, sodass eine Reihe langer Eingabeaufforderungen laufende Generationen nicht einfrieren.
Mooncake (verwendet von Kimi von Moonshot AI) disaggregiert Vorfüllung und Dekodierung und fügt einen verteilten KV-Cache-Pool hinzu, um redundante Prompt-Neuberechnungen im großen Maßstab zu reduzieren.
Ein Code-Vervollständigungsdienst stellt einen kleinen Vorfüllpool für kurze Eingabeaufforderungen und einen großen Dekodierungspool zur Verfügung, da die meisten Kosten durch das Streamen vieler Ausgabetoken entstehen.
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
Eine Bereitstellungsarchitektur, die die Inferenz großer Sprachmodelle in zwei separate Phasen aufteilt – Vorabfüllung und Dekodierung – und diese auf verschiedenen GPU-Pools ausführt. Dies ist wichtig, da diese beiden Phasen unterschiedliche Hardware-Anforderungen haben und wenn sie auf dieselben Maschinen gezwungen werden, wird Kapazität verschwendet und die Latenz beeinträchtigt.
Prefill verarbeitet die gesamte Eingabeaufforderung parallel und sättigt die Rechenleistung, während Decode bei jedem Schritt den KV-Cache liest und durch die Speicherbandbreite begrenzt ist – gegensätzliche Wünsche, die separate, unabhängig abgestimmte Pools rechtfertigen.
Prefill erstellt den KV-Cache für die Eingabeaufforderung. Die Dekodierung benötigt diesen Cache, um mit der Generierung fortzufahren. Daher wird der Cache über eine schnelle Verbindung an den Dekodierungspool gesendet.
Auf gemeinsam genutzten GPUs kann ein langer Prefill-Burst laufende Dekodierschritte blockieren; Ihre Trennung verhindert diese Interferenz und stabilisiert die Tail-Latenz.
Prefill verarbeitet alle Prompt-Tokens zusammen, sodass größere Chargen die Tensorkerne gut versorgen; decode generiert jeweils ein Token und wird durch den Speicher gesteuert, sodass es unterschiedlich skaliert.
Damit die KV-Cache-Übertragung nicht zum neuen Engpass wird, sind Verbindungen mit hoher Bandbreite und geringer Latenz wie NVLink (knotenintern) und InfiniBand (knotenintern) erforderlich.
Lerne weiter
Weitere Leitfäden zu diesem Thema ausgewählt
Als nächstesNächster Leitfaden
KServe und Model Serving auf Kubernetes
Technisch