stub Fremtiden for serverløs slutning til store sprogmodeller - Unite.AI
Følg os

Kunstig intelligens

Fremtiden for serverløs slutning til store sprogmodeller

mm

Udgivet

 on

Nylige fremskridt inden for store sprogmodeller (LLM'er) som GPT-4, PaLM har ført til transformative muligheder i naturlige sprogopgaver. LLM'er bliver indarbejdet i forskellige applikationer såsom chatbots, søgemaskiner og programmeringsassistenter. Det er dog fortsat udfordrende at betjene LLM'er i stor skala på grund af deres betydelige GPU- og hukommelseskrav.

Tilgange til at overvinde dette falder generelt i to hovedkategorier:

  1. Modelkompressionsteknikker

Disse teknikker har til formål at reducere størrelsen af ​​modellen og samtidig bevare nøjagtigheden. Fælles tilgange omfatter:

  • Beskæring – Fjernelse af overflødige eller mindre vigtige parametre fra modellen. Dette skaber en sparsom model med færre parametre.
  • kvantisering – Brug af lavere præcisionstal som int8 eller bfloat16 til at repræsentere vægte i stedet for fp32 eller fp16. Dette reducerer hukommelsesfodaftrykket.
  • Vidensdestillation – Træning af en mindre "elev"-model til at efterligne en stor "lærer"-model. Den mindre model bruges derefter til slutning.
  1. Selektiv udførelse

I stedet for komprimerede modeller, udfører disse teknikker selektivt kun dele af modellen pr. inferens:

  • Sparsomme aktiveringer – Springer beregning ved nulaktiveringer over.
  • Betinget beregning – Udførelse af kun bestemte lag, der er betinget af input.

På komplementær side mht. softwarearkitektsiden; for at muliggøre hurtigere implementering af LLM'er har forskere foreslået serverløse inferenssystemer. I serverløse arkitekturer hostes LLM'er på delte GPU-klynger og allokeres dynamisk baseret på efterspørgsel. Dette muliggør effektiv udnyttelse af GPU'er og reducerer omkostningerne for udviklere. Fremtrædende implementeringer inkluderer Amazon SageMaker, Microsoft Azure ML og open source-muligheder som KServe.

På trods af løftet om serverløse LLM'er udviser eksisterende systemer høje latensomkostninger, der forringer brugeroplevelsen i interaktive applikationer:

  1. Kostbare checkpoint-downloads: LLM'er har store hukommelsesfodspor, ofte gigabyte til terabyte i størrelse. Det er tidskrævende at downloade kontrolpunkter fra fjernlager, og det tager over 20 sekunder selv med optimerede netværk.
  2. Ineffektiv læsning af checkpoint: Selv med lokal SSD-lagring tager indlæsning af checkpoints i GPU-hukommelsen ti sekunder på grund af faktorer som tensor-deserialisering og allokering. Dette tilføjer betydelige forsinkelser ud over containerens opstartstid.

For at løse disse problemer foreslog forskere ved MIT CSAIL Serverløs LLM, et innovativt system, der opnår serverløs inferens med lav latens for LLM'er. ServerlessLLM forbedrer lokaliteten ved at udnytte den rigelige, men underudnyttede kapacitet og båndbredde i multi-tier serverlagring til LLM-implementering.

Oversigt over LLM-serverløse inferenssystemer

Oversigt over LLM-serverløse inferenssystemer

Nøgleinnovationer i ServerlessLLM ServerlessLLM inkorporerer flere nye designs for at reducere LLM-indlæsningstider i serverløse miljøer:

  1. Hurtig indlæsning af checkpoint
  • Indlæsningsoptimeret kontrolpunktformat, der muliggør hurtig sekventiel læsning og effektiv tensoradressering i hukommelsen.
  • Multi-tier checkpoint loading pipeline, der maksimerer båndbreddeudnyttelsen på tværs af netværk, SSD'er, DRAM og GPU-hukommelse gennem teknikker som direkte I/O, fastgjort hukommelsesoverførsel og parallelitet.
  1. Live migration til lokalitetsdrevet inferens
  • Token-baseret migrering, der kun transmitterer vigtige prompt-tokens over netværket og undgår langsom snapshot-overførsel.
  • To-faset migrering, der tillader uafbrudt inferens ved asynkront at genberegne cachetilstande på destinationsserveren før overførsel af endelige tokens.
  1. Latency-optimeret servertildeling
  • Nøjagtige modeller til at estimere indlæsningstider for kontrolpunkter fra hvert niveau og migreringstider for en server.
  • Lokalitetsbevidst planlægger, der vælger servere, der minimerer forventet opstartsforsinkelse ved hjælp af ovenstående modeller.

Disse optimeringer gør det muligt for ServerlessLLM at reducere LLM-indlæsningstider med 4-8X og ende-til-ende-starttider med over 25X sammenlignet med eksisterende systemer som PyTorch, TensorFlow og KServe.

Lad os dykke dybere ned i, hvordan ServerlessLLM opnår disse betydelige præstationsgevinster.

Accelererer checkpoint-indlæsning

Den første store flaskehals, som ServerlessLLM adresserer, er den høje latenstid for indlæsning af LLM-kontrolpunkter fra lager til GPU-hukommelse.

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

  1. Indlæsningsoptimeret kontrolpunktformat

Standard checkpoints brugt af frameworks som PyTorch er designet til modeltræning og fejlfinding. Men for serverløs inferens er kontrolpunkter skrivebeskyttet og tilgås gentagne gange.

For at optimere til sådan læseintensiv brug konverterer ServerlessLLM kontrolpunkter til et format med to nøgleegenskaber:

  • Sekventiel chunk-baseret læsning: Tensorer er grupperet i per-GPU binære filer, hvilket letter store sekventielle læsninger.
  • Effektiv tensoradressering: Et indeks kortlægger tensornavne til hukommelsesforskydninger, hvilket muliggør direkte gendannelse i hukommelsen uden deserialisering.
  1. Indlæsningsrørledning for flere lags checkpoint

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

Systemet inkorporerer en flertrins pipeline for at maksimere båndbreddeudnyttelsen på tværs af alle niveauer:

  • Data i hukommelsen tildeles ved hjælp af fastgjort hukommelse til hurtig GPU-overførsel.
  • Direct I/O bruges til effektiv SSD-læsning uden caching-overhead.
  • Flere tråde læser forskellige opbevaringsstykker parallelt.
  • Inter-stage koordinering sker via asynkrone opgavekøer.

Tilsammen gør dette det muligt at mætte båndbreddekapaciteten for selv de hurtigste niveauer som NVMe RAID. Eksperimenter afslører, at ServerlessLLM opnår 6-8 gange hurtigere indlæsning end PyTorch/TensorFlow, hvilket reducerer opstartstiderne for store LLM'er fra over et minut til under 10 sekunder.

Lokalitetsdrevet LLM-inferens via Live Migration

Med accelereret indlæsning står ServerlessLLM over for en ny udfordring – hvordan udnytter man forudindlæste kontrolpunkter til lokalitet uden at afbryde igangværende konklusioner på travle servere?

ServerlessLLM introducerer en ny teknik – live migrering af LLM-inferens på tværs af GPU-servere. Dette muliggør problemfri overførsel af eksekvering til servere med lokale kontrolpunkter tilgængelige.

Nøglemuligheder for live LLM-migrering:

  1. Token-baseret migration

I stedet for at tage et øjebliksbillede af hele modeltilstanden migrerer ServerlessLLM kun de minimale prompt-tokens over netværket. Dette overfører størrelsesordener mindre data end snapshots.

  1. To-faset migration

Destinationsserveren forudberegner cachetilstande asynkront fra prompt-tokens. Når den er klar, overfører kildeserveren endelige tokens, før ressourcerne frigives. Dette forhindrer slutningsstop.

Eksperimenter afslører, at token-baseret migrering skærer migrationstiderne fra titusvis af sekunder til under et sekund, selv for lange sekvenser. Live migration er afgørende for at forhindre forsinkelser i kø, når der opnås lokalitetsdrevet tildeling.

Latency-optimeret modelplanlægning

For at minimere ende-til-ende latency forbedrer ServerlessLLM planlæggeren for at optimere servervalg i betragtning af lokalitet. Dette involverer:

  1. Finkornet ladetidsestimator

Modeller forudsiger indlæsningstider fra netværk, SSD-caches og hukommelse for hver server ved hjælp af metrics som køforsinkelser, modelstørrelser og målt båndbredde.

  1. Nøjagtig migrationstid forudsigelse

Planlæggeren estimerer migreringstider for servere ved hjælp af antallet af prompt- og outputtokens. Det sporer inferensfremskridt asynkront for at undgå overhead.

  1. Lokalitetsbevidst tildeling

For hver slutningsanmodning evaluerer planlæggeren estimerede indlæsnings- og migreringstider på tværs af servere. Den vælger serveren og minimerer forventet opstartsforsinkelse.

Planlæggeren vedligeholder også serveropgavekøer og udnytter et stærkt konsistent lager for fejltolerance. Tilsammen reducerer disse innovationer planlægningsomkostninger, mens de maksimerer lokalitetsfordelene.

Evaluering af serverløs LLM-ydelse

Omfattende eksperimenter benchmarker ende-til-ende-effektiviteten af ​​ServerlessLLM i forhold til eksisterende systemer ved hjælp af virkelige modeller som OPT-175B og arbejdsbelastninger modelleret efter Azure-spor.

Vigtige resultater:

  • Mikrobenchmarks: ServerlessLLM accelererer indlæsning af checkpoint med 3.6-8.2X over PyTorch/TensorFlow. Det mætter fuldt ud lagringsbåndbredde, selv for banebrydende NVMe RAID.
  • Planlægning: ServerlessLLM reducerer tildelingsforsinkelse med 4-12X sammenlignet med tilfældig planlægning, hvilket fremhæver fordelene ved lokalitetsbevidsthed. Live-migrering forhindrer forsinkelser i kø.
  • End-to-end servering: For store modeller som OPT-30B forbedrer ServerlessLLM 99. percentil latency med 28-200X i forhold til systemer som KServe og Ray Serve. Det øger også ressourceeffektiviteten.

Disse betydelige gevinster demonstrerer ServerlessLLM's evne til at overvinde flaskehalse i eksisterende serverløse implementeringer og frigøre kraften i LLM'er til interaktive tjenester.

Optimeringerne introduceret i ServerlessLLM, såsom multi-tier loading, live migration og latency-drevet planlægning, kan hjælpe med at informere designet af fremtidige serverløse arkitekturer. Systemets evne til at skære ned på indlæsnings- og opstartstider ophæver blokeringen af ​​den skalerbare implementering af store sprogmodeller til praktiske applikationer.

Se fremad: Løbende udfordringer

Selvom det er et betydeligt spring fremad, repræsenterer ServerlessLLM kun det første skridt i optimering af serverløs slutning til massive LLM'er. Der er stadig flere åbne problemer, herunder:

  • Forudsigelse af efterspørgsel efter modeller i realtid for at vejlede klargøring og forudindlæsning
  • Intelligent placering af kontrolpunkter på tværs af servere for at maksimere cache-hits
  • Effektiv skalering af planlægningsalgoritmer til at håndtere større klynger
  • Sikring af retfærdighed i ressourceallokering på tværs af modeller og udviklere
  • Generalisering af innovationer som live migration til andre serverløse arbejdsbelastninger

At adressere disse områder kan hjælpe med at bygge videre på løftet om serverløse LLM'er og gøre deres muligheder endnu mere tilgængelige. Ud over optimering på systemniveau er reduktion af det voldsomme CO2-fodaftryk og potentielle skader ved store modeller også fortsat en presserende prioritet.

ServerlessLLM demonstrerer, at der er enorm plads til innovation i næste generations serverløse arkitekturer til AI-arbejdsbelastninger. Efterhånden som 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 effektive. Sammenløbet af systemer og maskinlæringsforskning kan introducere nye paradigmer i betjening, deling og skalering af AI-modeller sikkert og bæredygtigt.

Jeg har brugt de sidste fem år på at fordybe mig 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 engineering projekter, med særligt fokus på AI/ML. Min vedvarende nysgerrighed har også trukket mig hen imod Natural Language Processing, et felt jeg er ivrig efter at udforske yderligere.