Hur förändrar modellcachning svarstiden för AI-servrar i hemmet?

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.

Modellcachning förändrar svarstiden genom att låta upprepade förfrågningar återanvända nedladdade filer, vikter som finns kvar i minnet, kompilerade kärnor eller tidigare bearbetat prompttillstånd.

En AI-server hemma har inget universellt cacheminne. Modellartefakten kan redan finnas på lokal lagring, modellfilernas sidor kan finnas kvar i systemets RAM, vikterna kan ligga kvar i acceleratorns minne, kompilerad körningskod kan återanvändas och en upprepad systemprompt kan fortfarande ha ett giltigt KV-tillstånd. Varje lager tar bort en annan del av förfrågningens körväg. Avsnitten nedan skiljer dessa lager åt, så att ett snabbt andra svar inte misstas för snabbare modellgenerering eller bättre maskinvara.

Modellcachning syftar på flera oberoende lager

Den första viktiga skillnaden gäller vad som har cachats. En nedladdad kontrollpunkt undviker nätverksöverföring, filsystemets sidcache undviker omläsning av vissa block från lagringen, kvarvarande vikter undviker modellinläsning, kompilerade artefakter undviker förberedelsearbete och prefixcache undviker att gemensamma prompttoken bearbetas igen.

Forskning om cachning i flera nivåer behandlar modellstart som en förflyttning genom lagring, värdminne och acceleratorminne, snarare än som ett enda binärt kallt eller varmt tillstånd. En förfrågan kan vara varm på ett lager och kall på ett annat.

Det förklarar varför uttrycket ”modellen är cachad” är ofullständigt. Servern kan ha filerna lokalt men ändå behöva allokera VRAM, läsa in vikter, kompilera kärnor och bearbeta prompten innan den kan producera en token.

En artefaktcache tar bort fördröjning från nedladdning och arkiv

När modellfiler redan finns på hemmaservern slipper starten autentisering, kontroller av arkivmetadata, fjärrbandbredd och nedladdning av shardfiler på flera gigabyte. Körningen kan börja från den lokala kopian.

Netflix beskriver cachning av modellartefakter som nödvändig, eftersom nedladdning av stora vikter under starten överskrider praktiskt godtagbar schemaläggningslatens. Samma mekanism är relevant hemma när en container återskapas eller en modell startas efter en rensning.

Artefaktcachen garanterar inte en snabb första token. En lokal kontrollpunkt kan fortfarande ligga på en långsam disk, använda många shardfiler, kräva konvertering eller konkurrera med läsningar och skrivningar på NAS-enheten.

Filsystemcachen kan göra den andra inläsningen mycket snabbare

När operativsystemet har läst modellfiler kan rena filsidor finnas kvar i oanvänt system-RAM. Vid en senare start kan dessa byte hämtas från minnet i stället för att lagringsenheten behöver läsas igen.

MAIO förbättrar starten av stora språkmodeller genom att optimera den cachepolicy för filsystemet som används vid modellinläsning. Resultaten visar varför två starter från samma NVMe-sökväg kan ha olika lästider beroende på vilka modellsidor som finns kvar i cachen.

Den här cachen kan återtas. Säkerhetskopior, filservering, databaser eller en annan modell kan tränga undan sidorna, så ett svar som var snabbt i går kan återgå till lagringsbegränsad prestanda efter minnestryck eller en omstart.

Benchmarktester utan en definierad status för sidcachen blandar två lagringsregimer och kan överdriva förbättringen från en uppgradering av lagringsenheten.

-15% OFF
Single board computer zimaboard2

Kvarvarande vikter tar bort den största gränsen för omladdning

Om vikterna behålls i RAM, enhetligt minne eller VRAM kan körningen gå direkt vidare till promptbearbetning. Om modellen tas bort frigörs kapacitet för andra appar, men nästa förfrågan måste då återigen gå igenom inläsningen.

