stub Fremtiden for serverløs slutning for store språkmodeller - Unite.AI
Kontakt med oss

Kunstig intelligens

Fremtiden for serverløs slutning for store språkmodeller

mm

Publisert

 on

Nylige fremskritt innen store språkmodeller (LLM) som GPT-4, PaLM har ført til transformative evner i naturlige språkoppgaver. LLM-er blir integrert i ulike applikasjoner som chatbots, søkemotorer og programmeringsassistenter. Å betjene LLM-er i stor skala er imidlertid fortsatt utfordrende på grunn av deres betydelige GPU- og minnekrav.

Tilnærminger for å overvinne dette faller generelt inn i to hovedkategorier:

  1. Modellkompresjonsteknikker

Disse teknikkene tar sikte på å redusere størrelsen på modellen og samtidig opprettholde nøyaktigheten. Vanlige tilnærminger inkluderer:

  • beskjæring – Fjerne overflødige eller mindre viktige parametere fra modellen. Dette skaper en sparsom modell med færre parametere.
  • kvantisering – Bruk av lavere presisjonstall som int8 eller bfloat16 for å representere vekter i stedet for fp32 eller fp16. Dette reduserer minnefotavtrykket.
  • Kunnskapsdestillasjon – Trening av en mindre "elev"-modell for å etterligne en stor "lærer"-modell. Den mindre modellen brukes da til slutning.
  1. Selektiv utførelse

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

  • Sparsomme aktiveringer – Hopp over beregning ved null aktiveringer.
  • Betinget beregning – Utfører kun visse lag som er betinget av inngangen.

På komplementær side i forhold til programvarearkitektsiden; for å muliggjøre raskere distribusjon av LLMs har forskere foreslått serverløse inferenssystemer. I serverløse arkitekturer vert LLM-er på delte GPU-klynger og tildeles dynamisk basert på etterspørsel. Dette muliggjør effektiv utnyttelse av GPUer og reduserer kostnadene for utviklere. Fremtredende implementeringer inkluderer Amazon SageMaker, Microsoft Azure ML og åpen kildekode-alternativer som KServe.

Til tross for løftet om serverløse LLM-er, viser eksisterende systemer høye ventetider som forringer brukeropplevelsen i interaktive applikasjoner:

  1. Kostbare sjekkpunktnedlastinger: LLM-er har store minneavtrykk, ofte gigabyte til terabyte i størrelse. Nedlasting av sjekkpunkter fra ekstern lagring er tidkrevende, og tar over 20 sekunder selv med optimaliserte nettverk.
  2. Ineffektiv lasting av sjekkpunkt: Selv med lokal SSD-lagring tar det å laste sjekkpunkter inn i GPU-minnet titalls sekunder på grunn av faktorer som tensor-deserialisering og allokering. Dette legger til betydelige forsinkelser utover oppstartstiden for beholderen.

For å løse disse problemene foreslo forskere ved MIT CSAIL ServerløsLLM, et innovativt system som oppnår serverløs slutning med lav latens for LLM-er. ServerlessLLM forbedrer lokaliteten 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 inneholder flere nye design for å redusere LLM-lastetiden i serverløse miljøer:

  1. Rask lasting av sjekkpunkt
  • Lasteoptimalisert sjekkpunktformat som muliggjør rask sekvensiell lesing og effektiv tensoradressering i minnet.
  • Flerlags sjekkpunkt-lastingspipeline som maksimerer båndbreddeutnyttelsen på tvers av nettverk, SSD-er, DRAM- og GPU-minne gjennom teknikker som direkte I/O, overføring av festet minne og parallellitet.
  1. Live migrering for lokalitetsdrevet slutning
  • Token-basert migrering som bare overfører viktige prompt-tokens over nettverket, og unngår langsom overføring av øyeblikksbilder.
  • To-fase migrering som tillater uavbrutt inferens ved asynkron omberegning av cache-tilstander på målserveren før overføring av endelige tokens.
  1. Latensoptimalisert servertildeling
  • Nøyaktige modeller for å estimere lastetider for sjekkpunkter fra hvert nivå og migreringstider for en server.
  • Lokalitetsbevisst planlegger som velger servere som minimerer forventet oppstartsforsinkelse ved å bruke modellene ovenfor.

