škrbina Prihodnost brezstrežniškega sklepanja za velike jezikovne modele – Unite.AI
Povežite se z nami

Umetna inteligenca

Prihodnost brezstrežniškega sklepanja za velike jezikovne modele

mm

objavljeno

 on

Nedavni napredek v velikih jezikovnih modelih (LLM), kot sta GPT-4, PaLM, je privedel do transformativnih zmožnosti pri nalogah naravnega jezika. LLM-ji se vključujejo v različne aplikacije, kot so chatboti, iskalniki in pomočniki pri programiranju. Vendar pa je strežba LLM-jev v velikem obsegu še vedno izziv zaradi njihovih precejšnjih zahtev glede GPE-ja in pomnilnika.

Pristopi za premagovanje tega na splošno spadajo v dve glavni kategoriji:

  1. Tehnike stiskanja modela

Cilj teh tehnik je zmanjšati velikost modela, hkrati pa ohraniti natančnost. Pogosti pristopi vključujejo:

  • Obrezovanje – Odstranjevanje odvečnih ali manj pomembnih parametrov iz modela. To ustvari redek model z manj parametri.
  • Kvantizacija – Uporaba števil nižje natančnosti, kot sta int8 ali bfloat16, za predstavitev uteži namesto fp32 ali fp16. To zmanjša pomnilniški odtis.
  • Destilacija znanja – Usposabljanje manjšega modela »učenca« za posnemanje velikega modela »učitelja«. Manjši model se nato uporabi za sklepanje.
  1. Selektivna izvedba

Namesto stisnjenih modelov te tehnike selektivno izvajajo samo dele modela na sklepanje:

  • Redke aktivacije – Preskok izračuna pri ničelnih aktivacijah.
  • Pogojno računanje – Izvajanje le določenih slojev, pogojenih z vnosom.

Na komplementarni strani glede na stran arhitekta programske opreme; Da bi omogočili hitrejšo uvedbo LLM, so raziskovalci predlagali brezstrežniške sklepne sisteme. V brezstrežniških arhitekturah LLM-ji gostujejo v skupnih gručah GPU in se dinamično dodeljujejo glede na povpraševanje. To omogoča učinkovito uporabo grafičnih procesorjev in zmanjšuje stroške za razvijalce. Pomembne izvedbe vključujejo Amazon SageMaker, Microsoft Azure ML in odprtokodne možnosti, kot je KServe.

Kljub obljubi brezstrežniških LLM-jev obstoječi sistemi kažejo visoke stroške zakasnitve, ki poslabšajo uporabniško izkušnjo v interaktivnih aplikacijah:

  1. Dragi prenosi kontrolnih točk: LLM-ji imajo velike pomnilniške odtise, pogosto velike od gigabajtov do terabajtov. Prenos kontrolnih točk iz oddaljenega pomnilnika je dolgotrajen, saj traja več kot 20 sekund tudi pri optimiziranih omrežjih.
  2. Neučinkovito nalaganje kontrolnih točk: Tudi pri lokalnem pomnilniku SSD nalaganje kontrolnih točk v pomnilnik GPE traja več deset sekund zaradi dejavnikov, kot sta tenzor deserializacija in dodeljevanje. To doda znatne zamude, ki presegajo čas zagona vsebnika.

Za reševanje teh vprašanj so predlagali raziskovalci na MIT CSAIL ServerlessLLM, inovativen sistem, ki omogoča brezstrežniško sklepanje z nizko zakasnitvijo za LLM. ServerlessLLM izboljša lokalnost z izkoriščanjem obilne, a premalo izkoriščene zmogljivosti in pasovne širine v večnivojskem strežniškem pomnilniku za uvajanje LLM.

Pregled LLM brezstrežniških sistemov sklepanja

Pregled LLM brezstrežniških sistemov sklepanja

Ključne novosti v ServerlessLLM ServerlessLLM vključuje več novih zasnov za zmanjšanje časa nalaganja LLM v okoljih brez strežnikov:

  1. Hitro nalaganje kontrolnih točk
  • Format kontrolne točke, optimiziran za nalaganje, ki omogoča hitro zaporedno branje in učinkovito naslavljanje tenzorjev v pomnilniku.
  • Večnivojski nakladalni cevovod za kontrolne točke, ki maksimira uporabo pasovne širine v omrežju, SSD-jih, DRAM-u in pomnilniku GPU s tehnikami, kot so neposredni V/I, prenos pripetega pomnilnika in paralelizem.
  1. Selitev v živo za sklepanje na podlagi krajev
  • Migracija na podlagi žetonov, ki prek omrežja prenaša le bistvene žetone za poziv in se izogne ​​počasnemu prenosu posnetkov.
  • Dvofazna selitev, ki omogoča neprekinjeno sklepanje z asinhronim ponovnim izračunavanjem stanj predpomnilnika na ciljnem strežniku pred prenosom končnih žetonov.
  1. Dodelitev strežnika, optimizirana za zakasnitve
  • Natančni modeli za oceno časov nalaganja kontrolnih točk iz vsake stopnje in časov selitve za strežnik.
  • Razporejevalnik, ki upošteva lokacijo in izbere strežnike tako, da zmanjša pričakovano zakasnitev zagona z uporabo zgornjih modelov.

