Technischer Leitfaden

Kontinuierliche Dosierung

Kontinuierliches Batching ist eine Bereitstellungstechnik, die Anforderungen Token für Token zu einem laufenden Batch hinzufügt und daraus entfernt, anstatt darauf zu warten, dass ein ganzer fester Batch abgeschlossen ist.

  • 2 Minuten gelesen
  • Zuletzt aktualisiert
Auf dieser Seite2 Minuten gelesen
  1. Übersicht
  2. Tiefer Einblick
  3. Strategische Auswirkungen
  4. Die Zukunft der kontinuierlichen Dosierung
  5. Reale Umsetzung
  6. Risiken und Leitplanken
  7. Implementierungs-Roadmap
  8. Entdecken Sie weiter
  9. Häufig gestellte Fragen

Übersicht

It keeps the GPU constantly busy and sharply increases how many users an AI model can serve at once.

Tiefer Einblick

GPUs sind am schnellsten, wenn sie viele Anfragen gleichzeitig in einem Stapel verarbeiten. Beim naiven Ansatz, dem statischen Stapeln, wird ein fester Satz von Anforderungen gruppiert, alle werden bis zum Abschluss ausgeführt und dann wird der nächste Stapel gestartet. Das Problem: Die Länge der Sprachmodellausgaben variiert stark, sodass kurze Anfragen früher enden und ihre Slots ungenutzt bleiben, während der Batch auf die längste wartet, wodurch GPU-Zyklen verschwendet werden und Neuankömmlinge verzögert werden. Kontinuierliches Batching (auch In-Flight- oder Iteration-Level-Batching genannt, populär gemacht durch das Orca-Papier und verwendet in vLLM, TensorRT-LLM und TGI) arbeitet mit der Granularität eines einzelnen Decodierungsschritts. Nachdem jedes Token generiert wurde, verlassen fertige Sequenzen den Stapel und neu eingetroffene Anforderungen werden sofort eingefügt. Dadurch bleibt der Stapel voll und die GPU ausgelastet, was den Durchsatz oft um ein Vielfaches steigert und die Latenz für wartende Benutzer verringert.

Strategische Auswirkungen

Kosten und Budget

Architekturentscheidungen beeinflussen über Jahre hinweg die Leistung und die Betriebskosten.

Klarere Entscheidungen

Technische Schulungen helfen Teams dabei, den richtigen Stack auszuwählen, nicht nur den neuesten.

Qualitätskontrolle

Bessere technische Entscheidungen reduzieren Zuverlässigkeitsvorfälle in der Produktion.

Die Zukunft der kontinuierlichen Dosierung

Kontinuierliche Dosierung ist mittlerweile Standard bei der LLM-Produktion in der Produktion. Zukünftige Arbeiten verfeinern den Scheduler: Trennung der rechenintensiven Prefill-Phase von der leichteren Decodierungsphase (Disaggregation), Chunked Prefill, um Verzögerungen bei der Decodierung zu vermeiden, Prioritäts- und Fairness-Richtlinien für gemischte Arbeitslasten und engere Kopplung mit spekulativer Decodierung, sodass pro Schritt mehrere Entwurfstoken validiert werden. Das Ziel besteht darin, die maximale Anzahl an Tokens pro Sekunde pro GPU herauszuquetschen und gleichzeitig die individuelle Antwortlatenz niedrig und vorhersehbar zu halten.

Reale Umsetzung

Eine Chat-API, die neu eingegangene Benutzernachrichten sofort in den laufenden Stapel aufnimmt, anstatt sie für den nächsten Stapel in die Warteschlange zu stellen

Entfernen einer kurzen abgeschlossenen Antwort mitten im Batch und Auffüllen ihres Steckplatzes, damit die GPU nie im Leerlauf auf eine lange Generation warten muss

Durch die Kombination von kontinuierlichem Batching mit PagedAttention von vLLM können Sequenzen bei jedem Decodierungsschritt kostengünstig eingefügt und entfernt werden

Ein Code-Vervollständigungsdienst, der bei hohem Datenverkehr mit variabler Länge hohe Tokens pro Sekunde aufrechterhält, indem er den Batch voll hält

Risiken und Leitplanken

  • 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.

Implementierungs-Roadmap

  1. Definieren Sie vor der Implementierung Latenz-, Qualitäts- und Kostenziele.

  2. Benchmark unter realistischen Last- und Datenbedingungen.

  3. Instrumentenüberwachung auf Fehler, Drift und Benutzereinflüsse.

  4. Bereiten Sie vor der Skalierung Rollback- und Incident-Response-Pfade vor.

Entdecken Sie weiter

Free newsletter

Get the daily AI briefing

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

Take the Continuous Batching quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Quiz starten

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Häufig gestellte Fragen

What is Continuous Batching?

Kontinuierliches Batching ist eine Bereitstellungstechnik, die Anforderungen Token für Token zu einem laufenden Batch hinzufügt und daraus entfernt, anstatt darauf zu warten, dass ein ganzer fester Batch abgeschlossen ist. Dadurch wird die GPU ständig ausgelastet und die Anzahl der Benutzer, die ein KI-Modell gleichzeitig bedienen kann, deutlich erhöht.

Was ist die Hauptschwäche der statischen (festen) Stapelverarbeitung für die LLM-Bereitstellung?

Da die Ausgabelängen variieren, bleiben fertige Sequenzen im Leerlauf, bis die langsamste abgeschlossen ist. Dadurch werden GPU-Zyklen verschwendet und neue Anforderungen verzögert.

Mit welcher Granularität werden bei der kontinuierlichen Stapelverarbeitung Anforderungen hinzugefügt und entfernt?

Kontinuierliche Stapelverarbeitung (auf Iterationsebene) aktualisiert den aktiven Satz nach jedem einzelnen Dekodierungsschritt, sodass die Verarbeitung Token für Token und nicht pro gesamter Anforderung erfolgt.

Was passiert mit ihrem Slot, wenn eine Sequenz mitten im Batch bei kontinuierlicher Batchverarbeitung endet?

Abgeschlossene Sequenzen werden entfernt und wartende Anfragen werden sofort eingefügt, sodass der Stapel voll bleibt und die GPU ausgelastet bleibt.

Welche Technik lässt sich auf natürliche Weise mit kontinuierlicher Stapelverarbeitung kombinieren, um das Einfügen/Entfernen von Sequenzen kostengünstig zu gestalten?

PagedAttention speichert den KV-Cache jeder Sequenz in unabhängigen Blöcken, sodass das Hinzufügen oder Entfernen einer Sequenz während des Flugs den Speicher anderer nicht stört.

Welcher Forschungsarbeit wird gemeinhin die Popularisierung der (kontinuierlichen) Stapelverarbeitung auf Iterationsebene zugeschrieben?

Das Orca-Papier führte die Planung auf Iterationsebene ein und die Idee wurde von Serversystemen wie vLLM, TGI und TensorRT-LLM übernommen.