Inferenzoptimierung, Serving und Leistungskennzahlen
Continuous Batching
Dynamisches Aufnehmen und Entfernen von Anfragen während der Verarbeitung.
Continuous Batching bündelt Anfragen laufend: Neue Anfragen kommen dazu, sobald Platz frei wird, und fertige verlassen den Bündel sofort, statt dass alle aufeinander warten. Das ist der Unterschied zur starren Bündelung, bei der eine Gruppe gemeinsam beginnt und gemeinsam endet.
Gemeinsam rechnen lohnt sich, gemeinsam warten nicht
Der Gewinn kommt daher, dass die Modellgewichte bei der Ausgabeerzeugung für alle Anfragen im Bündel nur einmal gelesen werden müssen. Ohne Bündelung liegt die Rechenkapazität weitgehend brach.
Das Problem der starren Variante ist das Warten: Eine Anfrage mit langer Antwort hält alle kurzen fest. Deshalb arbeiten heutige Systeme auf Ebene einzelner Schritte und tauschen die Zusammensetzung des Bündels laufend aus. Wie viele Anfragen gleichzeitig laufen können, begrenzt dabei der Speicher für die Zwischenwerte. Kwon et al. Ergänzend wird die Verarbeitung langer Eingaben zerlegt, damit sie die laufenden Ausgaben nicht blockiert. Agrawal et al.
So kannst du dir das vorstellen
Ein Bus, der an jeder Haltestelle Leute ein- und aussteigen lässt, statt zu warten, bis alle Fahrgäste dasselbe Ziel haben. Das Bild erklärt den laufenden Austausch, nicht die Planung der Route.
Was es in der Praxis bedeutet
Für Betreiber ist das die wichtigste Einstellung für den Durchsatz. Die Kehrseite: Je voller der Bündel, desto langsamer wird die einzelne Antwort, weil sich alle die Rechenzeit teilen. Wer Antwortzeiten zusagen will, muss die Zahl gleichzeitiger Anfragen begrenzen.
Für Anwender erklärt das Verfahren, warum dieselbe Anfrage zu unterschiedlichen Tageszeiten unterschiedlich schnell beantwortet wird, ohne dass sich am Modell etwas geändert hat.
Wo es verwechselt wird
Continuous Batching ist nicht Batch Inference: Hier geht es um laufende Anfragen in einem Dienst, dort um die gesammelte Verarbeitung vieler Eingaben ohne Zeitdruck. Und mehr Bündelung heißt nicht schnellere Einzelantwort.
Verwandte Begriffe
Batch Inference, Concurrency, Model Serving, KV Cache, Latency, Tokens per Second.