AI-modeller og plattformer
Fremtiden for serverless inferens for store språkmodeller
Nylige fremgang i store språkmodeller (LLM) som GPT-4 og PaLM har ledet til transformative evner i naturlige språkoppdrag. LLM-er blir inkorporert i ulike applikasjoner som chatbott, søkemotorer og programmeringsassistenter. Imidlertid er det å betjene LLM-er i stor skala fortsatt utfordrende på grunn av deres betydelige GPU- og minnekrev.
Tilnærminger til å overvinne dette faller vanligvis inn i to hovedkategorier:
- Modellkompresjonsteknikker
Disse teknikkene har som mål å redusere modellens størrelse mens man opprettholder nøyaktigheten. Vanlige tilnærminger inkluderer:
- Pruning – Fjerning av redundante eller mindre viktige parametre fra modellen. Dette skaper en sparsom modell med færre parametre.
- Quantisering – Bruk av lavere presisjonsnummer som int8 eller bfloat16 til å representere vekter i stedet for fp32 eller fp16. Dette reduserer minneavtrykket.
- Kunnskapsdestillasjon – Trening av en mindre “elev”-modell til å etterligne en stor “lærer”-modell. Den mindre modellen brukes deretter til inferens.
- Selektiv eksekvering
I stedet for komprimerte modeller, utfører disse teknikkene selektivt kun deler av modellen per inferens:
- Sparse aktiveringer – Hopping over beregning på null-aktiveringer.
- Betinget beregning – Eksekvering kun av bestemte lag kondisjonert på inndata.
På den komplementære siden i forhold til programvarearkitektursiden; for å muliggjøre raskere utrulling av LLM-er, har forskere foreslått serverless inferenssystemer. I serverless arkitekturer, er LLM-er vertet på felles GPU-kluster og tildelt dynamisk basert på etterspørsel. Dette muliggjør effektiv utnyttelse av GPU-er og reduserer kostnader for utviklere. Fremtredende implementasjoner inkluderer Amazon (AMZN ) SageMaker, Microsoft Azure ML og åpne kildekodeløsninger som KServe.
Til tross for løftene i serverless LLM-er, viser eksisterende systemer høye latensoverhoder som forringrer brukeropplevelsen i interaktive applikasjoner:
- Kostbare checkpoint-nedlastinger: LLM-er har store minneavtrykk, ofte gigabyte til terabyte i størrelse. Nedlasting av checkpoints fra fjernlagring er tidskrevende, og tar over 20 sekunder selv med optimerte nettverk.
- Ueffektiv checkpoint-lasting: Selv med lokal SSD-lagring, tar det å laste checkpoints inn i GPU-minne titall sekunder på grunn av faktorer som tensor-deserialisering og -allokering. Dette legger til betydelige forsinkelser utover container-starttid.
For å løse disse problemene, foreslo forskere ved MIT CSAIL ServerlessLLM, et innovativt system som oppnår lav-latens serverless inferens for LLM-er. ServerlessLLM forbedrer lokalitet ved å utnytte den rike, men underutnyttede kapasiteten og båndbredden i flerlags serverlagring for LLM-utplassering.
Nøkkelinnovasjoner i ServerlessLLM ServerlessLLM inkorporerer flere nye design for å kutte LLM-lastetider i serverless-miljøer:
- Rask checkpoint-lasting
- Last-optimert checkpoint-format som muliggjør rask sekvensiell lesing og effektiv minne-adressing.
- Flernivå-checkpoint-lastingspipeline som maksimerer båndbredden over nettverk, SSD-er, DRAM og GPU-minne gjennom tekniker som direkte I/O, pinned memory-overføring og parallellisme.
- Live-migrasjon for lokalitetsdrevet inferens
- Token-basert migrasjon som kun overfører essensielle prompt-tokens over nettverket, og unngår langsom snapshot-overføring.
- To-fase-migrasjon som tillater ubrudt inferens ved å asynkront omregne cache-tilstander på målserveren før overføring av endelige tokens.
- Latens-optimert server-allokering
- Nøyaktige modeller for å anslå checkpoint-lastetider fra hver nivå og migrasjonstider for en server.
- Lokalitets-bevisst planlegger som velger servere som minimerer forventet start-latens ved å bruke ovennevnte modeller.
Disse optimeringene tillater ServerlessLLM å redusere LLM-lastetider med 4-8X og sluttlige starttider med over 25X sammenlignet med eksisterende systemer som PyTorch, TensorFlow og KServe.
La oss dykke dyptere inn i hvordan ServerlessLLM oppnår disse betydelige ytelsesforbedringene.
Accelererende Checkpoint-Lasting
Det første store flaskenhalen som ServerlessLLM løser, er den høye latensen ved å laste LLM-checkpoints fra lagring inn i GPU-minne.
For å muliggjøre rask checkpoint-lasting, innfører ServerlessLLM:
- Last-optimert checkpoint-format
Standard-checkpoints brukt av rammer som PyTorch er designet for modell-trening og feilsøking. Men for serverless-inferens, er checkpoints skrivebeskyttet og aksessert gjentatte ganger.
For å optimalisere for slik lesintensiv bruk, konverterer ServerlessLLM checkpoints til et format med to nøkkel-egenskaper:
- Sekvensiell chunk-basert lesing: Tensorer er gruppert i per-GPU binærfiler, som muliggjør store sekvensielle lesninger.
- Effektiv tensor-adressing: En indeks kartlegger tensor-navn til minne-avsetninger, som muliggjør direkte minne-gjenopprettelse uten deserialisering.
- Flernivå-checkpoint-lastingspipeline
ServerlessLLM utnytter den flernivå-arkitekturen til GPU-servere, med lagringsmedia som SSD-er og nettverk som kobler til GPU-er via PCIe, NVMe osv.
Systemet inkorporerer en flertrinns-pipeline for å maksimere båndbredden over alle nivåer:
- Minne-data-chunker er allokert ved hjelp av pinned memory for rask GPU-overføring.
- Direkte I/O brukes for effektiv SSD-lesing uten caching-overhoder.
- Flere tråder leser forskjellige lagrings-chunker parallelt.
- Inter-trinns-koordinering skjer via asynkronne oppgave-køer.
Sammen muliggjør dette å mette båndbredden til og med de raskeste nivåene som NVMe-RAID. Eksperimenter avslører at ServerlessLLM oppnår 6-8X raskere lasting enn PyTorch/TensorFlow, og reduserer starttider for store LLM-er fra over ett minutt til under 10 sekunder.
Lokalitetsdrevet LLM-Inferens via Live-Migrasjon
Med akselerert lasting, møter ServerlessLLM en ny utfordring – hvordan man kan utnytte forhånds-lastede checkpoints for lokalitet uten å avbryte pågående inferenser på travle servere?
ServerlessLLM innfører en ny teknikk – live-migrasjon av LLM-inferens over GPU-servere. Dette muliggjør å overføre eksekvering til servere med lokale checkpoints tilgjengelig.
Nøkkel-aktiverende av live LLM-migrasjon:
- Token-basert migrasjon
I stedet for å snapshotte hele modell-tilstanden, migrerer ServerlessLLM kun de minimale prompt-tokens over nettverket. Dette overfører flere størrelsesordener mindre data enn snapshots.
- To-fase-migrasjon
Mål-serveren forhåndsgjenopprettet cache-tilstander fra prompt-tokens. Når den er klar, overfører kilde-serveren endelige tokens før den frigjør ressurser. Dette forhindrer inferens-avbrudd.
Eksperimenter avslører at token-basert migrasjon kutler migrasjonstider fra titall sekunder til under ett sekund, selv for lange sekvenser. Live-migrasjon er avgjørende for å forebygge kø-forespørsler når man oppnår lokalitets-drevet allokering.
Latens-Optimert Modell-Skjedulering
For å minimere sluttlige latenser, forbedrer ServerlessLLM skjeduleren til å optimalisere server-valg med hensyn til lokalitet. Dette inkluderer:
- Fin-granet lastetid-estimator
Modeller forutsier lastetider fra nettverk, SSD-cacher og minne for hver server ved hjelp av metrikker som kø-forsinkelser, modell-størrelser og målte båndbredder.
- Nøyaktig migrasjonstid-prediktor
Skjeduleren estimerer migrasjonstider for servere ved hjelp av antall prompt- og output-tokens. Den sporer inferens-fremskritt asynkront for å unngå overhoder.
- Lokalitets-bevisst allokering
For hver inferens-forespørsel, vurderer skjeduleren estimerte lastetider og migrasjonstider over servere. Den velger serveren som minimerer forventet start-latens.
Skjeduleren opprettholder også server-oppgave-køer og utnytter en sterkt konsistent lagring for feiltoleranse. Sammen reduserer disse innovasjonene skjedulering-overhoder mens de maksimerer lokalitets-fordelene.
Evaluering av ServerlessLLM-Ytelse
Omfattende eksperimenter benchmarker den sluttlige effekten av ServerlessLLM mot eksisterende systemer ved hjelp av virkelige modeller som OPT-175B og arbeidsbelastninger modellert etter Azure-sporene.
Nøkkel-resultater:
- Mikro-benchmark: ServerlessLLM akselerer checkpoint-lasting med 3,6-8,2X over PyTorch/TensorFlow. Det metter fullstendig lagrings-båndbredden, selv for nyeste NVMe-RAID.
- Skjedulering: ServerlessLLM reduserer allokering-latens med 4-12X sammenlignet med tilfeldig skjedulering, og fremhever lokalitets-bevisste fordeler. Live-migrasjon forhindrer kø-forespørsler.
- Sluttlige serving: For store modeller som OPT-30B, forbedrer ServerlessLLM 99. percentil-latens med 28-200X over systemer som KServe og Ray Serve. Det forbedrer også ressurs-effektiviteten.
Disse betydelige gevinster demonstrerer ServerlessLLM’s evne til å overvinne flaskenhaler i eksisterende serverless-implementasjoner og låse opp kraften til LLM-er for interaktive tjenester.
Optimeringene innført i ServerlessLLM, som flernivå-lasting, live-migrasjon og latens-drevet skjedulering, kan hjelpe til å informere designet av fremtidige serverless-arkitekturer. Systemets evne til å kutte laste- og starttider blokkerer den skalerbare utrullingen av store språkmodeller for praktiske applikasjoner.
Ser Fremover: Pågående Utfordringer
Selv om det er et betydelig sprang fremover, representerer ServerlessLLM bare det første skrittet i å optimalisere serverless-inferens for massive LLM-er. Flere åpne problemer gjenstår, inkludert:
- Forutsiende modell-forespørsel i sanntid for å guide tildeling og forhånds-lasting
- Intelligente plassering av checkpoints over servere for å maksimere cache-treff
- Effektivt skalerende skjedulering-algoritmer for å håndtere større cluster
- Sikre rettferdighet i ressurs-allokering over modeller og utviklere
- Generalisere innovasjoner som live-migrasjon til andre serverless-arbeidsbelastninger
Å løse disse områdene kan hjelpe til å bygge på løftene i serverless LLM-er og gjøre deres evner enda mer tilgjengelige. Forbi system-nivå-optimaliseringer, reduserer den skandaløse karbon-avtrykket og potensielle skadene av store modeller også en pressesak.
ServerlessLLM demonstrerer at det finnes enormt rom for innovasjon i neste-generasjons serverless-arkitekturer for AI-arbeidsbelastninger. Ettersom LLM-er fortsetter å vokse i størrelse og popularitet, vil løsninger som ServerlessLLM som låser opp deres skalerbarhet bli enda mer betydningsfulle. Konvergensen av system- og maskinlæringsforskning kan introdusere nye paradigmer i serving, sharing og scaling av AI-modeller på en trygg og bærekraftig måte.













