AI-modeller og plattformer

Fremtiden for serverless inferens for store språkmodeller

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

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:

  1. 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.
  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å 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:

  1. 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.
  2. 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.

Oversikt over LLM-serverless inferenssystemer

Oversikt over LLM-serverless inferenssystemer

Nøkkelinnovasjoner i ServerlessLLM ServerlessLLM inkorporerer flere nye design for å kutte LLM-lastetider i serverless-miljøer:

  1. 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.
  1. 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.
  1. 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:

  1. 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.
  1. 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:

  1. 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.

  1. 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:

  1. 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.

  1. 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.

  1. 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.

Jeg har brukt de siste fem årene på å dykke ned i den fasiniserende verden av Maskinlæring og Dypt Læring. Min lidenskap og ekspertise har ledet meg til å bidra til over 50 ulike programvareprosjekter, med særlig fokus på AI/ML. Min pågående nysgjørhet har også trukket meg mot Naturlig Språkbehandling, et felt jeg er ivrig etter å utforske videre.