Connect with us

Kunstig intelligens

Fremtiden for serverløs inferens for store språkmodeller

mm

Nylige fremskritt i store språkmodeller (LLM) som GPT-4, PaLM har ledet til transformative evner i naturlige språkoppgaver. LLMer blir inkorporert i ulike applikasjoner som chatbots, søkemotorer og programmeringsassistenter. Men å betjene LLMer i stor skala er fortsatt utfordrende på grunn av deres betydelige GPU- og minnekrev.

Tilnærmingene for å overvinne dette faller vanligvis inn i to hovedkategorier:

  1. Modellkomprimeringsteknikker

Disse teknikkene har som mål å redusere modellstørrelsen samtidig som nøyaktigheten opprettholdes. Vanlige tilnærminger inkluderer:

  • Pruning – Fjerning av redundante eller mindre viktige parametre fra modellen. Dette skaper en sparsom modell med færre parametre.
  • Quantization – Bruk av lavere presisjonstall som int8 eller bfloat16 til å representere vekter i stedet for fp32 eller fp16. Dette reduserer minneavtrykket.
  • Kunnskapsdestillasjon – Trening av en mindre “elev”-modell for å etterligne en stor “lærer”-modell. Den mindre modellen brukes deretter til inferens.
  1. Selektiv eksekvering

I stedet for komprimerte modeller, utfører disse teknikkene selektivt kun deler av modellen per inferens:

  • Sparse aktiveringer – Hopping over beregning på nullaktiveringer.
  • Betinget beregning – Utføring av kun bestemte lag kondisjonert på inndata.

På den komplementære siden i forhold til software-arkitektursiden; for å muliggjøre raskere distribusjon av LLMer, har forskere foreslått serverløse inferenssystemer. I serverløse arkitekturer, er LLMer vertet på delt GPU-kluster og tildelt dynamisk basert på etterspørsel. Dette muliggjør effektiv utnyttelse av GPUer og reduserer kostnader for utviklere. Fremtredende implementeringer inkluderer Amazon SageMaker, Microsoft Azure ML og åpne kildealternativer som KServe.

Til tross for løftene i serverløse LLMer, viser eksisterende systemer høye latensoverhoder som forringrer brukeropplevelsen i interaktive applikasjoner:

  1. Kostbare checkpoint-nedlastinger: LLMer 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.
  2. Ueffektiv checkpoint-lastning: 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 betydelige forsinkelser utover container-starttid.

For å løse disse problemene, har forskere ved MIT CSAIL foreslått ServerlessLLM, et innovativt system som oppnår lav-latens serverløs inferens for LLMer. ServerlessLLM forbedrer lokalitet ved å utnytte den rike, men underutnyttede kapasiteten og båndbredden i flerlags serverlagring for LLM-distribusjon.

Oversikt over LLM serverløse inferenssystemer

Oversikt over LLM serverløse inferenssystemer

Nøkkelinnovasjoner i ServerlessLLM ServerlessLLM inkorporerer flere nye design for å kutte LLM-lastningstider i serverløse miljøer:

  1. Rask checkpoint-lastning
  • Lastning-optimert checkpoint-format som muliggjør rask sekvensiell lesing og effektiv minne-adressing.
  • Flertier-checkpoint-lastningspipeline som maksimerer båndbreddsutnyttelse over nettverk, SSD-er, DRAM og GPU-minne gjennom teknikker som direkte I/O, pinned minneoverføring og parallellitet.
  1. Live-migrasjon for lokalitetsdrevet inferens
  • Token-basert migrasjon som overfører kun essensielle prompt-tokens over nettverket, og unngår langsom snapshot-overføring.
  • To-fase-migrasjon som muliggjør uavbrutt inferens ved å asynkront rekalkulere cache-tilstander på målserveren før overføring av endelige tokens.
  1. Latens-optimert server-allokering
  • Nøyaktige modeller for å anslå checkpoint-lastningstider fra hver tier og migrasjonstider for en server.
  • Lokalitets-bevisst planlegger som velger servere som minimerer forventet start-latens ved å bruke ovennevnte modeller.

Disse optimaliseringene lar ServerlessLLM redusere LLM-lastningstider med 4-8 ganger og sluttlige starttider med over 25 ganger sammenlignet med eksisterende systemer som PyTorch, TensorFlow og KServe.

La oss dykke dyptere inn i hvordan ServerlessLLM oppnår disse betydelige ytelsesforbedringene.

Accelererende Checkpoint-Lastning

Den første store flasken som ServerlessLLM løser, er den høye latensen ved å laste LLM-checkpoints fra lagring inn i GPU-minne.

For å muliggjøre rask checkpoint-lastning, introduserer ServerlessLLM:

  1. Lastning-optimert checkpoint-format

Standard-checkpoints brukt av rammeverk som PyTorch er designet for modell-trening og feilsøking. Men for serverløs inferens, er checkpoints skrivebeskyttet og aksessert gjentatte ganger.

For å optimalisere for slike les-intensive bruksområder, 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-offset, som muliggjør direkte minne-gjenopprettelse uten deserialisering.
  1. Flertier-checkpoint-lastningspipeline

ServerlessLLM utnytter den flerlagete arkitekturen i 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åndbreddsutnyttelse over alle lag:

  • Minne-data-chunker er allokert med pinned minne 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-stage-koordinering skjer via asynkron task-koer.

