LLM Serving Optimization with Variable Prefill and Decode Lengths
Diese Arbeit befasst sich mit dem NP-schweren Problem des Offline-LLM-Serving-Schedulings unter festen KV-Cache-Beschränkungen mit heterogenen Anfragelängen durch den Vorschlag des Sorted-F-Algorithmus, der eine Approximationsgarantie mit konstantem Faktor erreicht und die End-to-End-Latenz im Vergleich zu Standard-Baselines signifikant reduziert.
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 führen eine geschäftige Restaurantküche (den LLM-Server) mit einer ganz spezifischen Regel: Sie haben nur eine begrenzte Menge an Arbeitsfläche (den KV-Cache-Speicher), um Bestellungen zuzubereiten.
In dieser Küche hat jede Bestellung zwei Teile:
- Die Bestellkarte (Prefill): Der Kunde reicht Ihnen eine lange oder kurze Liste von Zutaten. Sie müssen die gesamte Liste lesen, bevor Sie mit dem Kochen beginnen können. Dies nimmt sofort Platz auf der Arbeitsfläche ein.
- Das Kochen (Decode): Sie kochen das Gericht Schritt für Schritt. Jedes Mal, wenn Sie eine neue Zutat in den Topf geben, wird der Topf etwas größer und nimmt noch mehr Arbeitsfläche ein.
Das Ziel ist es, alle Kunden so schnell wie möglich zu bewerten (die Latenz zu minimieren).
Das Problem: Der „Einheitsansatz“-Fehler
Früher dachten Köche, die beste Strategie sei simpel: „Zuerst die kleinsten Gerichte kochen.“ Wenn ein Kunde einen winzigen Aperitif bestellt, kochen Sie diesen, bevor Sie das riesige Steak zubereiten.
Doch die Autoren dieser Arbeit entdeckten eine Falle. In der realen Welt sind Bestellungen chaotisch:
- Bestellung A: Eine riesige Speisekarte (langer Input), aber ein winziges Gericht (kurzer Output). Es nimmt viel Arbeitsfläche ein, nur um die Karte zu lesen, aber das Kochen geht blitzschnell.
- Bestellung B: Eine winzige Speisekarte (kurzer Input), aber ein langsam schmorender Eintopf (langer Output). Er nimmt zu Beginn wenig Platz ein, aber der Topf wächst über eine lange Zeit immer weiter an.
Wenn Sie der alten Regel „Zuerst das Kleinste“ folgen, könnten Sie in eine Falle tappen. Sie könnten damit beginnen, den langsam schmorenden Eintopf zu kochen, weil er am Anfang klein aussah, nur um dann festzustellen, dass er Ihre gesamte Arbeitsfläche blockiert und Sie Stunden warten müssen, bevor Sie überhaupt die anderen Bestellungen beginnen können. Das Papier beweist, dass die alten Regeln spektakulär scheitern können, wenn man diese verschiedenen Arten von Bestellungen mischt, und dass es mathematisch unmöglich ist, einen perfekten Zeitplan sofort zu finden (es ist NP-schwer).
Die Lösung: Der „Effizienz-Score“ (Sorted-F)
Die Autoren erfanden einen neuen Weg, um zu entscheiden, was als Nächstes gekocht werden soll, genannt Sorted-F. Anstatt nur darauf zu schauen, wie klein das Gericht ist, entwickelten sie einen speziellen Effizienz-Score (die F-Metrik).
Denken Sie an diesen Score wie an einen „Preis-Leistungs-Rechner“ für Ihre Arbeitsfläche. Er fragt:
„Wenn ich diese Gruppe von Bestellungen jetzt auf die Arbeitsfläche lege, wie viele Gesamtgerichte werde ich pro Minute genutzter Arbeitsfläche fertigstellen?“
Er balanciert zwei Dinge aus:
- Batch-Größe: Wie viele Bestellungen können gleichzeitig auf der Arbeitsfläche untergebracht werden?
- Kochzeit: Wie lange werden die Töpfe weiter wachsen?
Die Strategie:
- Gruppierung: Der Algorithmus betrachtet den Rückstau an Bestellungen und versucht, „Batches“ (Gruppen, die zusammen gekocht werden) zu bilden.
- Bewertung: Er berechnet den Effizienz-Score für jede mögliche Gruppe.
- Auswahl: Er wählt die Gruppe mit dem besten Score (der niedrigsten Zahl) und beginnt mit dem Kochen dieser Gruppe.
- Dynamische Anpassung: Sobald ein Gericht in der Gruppe fertig ist, schrumpft sein Topf und gibt Platz frei, damit sofort eine neue Bestellung nachrücken kann.
Die Ergebnisse: Warum es funktioniert
Die Autoren testeten dies mit realen Daten, indem sie kurze Chat-Nachrichten (wie das Bestellen eines Kaffees) mit langen Dokumentenzusammenfassungen (wie dem Kochen eines 10-Gänge-Banketts) mischten.
- Der alte Weg (Zuerst das Kürzeste): Blieb an langen, langsamen Gerichten hängen, die die Arbeitsfläche blockierten.
- Der neue Weg (Sorted-F): Fand die perfekte Mischung. Er könnte einige lange Gerichte starten, wenn diese gut zu vielen kurzen passen, um sicherzustellen, dass die Arbeitsfläche immer mit produktiver Arbeit gefüllt ist.
Die magische Zahl:
Das Papier beweist mathematisch, dass ihre neue Methode nie mehr als 48-mal schlechter ist als der absolut perfekte Zeitplan (der unmöglich zu berechnen ist). In der Praxis jedoch arbeitet sie fast so gut wie das theoretische Optimum und reduziert die Wartezeiten um enorme Beträge (manchmal 4- bis 5-mal schneller) im Vergleich zu Standardmethoden, wenn die Küche voll ausgelastet ist.
Praktische Tipps für die Küche
Da das Berechnen der perfekten Gruppe jede Sekunde zu langsam für eine echte Küche wäre, haben die Autoren auch drei „Cheat-Codes“ (Approximationen) für verschiedene Situationen entwickelt:
- Der exakte Rechner: Für kleine Küchen (wenige Bestellungen) findet er jedes Mal die perfekte Gruppe.
- Der lokale Tauscher: Für mittlere Küchen nimmt er kleine Anpassungen an einem guten Startplan vor, um ihn zu verbessern.
- Der schnelle Wähler: Für riesige, chaotische Küchen nutzt er eine schnelle, grobe Schätzung, um sofort eine „gut genug“ Antwort zu erhalten.
Sie zeigten auch, dass ihr System auch dann anpassungsfähig bleibt, wenn man nicht genau weiß, wie lange ein Gericht dauern wird (da man die Kochzeit nur schätzen kann). Wenn ein Gericht länger dauert als erwartet, entfernt das System sanft die unwichtigsten Gerichte von der Arbeitsfläche, um Platz zu schaffen, anstatt das gesamte System zum Absturz zu bringen.
Das Fazit
Wenn Sie eine Mischung aus kurzen und langen Aufgaben haben, die um begrenzte Speicherkapazität konkurrieren, können Sie nicht einfach die kürzesten auswählen. Sie brauchen ein intelligentes System, das die gesamte Gruppe und wie sie zusammenpasst, betrachtet. Der Sorted-F-Algorithmus tut genau das: Er agiert wie ein Chefkoch, der genau weiß, wie er die Töpfe auf dem Herd anordnen muss, um das Abendessen so schnell wie möglich auf den Tisch zu bringen.
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.