AI-modeller og platforme

Fremtiden for serverless inference til store sprogmodeller

mm
Føj Unite.AI til dine foretrukne kilder på Google

De seneste fremskridt i store sprogmodeller (LLM’er) som GPT-4 og PaLM har ført til transformative evner i naturlige sprogopgaver. LLM’er indarbejdes i forskellige applikationer som chatbots, søgemaskiner og programmeringsassistenter. Men at servere LLM’er i stor skala er stadig en udfordring på grund af deres betydelige GPU- og hukommelseskrav.

Tilgange til at overvinde dette falder generelt i to hovedkategorier:

  1. Modelkomprimeringsteknikker

Disse teknikker sigter mod at reducere modellens størrelse samtidig med at opretholde nøjagtigheden. Almindelige tilgange omfatter:

  • Pruning – Fjernelse af redundante eller mindre vigtige parametre fra modellen. Dette skaber en sparsom model med færre parametre.
  • Quantisering – Brug af lavere præcisionstal som int8 eller bfloat16 til at repræsentere vægte i stedet for fp32 eller fp16. Dette reducerer hukommelsesaftryk.
  • Viden destillation – Træning af en mindre “elev”-model til at efterligne en stor “lærer”-model. Den mindre model bruges herefter til inference.
  1. Selektiv eksekvering

I stedet for komprimerede modeller eksekverer disse teknikker kun dele af modellen per inference:

  • Sparse aktiveringer – Spring over beregning på nul-aktiveringer.
  • Betinget beregning – Eksekver kun bestemte lag konditioneret på indgangen.

På den komplementære side i forhold til software-arkitekturssiden; for at muliggøre hurtigere udvikling af LLM’er har forskere foreslået serverless inference-systemer. I serverless arkitekturer er LLM’er hostet på fælles GPU-klynger og allokeret dynamisk baseret på efterspørgsel. Dette muliggør en effektiv udnyttelse af GPU’er og reducerer omkostningerne for udviklere. Fremtrædende implementeringer omfatter Amazon (AMZN ) SageMaker, Microsoft Azure ML og open-source muligheder som KServe.

Trods den lovende fremtid for serverless LLM’er, viser eksisterende systemer høje latency-overhead, der forringrer brugeroplevelsen i interaktive applikationer:

  1. Kostbare checkpoint-downloads: LLM’er har store hukommelsesaftryk, ofte gigabyte til terabyte i størrelse. Download af checkpoints fra fjernlager er tidskrævende og tager over 20 sekunder, selv med optimerede netværk.
  2. Ueffektiv checkpoint-indlæsning: Selv med lokal SSD-lagring tager indlæsning af checkpoints i GPU-hukommelse ti sekunder på grund af faktorer som tensor-deserialisering og -alokering. Dette tilføjer betydelige forsinkelser ud over container-starttid.

For at løse disse problemer foreslog forskere ved MIT CSAIL ServerlessLLM, et innovativt system, der opnår lav-latency serverless inference for LLM’er. ServerlessLLM forbedrer lokaliteten ved at udnytte den overflodige, men underudnyttede kapacitet og båndbredde i multi-niveau server-lagring til LLM-udvikling.

Oversigt over LLM serverless inference-systemer

Oversigt over LLM serverless inference-systemer

Nøgle-innovationer i ServerlessLLM ServerlessLLM inkorporerer flere nye designs for at reducere LLM-indlæsningstider i serverless-miljøer:

  1. Hurtig checkpoint-indlæsning
  • Indlæsnings-optimeret checkpoint-format, der muliggør hurtig sekventiel læsning og effektiv in-memory tensor-adressing.
  • Multi-niveau checkpoint-indlæsningsrørledning, der maksimerer båndbreddeudnyttelse på tværs af netværk, SSD’er, DRAM og GPU-hukommelse gennem teknikker som direkte I/O, fastgjort hukommelsesoverførsel og parallelisme.
  1. Live-migration til lokalitetsdrevet inference
  • Token-baseret migration, der kun transmitterer essentielle prompt-token over netværket, undgår langsom snapshot-overførsel.
  • To-faset migration, der tillader uafbrudt inference ved at asynkront genberegne cache-tilstande på destinationsserveren før overførsel af endelige token.
  1. Latency-optimeret server-allokering
  • Præcise modeller til at estimerere checkpoint-indlæsningstider fra hver niveau og migrationstider for en server.
  • Lokalitets-bevidst scheduler, der vælger servere, der minimiserer forventet start-latency ved hjælp af ovennævnte modeller.

