Hur påverkar schemaläggning av acceleratorer AI i hemmet för flera användare?

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Acceleratorschemaläggning påverkar AI för flera användare i hemmet genom att avgöra vilka förfrågningar som startar, delar varje iteration, behåller minnestillstånd eller får vänta bakom annat arbete.

Flera personer i hushållet kan skicka frågor med mycket olika kostnader: en kort fråga om ljusstyrning, ett långt dokument, en bild, en röstförfrågan eller en agent som genererar många anrop. Acceleratorn kan inte avgöra vad som är viktigast i hushållet enbart utifrån ankomsttid. En schemaläggare måste kombinera köordning, tokenbudgetar, batchkörning, prioriteringar, minnesresurser och modellnärvaro, samtidigt som resultatens storlek förblir oförutsägbar. Avsnitten nedan förklarar varför samma hårdvara kan upplevas som rättvis, snabb eller oanvändbar beroende på hur dessa val görs.

FIFO behandlar ankomsttid som den enda prioriteten

En kö enligt principen först in, först ut är enkel, men en lång fråga eller ett långt svar kan fördröja många korta förfrågningar som anlände senare.

LLM-förfrågningar har olika tokenkostnader, så rättvisa som enbart baseras på antalet förfrågningar kan ge en användare betydligt mer accelerator tid än en annan.

FIFO är förutsägbart vid låg belastning men orsakar blockering längst fram i kön när hushållets arbetsbelastningar blir mer varierade.

Kontinuerlig batchkörning delar iterationer mellan användare

Schemaläggare på iterationsnivå kan lägga till nya sekvenser mellan avkodningssteg och ta bort färdiga sekvenser utan att bygga om en fast batch.

Orcas iterationsschemaläggning förbättrar utnyttjandet samtidigt som flera användare kan göra framsteg tillsammans.

Delning garanterar inte samma hastighet. En schemaläggare avgör fortfarande hur många sekvenser som får plats, hur ofta varje sekvens går framåt och om en ny förbearbetning av indata avbryter aktiva avkodningar.

Prioritetspolicyer skyddar förfrågningar som är känsliga för fördröjning

Röststyrning och korta interaktiva chattar kan behöva snabbare tilldelning än sammanfattningar, embeddingar eller bildgenerering som körs i bakgrunden.

Llumnix hanterar fördröjningsprioriteringar för heterogena LLM-förfrågningar.

Prioriteringen måste inkludera åldring eller kvoter så att bakgrundsuppgifter till slut körs och så att en prioriterad användare inte kan svälta ut resten av hushållet.

-15% OFF
Single board computer zimaboard2

Minnestilldelning kan blockera en förfrågan innan beräkningen börjar

En förfrågan behöver KV-cache och arbetsminne utöver modellvikterna. Schemaläggaren kan fördröja tilldelningen även när beräkningsenheter verkar vara lediga, eftersom det saknas tillräckligt med ledigt minne.

ZimaSpaces guide till minnesbelastning för flera användare förklarar varför längre kontexter minskar antalet konversationer som kan förbli aktiva.

Att avbryta en sekvens frigör kapacitet men kan kräva att dess tillstånd beräknas om eller återställs senare, vilket gör minnespolicyn till en ytterligare källa till fördröjning.

Förbearbetning av indata och avkodning behöver olika schemaläggning

Långa förbearbetningar av indata använder mycket beräkningskapacitet, medan tokenavkodning upprepade gånger läser modellvikter och cachetillstånd. Om de körs tillsammans utan styrning kan strömmande utdata stanna upp.

Sarathi-Serve använder stoppfri schemaläggning och uppdelad förbearbetning av indata för att förbättra genomströmningen och samtidigt begränsa påverkan på fördröjningen.

En schemaläggare för hemmet kan reservera avkodningsmöjligheter för aktiva konversationer och dela upp stora förbearbetningar av dokument i stället för att låta en enda förfrågan monopoliserа en lång iteration.

Rättvisa måste mätas utifrån användarens upplevelse

Den sammanlagda tokenhastigheten kan förbättras samtidigt som en användare får vänta mycket längre än en annan. Mät kötid, tid till första token, fördröjning mellan token, färdigställandetid och tjänsteandel per användare eller arbetsbelastningsklass.

Virtual Token Counter definierar tokenmedveten rättvisa i stället för att räkna varje förfrågan som likvärdig.

Använd tydliga klasser för röst, interaktiv chatt, agenter, embeddingar och underhållsarbete. Testa sedan överlappande långa och korta förfrågningar för att bekräfta att den valda policyn motsvarar hushållets förväntningar.

Schemaläggning kan inte skapa mer accelerator kapacitet, men den kan avgöra om bristen märks som en rättvis hastighetsminskning, toppar i svansfördröjningen eller som att en användare blockerar alla andra.

Teknik- och AI-hubb

Mer att läsa

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.