DriftSched: Adaptive QoS-Aware Scheduling under Runtime Token Drift for Multi-Tenant GPU Inference
Dit artikel presenteert DriftSched, een QoS-bewust planningsframework voor multi-tenant LLM-inferentie dat gebruikmaakt van een online feedbackmechanisme om fouten in de runtime-tokenestimatie te corrigeren, waarbij wordt aangetoond dat hoewel adaptieve kalibratie de estimatienauwkeurigheid aanzienlijk verbetert, het Shortest-Job-First (SJF) planningsbeleid de meest substantiële reducties in end-to-end en tail-latentie oplevert.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een zeer populair restaurant runt met slechts één keuken (de GPU) en één chef. Je hebt drie soorten klanten:
- VIP's (Premium): Die hun eten snel willen en bereid zijn extra te betalen.
- Reguliere klanten (Standaard): Die gewoon een normale maaltijd willen.
- Bulk Kopers (Batch): Die enorme cateringplaten bestellen en het niet erg vinden om te wachten.
Het probleem? De keuken raakt overbelast. Bestellingen stapelen zich op. Sommige mensen wachten eeuwig, terwijl anderen snel worden bediend. De chef moet beslissen wie er als volgende wordt bediend. Dit wordt "scheduling" genoemd.
Het kernprobleem: De werklast raden
Om te beslissen wie de volgende is, moet de scheduler weten hoeveel werk een bestelling hoeveelheid heeft.
- Is het een eenvoudige salade (kort werkstuk)?
- Of is het een complex 5-gangenmenu (lang werkstuk)?
Als de scheduler het fout raadt, ontstaat er chaos. Als de scheduler denkt dat een enorme cateringbestelling klein is, kan hij deze serveren vóór een snelle appetizer van een VIP, waardoor de VIP te lang moet wachten. Dit wordt "Workload Misclassification" genoemd.
De twee manieren om te raden
De paper, DriftSched, test twee manieren om te raden hoe groot een bestelling is:
- De "Luie Gok" (Whitespace Proxy): Stel je voor dat je het aantal woorden op de bestelbon telt. Als er 10 woorden staan, is het waarschijnlijk klein. Als er 100 woorden staan, is het groot. Dit is snel en makkelijk voor de gastheer om te doen, maar het is onnauwkeurig. Een korte zin kan complex zijn om te bereiden, en een lange zin kan simpel zijn.
- De "Expert Gok" (Tokenizer-Aware): Stel je voor dat de gastheer daadwerkelijk het recept leest en precies weet hoeveel ingrediënten en stappen erbij komen kijken. Dit is nauwkeurig, maar het kost de gastheer wat meer tijd en moeite om dit te berekenen.
De oplossing: DriftSched
DriftSched is een slim systeem dat dit restaurant beheert. Het heeft een speciale functie genaamd "Adaptive Calibration" (of EMA).
Denk er zo over na: Als de gastheer de "Luie Gok" gebruikt en merkt dat hij consequent de tijd die een "Technisch Rapport"-maaltijd kost onderschat, leert DriftSched van zijn fouten. Het zegt: "Ah, elke keer dat we een Technisch Rapport als klein inschatten, duurt het in werkelijkheid 20% langer. De volgende keer voeg ik 20% toe aan de schatting."
Na verloop van tijd wordt de "Luie Gok" bijna net zo goed als de "Expert Gok", omdat het systeem zijn eigen fouten corrigeert op basis van wat er daadwerkelijk in de keuken gebeurde.
De vijf scheduling-strategieën
De paper testte vijf regels om te beslissen wie er als volgende eet:
- FIFO (First-In, First-Out): Zoals een standaard wachtrij. Wie het eerst komt, wordt het eerst bediend. Eerlijk, maar als een Bulk Koper voor je staat met een enorme bestelling, wacht je eeuwig.
- Priority (Prioriteit): VIP's springen altijd voor in de rij. Reguliere klanten en Bulk Kopers moeten wachten. Geweldig voor VIP's, verschrikkelijk voor de rest.
- Weighted (Gewogen): Een compromis. VIP's worden 50% van de tijd bediend, Reguliere klanten 30% en Bulk Kopers 20%. Iedereen krijgt een beurt, maar VIP's krijgen meer.
- SJF (Shortest-Job-First): De chef kiest altijd de kleinste, snelste bestelling als volgende, ongeacht wie de bestelling plaatste. Als een Bulk Koper een klein bijgerecht heeft, wordt dit gekookt vóór het hoofdgerecht van een VIP.
- Aging Priority (Verouderingsprioriteit): Zoals Priority, maar als een Bulk Koper te lang wacht, krijgt zijn bonnetje een "stempel" die zijn prioriteit verhoogt, zodat hij niet verhongert.
Wat hebben ze gevonden?
1. Nauwkeurigheid doet ertoe, maar de strategie is belangrijker
Het gebruik van de "Expert Gok" (Tokenizer) is beter dan de "Luie Gok" (Whitespace). Echter, de regel die je gebruikt om de volgende klant te kiezen (de Scheduling Policy) heeft een veel grotere impact op de wachttijden dan hoe nauwkeurig je de grootte van de bestelling hebt geraden.
2. SJF is de koning van de snelheid
De Shortest-Job-First (SJF) regel was de snelste. Het verminderde de gemiddelde wachttijd met ongeveer 42% vergeleken met de standaard wachtrij (FIFO). Waarom? Omdat door eerst alle kleine, snelle bestellingen af te handelen, de keuken druk en efficiënt blijft, en minder mensen vast komen te zitten achter één grote bestelling.
3. Priority is de koning van de VIP's
Als je om de VIP's wilt geven, is Priority Scheduling het beste. VIP's wachtten slechts ~77 seconden, terwijl Bulk Kopers ~427 seconden wachtten. SJF daarentegen gaf niet om wie je was; het gaf alleen om hoe klein je bestelling was. Sterker nog, onder SJF werden Bulk Kopers soms sneller bediend dan VIP's omdat hun bestellingen toevallig kleiner waren.
4. De "Luie Gok" kan worden gerepareerd
De zelfcorrigerende functie van het systeem (EMA) werkte goed. Wanneer het systeem de onnauwkeurige "Luie Gok" gebruikte, leerde het de schattingen over tijd aan te passen, waardoor fouten met ongeveer 40% werden verminderd. Echter, als je al de "Expert Gok" (Tokenizer) gebruikt, helpt zelfcorrectie niet veel omdat de gokken al nauwkeurig waren.
De essentie
- Als je de snelste algemene service wilt: Gebruik SJF (Shortest-Job-First). Dit lost de wachtrij het snelst op.
- Als je je belangrijkste klanten wilt beschermen: Gebruik Priority Scheduling. Dit garandeert dat VIP's als eerste worden bediend, zelfs als dit anderen langer laat wachten.
- Maak je niet te veel zorgen over een perfecte gok: Zelfs als je een ruwe schatting maakt van hoe lang een bestelling duurt, is de scheduling-regel die je kiest (SJF vs. Priority) veel belangrijker voor de uiteindelijke wachttijd. Maar als je nauwkeurig kunt raden (met de Tokenizer), draait het systeem soepeler.
Kortom: Hoe je de klanten in de rij zet, is belangrijker dan hoe perfect je de grootte van hun bestelling inschat.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.