Throughput-Optimal Scheduling Algorithms for LLM Inference and AI Agents
Dieses Papier legt die mathematischen Warteschlangengrundlagen für LLM-Inferenz fest, beweist, dass arbeitserhaltende Scheduling-Algorithmen sowohl für individuelle als auch für KI-Agenten-Workloads den maximalen Durchsatz erreichen, und bewertet reale Systeme, um die Optimalität von Orca und Sarathi-Serve zu bestätigen sowie vor der Instabilität von FasterTransformer und vanilla vLLM zu warnen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie betreiben eine Hochgeschwindigkeitsfabrik, die maßgeschneiderte Roboter herstellt. In dieser Fabrik durchläuft jede Bestellung (eine „Anfrage") zwei klar getrennte Phasen:
- Die Einrichtungsphase (Prefill): Sie lesen die Baupläne und sammeln alle notwendigen Teile. Dies ist eine schwere Arbeit, die viel Rechenkraft (Compute) erfordert, aber gleichzeitig in einem Durchgang erledigt wird.
- Die Montagephase (Decode): Sie beginnen mit dem Zusammenbau des Roboters und fügen ein Teil nach dem anderen hinzu. Dies ist eine langsamere, speicherintensive Aufgabe, die schrittweise erfolgt.
Ihre Fabrik verfügt über einen riesigen, superschnellen Roboterarm (die GPU), der gleichzeitig an mehreren Bestellungen arbeiten kann. Der Arm hat jedoch eine Grenze: Er kann nur eine bestimmte Gesamtgewichtsmenge an Teilen gleichzeitig in seinem Greifer halten (das Token-Budget).
Das von Ihnen bereitgestellte Papier ist eine mathematische Studie darüber, wie man die Bestellungen organisiert, damit Ihre Fabrik niemals stillsteht und die maximal mögliche Anzahl von Robotern produziert, ohne dass es zu Verstopfungen kommt.
Hier ist die Aufschlüsselung ihrer Erkenntnisse mit einfachen Analogien:
1. Die Goldene Regel: „Lassen Sie den Arm nicht untätig warten"
Die wichtigste Entdeckung in diesem Papier ist ein Konzept namens „Work-Conserving" (Arbeitskonservierend).
Stellen Sie sich vor, Ihr Roboterarm ist bereit, Teile zu greifen.
- Der schlechte Weg: Sie lassen den Arm nur dann „Einrichtungs"-Teile greifen, wenn ausschließlich Einrichtungs-Bestellungen warten. Wenn „Montage"-Bestellungen warten, ignoriert man sie, selbst wenn der Arm freien Platz hat. Oder man lässt ihn nur dann „Montage"-Teile greifen, wenn ausschließlich Montage-Bestellungen vorhanden sind.
- Ergebnis: Der Arm sitzt halb leer da und wartet auf eine bestimmte Art von Bestellung, während sich ein riesiger Haufen der anderen Art von Bestellung aufstaut. Die Fabrik verlangsamt sich oder stürzt ab.
- Der gute Weg (Work-Conserving): Wenn der Arm Platz hat, füllen Sie ihn mit dem, was gerade verfügbar ist. Sie mischen Einrichtungs-Teile und Montage-Teile in derselben Charge. Sie lassen den Arm niemals untätig warten, wenn Arbeit zu erledigen ist.
Die Behauptung des Papiers: Algorithmen, die dieser „Fülle den Eimer"-Regel folgen (wie Orca und Sarathi-Serve), sind mathematisch bewiesen als die effizientesten. Sie können die maximal mögliche Arbeitsmenge bewältigen, ohne dass das System zusammenbricht.
2. Die „alten" vs. „neuen" Fabrikmanager
Die Autoren testeten vier beliebte „Manager" (Scheduling-Algorithmen), um zu sehen, wer der Goldenen Regel folgt:
- FasterTransformer & Vanilla vLLM (Die strengen Manager): Diese Manager sind zu wählerisch.
- FasterTransformer greift nur Montage-Teile. Wenn keine Montage-Bestellungen vorhanden sind, ignoriert es die wartenden Einrichtungs-Bestellungen, selbst wenn der Arm leer ist.
- Vanilla vLLM greift nur Einrichtungs-Teile. Wenn keine Einrichtungs-Bestellungen vorhanden sind, ignoriert es die wartenden Montage-Bestellungen.
- Urteil: Diese sind nicht optimal. Unter hoher Last führen sie dazu, dass die Fabrik verstopft und instabil wird.
- Orca & Sarathi-Serve (Die flexiblen Manager): Diese Manager mischen die beiden Arbeitsarten. Sie füllen den Arm mit dem, was passt.
- Urteil: Diese sind optimal. Sie halten die Fabrik bei maximaler Geschwindigkeit reibungslos am Laufen.
3. Die „KI-Agenten"-Fabrik (Komplexe Workflows)
Manchmal ist eine Bestellung nicht nur ein einzelner Roboter, sondern ein ganzes Team von Robotern, das zusammenarbeitet.
- Der DAG (Gerichteter azyklischer Graph): Stellen Sie sich einen Workflow vor, bei dem Bestellung A zur Station 1, dann zur Station 2, dann zur Station 3 geht und niemals zurückkehrt.
- Erkenntnis: Solange der Workflow eine gerade Linie ist (keine Schleifen), funktioniert die Regel „Lassen Sie den Arm nicht untätig warten" auch über alle Stationen hinweg perfekt.
- Die Gabel-Verbindung (Fork-Join): Stellen Sie sich vor, Bestellung A spaltet sich in drei Teilaufgaben auf, die zu drei verschiedenen Stationen gehen, und alle müssen fertig sein, bevor der letzte Schritt erfolgen kann.
- Erkenntnis: Die Regel „Lassen Sie den Arm nicht untätig warten" funktioniert auch hier.
- Der Zyklus (Die Falle): Stellen Sie sich vor, Bestellung A geht zur Station 1, dann zur Station 2, aber Bestellung B geht von Station 2 zurück zur Station 1. Sie jagen sich in einem Kreis.
- Erkenntnis: Hier kann die Regel „Lassen Sie den Arm nicht untätig warten" versagen. Selbst wenn die Manager ihr Bestes geben, kann der kreisförmige Verkehr einen Stau verursachen, der sich nie auflöst. Das Papier zeigt, dass wenn Ihre Fabrik diese kreisförmigen Schleifen hat, Sie einen viel intelligenteren, vorsichtigeren Manager benötigen, nicht nur einen „Fülle-den-Eimer"-Manager.
4. Die „Eimer-Größe"-Überraschung
Es gibt eine zweite Grenze in der Fabrik: die Batch-Größe. Dies ist die maximale Anzahl an Bestellungen, die der Arm halten kann, unabhängig davon, wie schwer sie sind.
- Die Überraschung: Die Autoren stellten fest, dass es manchmal tatsächlich eine schlechte Idee ist, den Arm bis zur absoluten Gewichtsgrenze (das Token-Budget) zu füllen.
- Die Analogie: Stellen Sie sich einen Eimer vor, der 100 Pfund fasst. Sie haben 100 winzige Kieselsteine (Einrichtung) und 100 schwere Ziegelsteine (Montage).
- Wenn Sie versuchen, den Eimer mit Ziegelsteinen bis zu 100 Pfund zu füllen, passen vielleicht nur 5 Ziegelsteine hinein. Die Zeit, die zum Heben dieser schweren Last benötigt wird, ist lang.
- Wenn Sie jedoch bei 50 Pfund aufhören (eine kleinere Last), können Sie diese vielleicht viel schneller heben, was es Ihnen ermöglicht, mehr Fahrten pro Stunde zu unternehmen.
- Die Erkenntnis: In bestimmten Situationen ist die effizienteste Strategie, das Füllen des Eimers vor dem Vollstand zu stoppen, um die Verarbeitungsgeschwindigkeit hoch zu halten. Das bedeutet, dass selbst die „guten Manager" (Work-Conserving) versagen können, wenn die Fabrikregeln (Batch-Größenlimits) zu streng sind und die Mischung der Bestellungen genau richtig ist, um einen Stau zu verursachen.
Zusammenfassung
Das Papier sagt uns:
- Mischen Sie Ihre Arbeit: Trennen Sie Einrichtungs- und Montageaufgaben nicht. Mischen Sie sie in derselben Charge, um die GPU beschäftigt zu halten.
- Orca und Sarathi-Serve sind die Gewinner: Sie folgen der „Mischen und Füllen"-Regel, was sie zur stabilsten und effizientesten Wahl für die meisten Situationen macht.
- Achten Sie auf Schleifen: Wenn Ihre KI-Agenten Aufgaben zwischen Servern hin und her in einem Kreis senden, funktionieren einfache „Fülle-den-Eimer"-Regeln möglicherweise nicht; Sie benötigen eine spezielle Verkehrsregelung.
- Voll ist nicht immer am besten: Manchmal ist es schlauer, etwas leeren Raum in Ihrer Charge zu lassen, als sie bis zum Rand zu füllen, abhängig davon, wie groß die einzelnen Aufgaben sind.
Das Ziel all dieser Mathematik ist es, Ingenieuren zu helfen, KI-Systeme zu bauen, die nicht abstürzen, wenn Millionen von Menschen gleichzeitig Fragen stellen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.