Te optimizacije omogočajo ServerlessLLM, da skrajša čas nalaganja LLM za 4-8X in čas zagona od konca do konca za več kot 25X v primerjavi z obstoječimi sistemi, kot so PyTorch, TensorFlow in KServe.

Poglobimo se v to, kako ServerlessLLM doseže te pomembne izboljšave zmogljivosti.

Pospeševanje nalaganja kontrolnih točk

Prvo večje ozko grlo, ki ga obravnava ServerlessLLM, je visoka zakasnitev nalaganja kontrolnih točk LLM iz pomnilnika v pomnilnik GPE.

Za omogočanje hitrega nalaganja kontrolnih točk ServerlessLLM uvaja:

  1. Format kontrolne točke, optimiziran za nalaganje

Standardne kontrolne točke, ki jih uporabljajo ogrodja, kot je PyTorch, so zasnovane za usposabljanje modelov in odpravljanje napak. Za sklepanje brez strežnika pa so kontrolne točke samo za branje in do njih se večkrat dostopa.

Za optimizacijo za tako intenzivno uporabo pri branju ServerlessLLM pretvori kontrolne točke v obliko z dvema ključnima lastnostima:

  • Zaporedno branje na podlagi kosov: Tenzorji so združeni v binarne datoteke na GPE, kar omogoča velika zaporedna branja.
  • Učinkovito naslavljanje tenzorjev: Indeks preslika imena tenzorjev v odmike pomnilnika, kar omogoča neposredno obnovitev v pomnilniku brez deserializacije.
  1. Večnivojski nakladalni cevovod za kontrolne točke

ServerlessLLM izkorišča večplastno arhitekturo strežnikov GPU s pomnilniškimi mediji, kot so SSD-ji, in omrežno povezavo z GPE-ji prek PCIe, NVMe itd.

Sistem vključuje večstopenjski cevovod za čim večjo izkoriščenost pasovne širine na vseh ravneh:

  • Kosi podatkov v pomnilniku so dodeljeni z uporabo pripetega pomnilnika za hiter prenos GPE.
  • Neposredni V/I se uporablja za učinkovito branje SSD brez dodatnih stroškov predpomnjenja.
  • Več niti vzporedno bere različne pomnilniške kose.
  • Usklajevanje med stopnjami poteka prek asinhronih čakalnih vrst opravil.

Skupaj to omogoča nasičenje zmogljivosti pasovne širine celo najhitrejših nivojev, kot je NVMe RAID. Eksperimenti razkrivajo, da ServerlessLLM dosega 6–8-krat hitrejše nalaganje kot PyTorch/TensorFlow, kar skrajša zagonske čase za velike LLM z več kot minute na manj kot 10 sekund.

Lokalno vodeno LLM sklepanje prek migracije v živo

S pospešenim nalaganjem se ServerlessLLM sooča z novim izzivom – kako izkoristiti vnaprej naložene kontrolne točke za lokalnost, ne da bi prekinili tekoča sklepanja na zasedenih strežnikih?

ServerlessLLM uvaja novo tehniko – živo selitev sklepanja LLM med strežnike GPE. To omogoča nemoten prenos izvajanja na strežnike z razpoložljivimi lokalnimi kontrolnimi točkami.

Ključni dejavniki, ki omogočajo migracijo LLM v živo:

  1. Selitev na podlagi žetonov

Namesto posnetka celotnega stanja modela ServerlessLLM po omrežju preseli samo minimalne žetone pozivov. To prenese veliko manj podatkov kot posnetki.

  1. Dvofazna selitev

Ciljni strežnik asinhrono vnaprej izračuna stanja predpomnilnika iz žetonov poziva. Ko je pripravljen, izvorni strežnik prenese končne žetone, preden sprosti vire. To preprečuje zastoje sklepanja.

Poskusi razkrivajo, da selitev na podlagi žetonov skrajša čas selitve z desetin sekund na manj kot sekundo tudi za dolga zaporedja. Selitev v živo je ključnega pomena za preprečevanje zamud v čakalnih vrstah pri doseganju dodelitve na podlagi krajev.

Zakasnitveno optimizirano načrtovanje modela

Za zmanjšanje zakasnitve od konca do konca ServerlessLLM izboljša razporejevalnik za optimizacijo izbire strežnika glede na lokalnost. To vključuje:

  1. Natančen ocenjevalec časa nalaganja