Sammen muliggjør dette å mette båndbredds-kapasiteten til selv de raskeste lagene som NVMe RAID. Eksperimenter avslører at ServerlessLLM oppnår 6-8 ganger raskere lastning enn PyTorch/TensorFlow, og reduserer starttider for store LLMer fra over en minut til under 10 sekunder.

Lokalitetsdrevet LLM-Inferens via Live-Migrasjon

Med akselerert lastning, møter ServerlessLLM en ny utfordring – hvordan å utnytte forhåndslastede checkpoints for lokalitet uten å avbryte pågående inferenser på travle servere?

ServerlessLLM introduserer en ny teknikk – live-migrasjon av LLM-inferens over GPU-servere. Dette muliggjør å overføre eksekvering til servere med lokale checkpoints tilgjengelige.

Nøkkel-aktiverende av live LLM-migrasjon:

  1. Token-basert migrasjon

I stedet for å snapshotte hele modell-tilstanden, overfører ServerlessLLM kun de minimale prompt-tokens over nettverket. Dette overfører flere størrelsesordener mindre data enn snapshots.

  1. To-fase-migrasjon

Mål-serveren asynkront forhåndskalkulerer 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-stans.

Eksperimenter avslører at token-basert migrasjon kutter migrasjonstider fra titall sekunder til under ett sekund, selv for lange sekvenser. Live-migrasjon er avgjørende for å forhindre kø-forsinkelser når man oppnår lokalitets-drevet allokering.

Latens-Optimert Modell-Skjedulering

For å minimere sluttlige latens, forbedrer ServerlessLLM skjeduleren for å optimalisere server-valg med hensyn til lokalitet. Dette inkluderer:

  1. Fin-granet lastningstids-estimator

Modeller forutsier lastningstider fra nettverk, SSD-cache og minne for hver server ved å bruke målinger som kø-forsinkelser, modell-størrelser og målt båndbredd.

  1. Nøyaktig migrasjonstids-prediktor

Skjeduleren estimerer migrasjonstider for servere ved å bruke antall prompt- og utgangs-tokens. Den sporer inferens-fremskritt asynkront for å unngå overhoder.

  1. Lokalitets-bevisst allokering

For hver inferens-forespørsel, vurderer skjeduleren estimerte lastning- og migrasjonstider over servere. Den velger serveren som minimerer forventet start-latens.

Skjeduleren opprettholder også server-oppgave-koer og utnytter en sterkt konsistent butikk 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 å bruke virkelige modeller som OPT-175B og arbeidsbelastninger modellert etter Azure-spore.

Nøkkel-resultater:

  • Mikro-benchmark: ServerlessLLM akselerer checkpoint-lastning med 3,6-8,2 ganger over PyTorch/TensorFlow. Det metter fullstendig lagrings-båndbredden, selv for fremtredende NVMe RAID.
  • Skjedulering: ServerlessLLM reduserer allokering-latens med 4-12 ganger sammenlignet med tilfeldig skjedulering, og fremhever fordelen av lokalitets-bevissthet. Live-migrasjon forhindrer kø-forsinkelser.
  • Sluttlige serving: For store modeller som OPT-30B, forbedrer ServerlessLLM 99. percentil-latens med 28-200 ganger over systemer som KServe og Ray Serve. Det forbedrer også ressurs-effektivitet.

Disse betydelige forbedringene demonstrerer ServerlessLLMs evne til å overvinne flasken i eksisterende serverløse implementeringer og å låse opp kraften til LLMer for interaktive tjenester.

Optimaliseringene introdusert i ServerlessLLM, som flerlags-lastning, live-migrasjon og latens-drevet skjedulering, kan hjelpe med å informere designet av fremtidige serverløse arkitekturer. Systemets evne til å kutte lastning- og starttider blokkerer den skalerbare distribusjonen av store språkmodeller for praktiske applikasjoner.

Ser Fremover: Gjenværende Utfordringer

Selv om det er et betydelig sprang fremover, representerer ServerlessLLM bare det første steget i å optimalisere serverløs inferens for massive LLMer. Flere åpne problemer gjenstår, inkludert:

  • Forutsi realtids-modell-etterspørsel for å guide forsyning og forhåndslastning
  • 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 serverløse arbeidsbelastninger

Å løse disse områdene kan hjelpe med å bygge på løftene i serverløse LLMer og gjøre deres evner enda mer tilgjengelige. Utenfor system-nivå-optimaliseringer, å redusere den skadelige karbon-avtrykket og potensielle skadene av store modeller, er det fortsatt en presserende prioritet.

ServerlessLLM demonstrerer at det finnes enormt rom for innovasjon i neste-generasjons serverløse arkitekturer for AI-arbeidsbelastninger. Ettersom LLMer fortsetter å øke 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ærings-forskning kan introdusere nye paradigmer i serving, deling og skalering av AI-modeller på en trygg og bærekraftig måte.

Jeg har brukt de siste fem årene til å dykke ned i den fasiniserende verden av Machine Learning og Deep Learning. Min lidenskap og ekspertise har ført meg til å bidra til over 50 forskjellige prosjekter innen programvareutvikling, med særlig fokus på AI/ML. Min pågående nysgjerrighet har også trukket meg mot Natural Language Processing, et felt jeg er ivrig etter å utforske videre.