Disse optimaliseringene lar ServerlessLLM redusere LLM-lastetidene med 4-8X og ende-til-ende oppstartstider med over 25X sammenlignet med eksisterende systemer som PyTorch, TensorFlow og KServe.

La oss dykke dypere inn i hvordan ServerlessLLM oppnår disse betydelige ytelsesgevinstene.

Akselererer sjekkpunktinnlasting

Den første store flaskehalsen som er adressert av ServerlessLLM er den høye latensen for lasting av LLM-sjekkpunkter fra lagring til GPU-minne.

For å muliggjøre rask lasting av sjekkpunkter, introduserer ServerlessLLM:

  1. Lasteoptimalisert sjekkpunktformat

Standard sjekkpunkter brukt av rammeverk som PyTorch er designet for modelltrening og feilsøking. Men for serverløs inferens er sjekkpunkter skrivebeskyttet og aksessert gjentatte ganger.

For å optimalisere for slik leseintensiv bruk, konverterer ServerlessLLM sjekkpunkter til et format med to nøkkelegenskaper:

  • Sekvensiell delbasert lesing: Tensorer er gruppert i binære filer per GPU, noe som muliggjør store sekvensielle lesinger.
  • Effektiv tensoradressering: En indeks kartlegger tensornavn til minneforskyvninger, og tillater direkte restaurering i minnet uten deserialisering.
  1. Flerlags sjekkpunkt lasterørledning

ServerlessLLM utnytter den lagdelte arkitekturen til GPU-servere, med lagringsmedier som SSD-er og nettverk som kobles til GPU-er via PCIe, NVMe, etc.

Systemet har en flertrinns rørledning for å maksimere båndbreddeutnyttelsen på tvers av alle nivåer:

  • Databiter i minnet tildeles ved hjelp av festet minne for rask GPU-overføring.
  • Direkte I/O brukes for effektiv SSD-lesing uten caching-overhead.
  • Flere tråder leser forskjellige lagringsbiter parallelt.
  • Koordinering mellom trinn skjer via asynkrone oppgavekøer.

Sammen gjør dette det mulig å mette båndbreddekapasiteten til selv de raskeste nivåene som NVMe RAID. Eksperimenter viser at ServerlessLLM oppnår 6-8 ganger raskere lasting enn PyTorch/TensorFlow, noe som reduserer oppstartstiden for store LLM-er fra over ett minutt til under 10 sekunder.

Lokalitetsdrevet LLM-slutning via direkte migrering

Med akselerert lasting står ServerlessLLM overfor en ny utfordring – hvordan utnytte forhåndsinnlastede sjekkpunkter for lokalitet uten å avbryte pågående slutninger på travle servere?

ServerlessLLM introduserer en ny teknikk – direkte migrering av LLM-slutninger på tvers av GPU-servere. Dette tillater sømløs overføring av utførelse til servere med lokale sjekkpunkter tilgjengelig.

Viktige muliggjører for live LLM-migrering:

  1. Tokenbasert migrering

I stedet for å ta et øyeblikksbilde av hele modelltilstanden, migrerer ServerlessLLM bare de minimale prompt-tokenene over nettverket. Dette overfører størrelsesordener mindre data enn øyeblikksbilder.

  1. To-fase migrasjon

Destinasjonstjeneren forhåndsberegner cachetilstander asynkront fra ledetekst-tokens. Når den er klar, overfører kildeserveren endelige tokens før ressursene frigjøres. Dette forhindrer slutningsstopp.

Eksperimenter viser at tokenbasert migrering reduserer migrasjonstiden fra titalls sekunder til under et sekund, selv for lange sekvenser. Direkte migrering er avgjørende for å forhindre forsinkelser i kø når man oppnår lokalitetsdrevet tildeling.

Latensoptimalisert modellplanlegging

For å minimere ende-til-ende-latens, forbedrer ServerlessLLM planleggeren for å optimalisere servervalg med tanke på lokalitet. Dette innebærer:

  1. Finkornet lastetidsestimator

