Continuous Batching
InferenzDynamisches Bündeln von LLM-Anfragen während der Laufzeit – statt fixer Batches werden Slots sofort neu belegt und der GPU-Durchsatz maximiert.
Das Problem mit statischen Batches
Klassische Batch-Inferenz gruppiert eine feste Anzahl von Anfragen, verarbeitet sie gemeinsam und wartet, bis alle fertig sind – auch wenn einzelne Sequenzen früh enden. Kurze Anfragen blockieren damit GPU-Kapazität, die bereits frei wäre.
Continuous Batching löst dieses Problem durch ein Iterationsebenen-Scheduling: Nach jedem Dekodierungsschritt können fertige Sequenzen aus dem Batch entfernt und neue Anfragen unmittelbar eingefügt werden.
Technische Funktionsweise
Der Inference-Server verwaltet einen Pool offener Slots. Endet eine Sequenz, wird der Slot sofort einer wartenden Anfrage zugeteilt. Das Verfahren kombiniert sich gut mit PagedAttention (bekannt aus vLLM), das GPU-Speicher für den KV-Cache seitenweise verwaltet und so die Slot-Auslastung weiter verbessert.
- Bis zu 20-fach höherer Durchsatz gegenüber statischem Batching (je nach Anfragemix)
- Latenz für kurze Anfragen sinkt, da keine langen Sequenzen blockieren
- Voraussetzung: Inference-Framework muss iterationsbasiertes Scheduling unterstützen
- Implementiert in vLLM, TGI (Text Generation Inference) und TensorRT-LLM
Analogie
Continuous Batching funktioniert wie ein Taxistand, bei dem jedes fertige Taxi sofort neu beladen wird – statt zu warten, bis alle gleichzeitig losfahren.
Relevanz für den Mittelstand
Für Unternehmen, die einen gemeinsamen LLM-Endpunkt für mehrere interne Anwendungen oder Nutzer betreiben, ist Continuous Batching ein entscheidender Hebel: Dieselbe GPU-Hardware bedient deutlich mehr gleichzeitige Anfragen, was die Kosten pro Anfrage senkt und teure Skalierungsschritte hinauszögert.
← Zurück zum Glossar