Disse optimeringer tillader ServerlessLLM at reducere LLM-indlæsningstider med 4-8 gange og slut-til-slut-starttider med over 25 gange i forhold til eksisterende systemer som PyTorch, TensorFlow og KServe.

Lad os dykke dybere i, hvordan ServerlessLLM opnår disse betydelige performances-forbedringer.

Accelererende Checkpoint-Indlæsning

Det første store bottleneck, som ServerlessLLM løser, er den høje latency ved at indlæse LLM-checkpoints fra lager til GPU-hukommelse.

For at muliggøre hurtig checkpoint-indlæsning introducerer ServerlessLLM:

  1. Indlæsnings-optimeret checkpoint-format

Standard-checkpoints brugt af frameworks som PyTorch er designet til model-træning og fejlfinding. Men til serverless inference er checkpoints læst kun og adgang til dem gentagne gange.

For at optimere til sådan læs-intensiv brug konverterer ServerlessLLM checkpoints til et format med to nøgle-egenskaber:

  • Sekventiel chunk-baseret læsning: Tensorer er grupperet i per-GPU binærfiler, der faciliterer store sekventielle læsninger.
  • Effektiv tensor-adressing: En indeks kortlægger tensor-navne til hukommelsesoffset, der tillader direkte in-memory genskabelse uden deserialisering.
  1. Multi-niveau checkpoint-indlæsningsrørledning

ServerlessLLM udnytter den niveauerede arkitektur af GPU-servere, med lagringsmedier som SSD’er og netværk, der forbinder til GPU’er via PCIe, NVMe osv.

Systemet inkorporerer en multi-stages rørledning til at maksimere båndbreddeudnyttelse på tværs af alle niveauer:

  • In-memory data-chunks er allokeret ved hjælp af fastgjort hukommelse til hurtig GPU-overførsel.
  • Direkte I/O bruges til effektiv SSD-læsning uden caching-overhead.
  • Flere tråde læser forskellige lagrings-chunks i parallel.
  • Inter-stage koordination sker via asynkronne opgave-køer.

Sammen muliggør dette at mætte båndbreddekapaciteten af selv de hurtigste niveauer som NVMe RAID. Eksperimenter afslører, at ServerlessLLM opnår 6-8 gange hurtigere indlæsning end PyTorch/TensorFlow, og reducerer starttider for store LLM’er fra over en minut til under 10 sekunder.

Lokalitetsdrevet LLM-Inference via Live-Migration

Med accelereret indlæsning står ServerlessLLM over for en ny udfordring – hvordan man kan udnytte forhåndvisning af checkpoints til lokalitet uden at afbryde igangværende inferencer på travle servere?

ServerlessLLM introducerer en ny teknik – live-migration af LLM-inference på tværs af GPU-servere. Dette tillader en ubrudt overførsel af eksekvering til servere med lokale checkpoints tilgængelige.

Nøgle-aktiverende af live LLM-migration:

  1. Token-baseret migration

I stedet for at snapshotte hele modellens tilstand migrerer ServerlessLLM kun de minimale prompt-token over netværket. Dette overfører ordrer af størrelse mindre data end snapshots.

  1. To-faset migration

Destinationsserveren asynkront forudberegnede cache-tilstande fra prompt-token. Når den er klar, overfører source-serveren de endelige token før frigørelse af ressourcer. Dette forhindrer inference-afbrydelser.

Eksperimenter afslører, at token-baseret migration reducerer migrationstider fra ti sekunder til under ét sekund, selv for lange sekvenser. Live-migration er afgørende for at forebygge kø-afbrydelser, når man opnår lokalitetsdrevet allokering.

Latency-Optimeret Model-Scheduling

For at minimere slut-til-slut-latency forbedrer ServerlessLLM scheduleren til at optimere server-valg med hensyn til lokalitet. Dette indebærer:

  1. Fine-grænet indlæsningstids-estimator