Modeller forutsier lastetider fra nettverk, SSD-cacher og minne for hver server ved å bruke beregninger som køforsinkelser, modellstørrelser og målt båndbredde.

  1. Nøyaktig migrasjonstidsprediktor

Planleggeren estimerer migreringstider for servere ved å bruke antall ledetekst- og utdatatokens. Den sporer inferensfremgang asynkront for å unngå overhead.

  1. Lokalitetsbevisst tildeling

For hver slutningsforespørsel evaluerer planleggeren estimerte laste- og migreringstider på tvers av servere. Den velger serveren og minimerer forventet oppstartsforsinkelse.

Planleggeren opprettholder også serveroppgavekøer og utnytter et sterkt konsistent lager for feiltoleranse. Sammen reduserer disse innovasjonene planleggingskostnadene samtidig som de maksimerer lokalitetsfordelene.

Evaluering av serverløs LLM-ytelse

Omfattende eksperimenter benchmarker ende-til-ende-effektiviteten til ServerlessLLM mot eksisterende systemer som bruker virkelige modeller som OPT-175B og arbeidsbelastninger modellert etter Azure-spor.

Nøkkelresultater:

  • Mikrobenchmarks: ServerlessLLM akselererer lasting av sjekkpunkt med 3.6-8.2X over PyTorch/TensorFlow. Den metter lagringsbåndbredden fullstendig, selv for banebrytende NVMe RAID.
  • Planlegging: ServerlessLLM reduserer tildelingsforsinkelse med 4-12X sammenlignet med tilfeldig planlegging, og fremhever fordelene med lokalitetsbevissthet. Direkte migrering forhindrer forsinkelser i kø.
  • Ende-til-ende-servering: For store modeller som OPT-30B forbedrer ServerlessLLM 99. persentil-latenstiden med 28-200X over systemer som KServe og Ray Serve. Det øker også ressurseffektiviteten.

Disse betydelige gevinstene viser ServerlessLLMs evne til å overvinne flaskehalser i eksisterende serverløse implementeringer og låse opp kraften til LLM-er for interaktive tjenester.

Optimaliseringene introdusert i ServerlessLLM, som multi-tier lasting, live migrering og latensdrevet planlegging, kan bidra til å informere utformingen av fremtidige serverløse arkitekturer. Systemets evne til å kutte innlastings- og oppstartstider fjerner blokkeringen av skalerbar distribusjon av store språkmodeller for praktiske applikasjoner.

Se fremover: Pågående utfordringer

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

  • Forutsi sanntidsmodellbehov for å veilede klargjøring og forhåndslasting
  • Intelligent plassering av sjekkpunkter på tvers av servere for å maksimere cache-treff
  • Effektiv skalering av planleggingsalgoritmer for å håndtere større klynger
  • Sikre rettferdighet i ressursallokering på tvers av modeller og utviklere
  • Generalisering av innovasjoner som direkte migrering til andre serverløse arbeidsbelastninger

Å adressere disse områdene kan bidra til å bygge videre på løftet om serverløse LLM-er og gjøre deres evner enda mer tilgjengelige. Utover optimaliseringer på systemnivå, er det fortsatt en presserende prioritet å redusere det voldsomme karbonavtrykket og potensielle skader fra store modeller.

ServerlessLLM demonstrerer at det er et enormt rom for innovasjon i neste generasjons serverløse arkitekturer for AI-arbeidsbelastninger. Ettersom LLM-er fortsetter å øke i størrelse og popularitet, vil løsninger som ServerlessLLM som låser opp skalerbarheten bli enda mer effektive. Sammenløpet av systemer og maskinlæringsforskning kan introdusere nye paradigmer for å betjene, dele og skalere AI-modeller trygt og bærekraftig.

Jeg har brukt de siste fem årene på å fordype meg i den fascinerende verdenen av maskinlæring og dyplæring. Min lidenskap og ekspertise har ført til at jeg har bidratt til over 50 ulike programvareprosjekter, med spesielt fokus på AI/ML. Min pågående nysgjerrighet har også trukket meg mot naturlig språkbehandling, et felt jeg er ivrig etter å utforske videre.