Modeli predvidevajo čas nalaganja iz omrežja, predpomnilnika SSD in pomnilnika za vsak strežnik z uporabo meritev, kot so zakasnitve v čakalni vrsti, velikosti modela in izmerjena pasovna širina.

  1. Natančen napovednik časa selitve

Razporejevalnik oceni čas selitve za strežnike s številom pozivnih in izhodnih žetonov. Sledi napredku sklepanja asinhrono, da se izogne ​​dodatnim stroškom.

  1. Dodelitev glede na lokacijo

Za vsako zahtevo po sklepanju razporejevalnik oceni ocenjene čase nalaganja in selitve med strežniki. Izbere strežnik tako, da zmanjša pričakovano zakasnitev zagona.

Razporejevalnik tudi vzdržuje čakalne vrste opravil strežnika in izkorišča zelo dosledno shrambo za toleranco napak. Skupaj te inovacije zmanjšajo režijske stroške načrtovanja, hkrati pa povečajo lokalne prednosti.

Ocenjevanje zmogljivosti ServerlessLLM

Obsežni poskusi primerjajo učinkovitost ServerlessLLM od konca do konca v primerjavi z obstoječimi sistemi z uporabo modelov iz resničnega sveta, kot je OPT-175B, in delovnih obremenitev, modeliranih po sledeh Azure.

Ključni rezultati:

  • Mikromerila: ServerlessLLM pospeši nalaganje kontrolnih točk za 3.6-8.2X preko PyTorch/TensorFlow. Popolnoma nasiči pasovno širino shranjevanja, tudi za najsodobnejši NVMe RAID.
  • Razporejanje: ServerlessLLM zmanjša zakasnitev dodeljevanja za 4–12-krat v primerjavi z naključnim razporejanjem, kar poudarja prednosti zavedanja o lokaciji. Selitev v živo preprečuje zamude v čakalnih vrstah.
  • Postrežba od konca do konca: Za velike modele, kot je OPT-30B, ServerlessLLM izboljša zakasnitev 99. percentila za 28-200X v primerjavi s sistemi, kot sta KServe in Ray Serve. Prav tako povečuje učinkovitost virov.

Ti znatni dobički dokazujejo sposobnost ServerlessLLM, da premaga ozka grla v obstoječih brezstrežniških izvedbah in odklene moč LLM-jev za interaktivne storitve.

Optimizacije, uvedene v ServerlessLLM, kot so večnivojsko nalaganje, selitev v živo in razporejanje, ki temelji na zakasnitvah, lahko pomagajo pri oblikovanju prihodnjih brezstrežniških arhitektur. Zmožnost sistema, da skrajša čas nalaganja in zagona, odblokira razširljivo uvajanje velikih jezikovnih modelov za praktične aplikacije.

Pogled v prihodnost: tekoči izzivi

Čeprav je pomemben korak naprej, ServerlessLLM predstavlja le prvi korak pri optimizaciji brezstrežniškega sklepanja za velike LLM. Ostaja še nekaj odprtih problemov, vključno z:

  • Napovedovanje povpraševanja po modelu v realnem času za vodenje zagotavljanja in prednalaganja
  • Inteligentno postavljanje kontrolnih točk med strežniki za povečanje števila zadetkov v predpomnilniku
  • Učinkovito skaliranje algoritmov za razporejanje za obravnavo večjih gruč
  • Zagotavljanje pravičnosti pri dodeljevanju virov med modeli in razvijalci
  • Posploševanje inovacij, kot je selitev v živo na druge delovne obremenitve brez strežnika

Obravnavanje teh področij lahko pomaga graditi na obljubah LLM-jev brez strežnikov in naredi njihove zmogljivosti še bolj dostopne. Poleg optimizacij na sistemski ravni ostaja nujna prednostna naloga tudi zmanjšanje izjemnega ogljičnega odtisa in potencialne škode velikih modelov.

ServerlessLLM dokazuje, da obstaja ogromno prostora za inovacije v arhitekturah brez strežnikov naslednje generacije za delovne obremenitve AI. Ker LLM še naprej naraščata v velikosti in priljubljenosti, bodo rešitve, kot je ServerlessLLM, ki odklenejo njihovo razširljivost, postale še bolj vplivne. Sotočje sistemov in raziskav strojnega učenja lahko uvede nove paradigme pri varnem in trajnostnem streženju, skupni rabi in skaliranju modelov AI.

Zadnjih pet let sem se potopil v fascinanten svet strojnega in globokega učenja. Moja strast in strokovno znanje sta me pripeljala do tega, da sem prispeval k več kot 50 raznolikim projektom programskega inženiringa, s posebnim poudarkom na AI/ML. Moja nenehna radovednost me je pripeljala tudi do obdelave naravnega jezika, področja, ki ga želim nadalje raziskati.