Modeller forudsigende indlæsningstider fra netværk, SSD-caches og hukommelse for hver server ved hjælp af målinger som kø-forsinkelser, model-størrelser og målte båndbredde.

  1. Præcis migrationstids-forudsigelse

Scheduleren estimerer migrationstider for servere ved hjælp af antallet af prompt- og output-token. Den sporer inference-fremskridt asynkront for at undgå overhead.

  1. Lokalitets-bevidst allokering

For hver inference-anmodning vurderer scheduleren estimerede indlæsning- og migrationstider på tværs af servere. Den vælger serveren, der minimiserer forventet start-latency.

Scheduleren opretholder også server-opgave-køer og udnytter en stærkt konsistent butik til fejl-tolerance. Sammen reducerer disse innovationer planlægnings-overhead, mens de maksimerer lokalitetsfordele.

Evaluering af ServerlessLLM-Performance

Omfattende eksperimenter benchmark’er den slut-til-slut-effektivitet af ServerlessLLM i forhold til eksisterende systemer ved hjælp af virkelige modeller som OPT-175B og arbejdsmængder modelleret efter Azure-spor.

Nøgle-resultater:

  • Mikro-benchmark’er: ServerlessLLM accelererer checkpoint-indlæsning med 3,6-8,2 gange i forhold til PyTorch/TensorFlow. Det mætter fuldstændigt lagrings-båndbredde, selv for nyeste NVMe-RAID.
  • Planlægning: ServerlessLLM reducerer allokering-latency med 4-12 gange i forhold til tilfældig planlægning, hvilket understreger fordelene ved lokalitets-bevidsthed. Live-migration forhindrer kø-afbrydelser.
  • Slut-til-slut-servering: For store modeller som OPT-30B forbedrer ServerlessLLM 99. percentile-latency med 28-200 gange i forhold til systemer som KServe og Ray Serve. Det forbedrer også ressource-effektivitet.

Disse betydelige gevinster demonstrerer ServerlessLLM’s evne til at overvinde bottleneck’er i eksisterende serverless-implementeringer og låse op kraften af LLM’er til interaktive tjenester.

Optimeringerne introduceret i ServerlessLLM, som multi-niveau-indlæsning, live-migration og latency-drevet planlægning, kan hjælpe med at informere designet af fremtidige serverless-arkitekturer. Systemets evne til at reducere indlæsning- og starttider åbner op for en skalerbar udvikling af store sprogmodeller til praktiske applikationer.

Fremadrettet: Igangværende Udfordringer

Selv om det er et betydeligt skridt fremad, repræsenterer ServerlessLLM kun det første skridt i optimering af serverless inference til massive LLM’er. Flere åbne problemer forbliver, herunder:

  • Forudsigelse af real-tids model-efterspørgsel til at guide forudsigelse og forhåndvisning
  • Intelligent placering af checkpoints på tværs af servere for at maksimere cache-træffere
  • Effektiv skalering af planlægnings-algoritmer til at håndtere større klynger
  • Sikring af retfærdighed i ressource-allokering på tværs af modeller og udviklere
  • Generalisering af innovationer som live-migration til andre serverless-arbejdsmængder

At løse disse områder kan hjælpe med at bygge på løftet af serverless LLM’er og gøre deres evner endnu mere tilgængelige. Ud over system-niveau-optimeringer forbliver reducering af den betydelige kulstofaftryk og potentielle skader af store modeller også en presserende prioritet.

ServerlessLLM demonstrerer, at der er stor plads til innovation i næste-generations serverless-arkitekturer til AI-arbejdsmængder. Da LLM’er fortsætter med at vokse i størrelse og popularitet, vil løsninger som ServerlessLLM, der låser op for deres skalerbarhed, blive endnu mere betydningsfulde. Konvergen af system- og maskinlæringsforskning kan introducere nye paradigmer i servering, deling og skalering af AI-modeller på en sikker og bæredygtig måde.

Jeg har brugt de sidste fem år på at dykke ned i den fascinerende verden af Machine Learning og Deep Learning. Min passion og ekspertise har ført mig til at bidrage til over 50 forskellige software-ingeniørprojekter, med en særlig fokus på AI/ML. Min fortsatte nysgerrighed har også ført mig mod Natural Language Processing, et felt jeg er ivrig efter at udforske yderligere.