ToolNavs KI-Tool-Verzeichnis
Tool einreichen Anmelden
Zurück zu KI-Enzyklopädie
Was ist kontinuierliche Batch-Verarbeitung? Warum planen große Modelldienste Anfragen nach Generationsschritten?

Was ist kontinuierliche Batch-Verarbeitung? Warum planen große Modelldienste Anfragen nach Generationsschritten?

KI-Enzyklopädie Admin 4 Aufrufe

Continuous Batch Processing ist eine dynamische Planungsmethode auf Serverseite großer Modelle: Das System muss nicht warten, bis alle Anfragen im selben Batch generiert sind, bevor es den nächsten Batch ersetzt; stattdessen entfernt es nach jedem Generationsschritt abgeschlossene Anfragen und fügt neue hinzu. Es verbessert hauptsächlich die GPU-Auslastung und den Gesamtdurchsatz und zielt auf die Serviceeffizienz ab, wenn mehrere Personen das Modell gleichzeitig aufrufen.

Warum statische Chargenverarbeitung anfällig für leeres Warten ist

Traditionelle Batch-Prozessoren stellen zunächst eine Reihe von Anfragen zusammen und führen diese dann gemeinsam aus. Aber die Eingabe- und Ausgabelängen der Generierungsaufgaben variieren stark: Manche antworten mit nur wenigen Dutzend Tokens, während andere hunderte Schritte zurücklegen müssen. Nach Abschluss einer kurzen Anfrage kann ihre Position leer bleiben, während spätere Anfragen nur noch in der Warteschlange warten können, bis der gesamte Batch abgeschlossen ist.

Die kontinuierliche Batch-Verarbeitung schränkt die Planungsgranularität von "einer vollständigen Anfrage" auf eine "aktuelle Generierungsiteration" ein. Nach jeder Runde der Token-Generierung überprüft der Scheduler, welche Sequenzen enden und welche eingegeben werden können, und bildet die nächste Charge zusammen. Batch-Mitglieder ändern sich kontinuierlich, weshalb dies oft als iteratives Schema oder dynamische Batch-Verarbeitung bezeichnet wird.

Ein Einsatz erfordert die gleichzeitige Bearbeitung von drei Aufgaben

  • Durchsatz: Versuche, die verfügbaren Rechenressourcen zu füllen, damit mehr Anfragen gemeinsam voranschreiten können.
  • Latenz: Es geht nicht nur darum, auf größere Chargen zu warten, sondern auch darum, Nutzer, die bereits angekommen sind, in langen Warteschlangen zu halten.
  • Videospeicher: Jede aktive Sequenz muss ihren kontextuellen Zustand behalten. Je größer der Batch, desto höher der Speicherdruck auf KV Cache.

Daher ist das Chargenlimit nicht immer so gut wie möglich. Das Service-Framework behandelt außerdem die Beseitigung von Abfall unterschiedlicher Länge, präventive Strategien, Priorisierung, Fairness sowie Eingabe-Pre-Padding und Token-per-Token-Dekodierung, die unterschiedliche Rechenleistungsanforderungen erfordern.

Was werden die Nutzer fühlen?

In gleichzeitigen und stabilen Online-Diensten reduziert kontinuierliche Batchverarbeitung oft Warteschlangenlücken und ermöglicht es mehr Nutzern, denselben Satz an GPUs zu bedienen. Ein erhöhter Durchsatz bedeutet jedoch nicht, dass jede Anfrage schneller ist: Wenn der Scheduler Überlastungsbedingungen verfolgt, können Anfragen mit niedriger Priorität länger warten, und die Latenz für einzelne Anfragen kann sogar steigen.

Während der Auswertung sollten die Verzögerung des ersten Tokens, das Intervall zwischen den folgenden Tokens, die Gesamtzahl der Token pro Sekunde und die hochrangige Latenz separat beobachtet werden. Persönliche lokale Bereitstellungen mit geringer Nebenläufigkeit können kaum dynamische Chargen erzeugen, was die Vorteile potenziell einschränkt; Ob für APIs, Chat-Plattformen oder Multi-Tenant-Inferenzcluster – es ist die Kerninfrastruktur, die Kosten und Erfahrung bestimmt.

Empfohlene Tools

Mehr