ZimaSpaces guide till modellnärvaro visar det typiska mönstret: en långsam förfrågan efter att modellen tagits bort, följd av normala svar medan modellen förblir varm.

Närvaro förändrar främst beredskap och tiden till den första token. Den ökar inte nödvändigtvis hastigheten för utgående token när genereringen väl har startat.

Om alla modeller hålls kvar i minnet kan det dessutom skapa minnestrycket som gör att en annan modell, KV-cachen eller en app på hemmaservern tas bort.

Cacheminnen för kompilering och kärnor tar bort arbete vid första körningen

Vissa körningsmiljöer specialanpassar kärnor, fångar körningsgrafer eller kompilerar kod för den aktiva modellen, GPU-arkitekturen, tensorformerna och körningskonfigurationen. Den första kompatibla förfrågan kan utföra arbete som senare förfrågningar återanvänder.

En praktisk kallstartsanalys konstaterar att kompilering under körning kan ligga mellan inläsningen av vikter och leveransen av det första svaret. En beständig kompileringscache flyttar den kostnaden bort från senare starter, tills en modell-, drivrutins-, körningsmiljö- eller maskinvaruändring gör den ogiltig.

Det skapar ytterligare ett varmt tillstånd: filer och vikter kan redan finnas på plats, men den första nya formen eller körningsvägen kan ändå orsaka en latensspik.

Prefixcachning minskar förbearbetningen, men inte avkodningen av nya token

En upprepad systemprompt, ett långt dokumentprefix eller ett gemensamt instruktionsblock måste normalt bearbetas av modellen igen innan den når den nya användarinmatningen. En prefixcache sparar återanvändbart uppmärksamhetstillstånd från den tidigare förbearbetningen.

Forskningen om Prompt Cache rapporterar lägre latens till första token när förfrågningar återanvänder långa promptmoduler. Fördelen ökar med längden på det gemensamma prefixet, eftersom mer förbearbetning kan hoppas över.

Det gör inte godtyckligt nya promptar snabbare och tar inte bort kostnaden för att avkoda nya utgående token. Cacheträffar beror på exakt eller stödd återanvändning av prefixet, tillgänglig cachekapacitet och körningsmiljöns policy för borttagning.

Mät kalla och varma körvägar som separata svarskategorier

Testa en fast förfrågan efter omstart, efter modellinläsning, efter en omedelbar upprepning, efter en längre viloperiod och efter en konkurrerande arbetsbelastning. Registrera nedladdning av artefakter, läsning från lagringen, modellinläsning, kompilering, promptevaluering, första token och hastigheten för utgående token separat.

Analys av kalla cacheminnen varnar för att latens med varm cache kan dölja en långsammare svans när vissa förfrågningar missar cachen. En assistent i hemmet bör utvärderas utifrån den blandning användarna faktiskt möter, inte bara utifrån ett benchmark med omedelbara upprepningar.

När lagret som missades har identifierats blir åtgärden specifik: förläs modellfiler, bevara utrymme för sidcachen, förläng modellens keep-alive-tid, spara kompilerade artefakter eller aktivera prefixåteranvändning för stabila gemensamma promptar.

Vanliga frågor

Använder en cachad modell alltid mindre RAM?

Nej. Vissa cacheminnen använder medvetet RAM eller VRAM för att minska framtida arbete. De byter kapacitet mot lägre latens i stället för att minska minnesanvändningen.

Varför är det första svaret långsamt medan senare svar är snabba?

Den första förfrågan kan behöva läsa in vikter, allokera körningstillstånd, kompilera kärnor eller bearbeta en lång prompt. Senare förfrågningar återanvänder ett eller flera av dessa resultat.

Kan rensning av cacheminnen åtgärda felaktiga AI-svar?

Det kan i vissa fall åtgärda föråldrade eller skadade artefakter i körningsmiljön, men modellcacheminnen påverkar normalt inläsning och återanvändning av beräkningar, inte den faktamässiga kvaliteten hos oförändrade vikter och promptar.

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.