Spojte se s námi

Umělá inteligence

Budoucnost odvozování bez serveru pro velké jazykové modely

mm

Nedávné pokroky ve velkých jazykových modelech (LLM) jako GPT-4, PaLM vedly k transformačním schopnostem v úlohách přirozeného jazyka. LLM jsou začleňovány do různých aplikací, jako jsou chatboti, vyhledávače a programovací asistenti. Obsluhovat LLM v měřítku však zůstává náročné kvůli jejich značným požadavkům na GPU a paměť.

Přístupy k překonání tohoto se obecně dělí do dvou hlavních kategorií:

  1. Modelové kompresní techniky

Tyto techniky mají za cíl zmenšit velikost modelu při zachování přesnosti. Mezi běžné přístupy patří:

  • Prořezávání – Odstranění nadbytečných nebo méně důležitých parametrů z modelu. Vznikne tak řídký model s méně parametry.
  • Kvantizace – Použití čísel s nižší přesností jako int8 nebo bfloat16 k reprezentaci vah místo fp32 nebo fp16. To snižuje nároky na paměť.
  • Destilace znalostí – Školení menšího „studentského“ modelu k napodobení velkého „učitelského“ modelu. Menší model se pak použije pro odvození.
  1. Selektivní provedení

Spíše než komprimované modely tyto techniky selektivně provádějí pouze části modelu na odvození:

  • Řídké aktivace – Přeskočení výpočtu při nulových aktivacích.
  • Podmíněný výpočet – Provádění pouze určitých vrstev podmíněných zadáním.

Na komplementární straně wrt ke straně softwarového architekta; pro rychlejší nasazení LLM výzkumníci navrhli bezserverové inferenční systémy. V bezserverových architekturách jsou LLM hostovány na sdílených GPU clusterech a přidělovány dynamicky na základě poptávky. To umožňuje efektivní využití GPU a snižuje náklady pro vývojáře. Mezi prominentní implementace patří Amazon SageMaker, Microsoft Azure ML a možnosti open source, jako je KServe.

Navzdory příslibu bezserverových LLM vykazují stávající systémy vysokou latenci, která snižuje uživatelský dojem v interaktivních aplikacích:

  1. Nákladné stahování kontrolních bodů: LLM mají velké nároky na paměť, často gigabajty až terabajty. Stahování kontrolních bodů ze vzdáleného úložiště je časově náročné a trvá přes 20 sekund i v optimalizovaných sítích.
  2. Neefektivní načítání kontrolních bodů: I s místním úložištěm SSD trvá načítání kontrolních bodů do paměti GPU desítky sekund kvůli faktorům, jako je deseralizace a alokace tenzoru. To přidává značné zpoždění za dobu spuštění kontejneru.

K řešení těchto problémů navrhli výzkumníci z MIT CSAIL ServerlessLLM, inovativní systém, který u LLM dosahuje bezserverového odvození s nízkou latencí. ServerlessLLM vylepšuje lokalitu tím, že využívá hojnou, ale nevyužitou kapacitu a šířku pásma ve vícevrstvém serverovém úložišti pro nasazení LLM.

Přehled LLM bezserverových inferenčních systémů

Přehled LLM bezserverových inferenčních systémů

Klíčové inovace v ServerlessLLM ServerlessLLM obsahuje několik nových návrhů pro zkrácení doby načítání LLM v prostředích bez serveru:

  1. Rychlé načítání kontrolních bodů
  • Formát kontrolního bodu optimalizovaný pro načítání, který umožňuje rychlé sekvenční čtení a efektivní adresování tenzoru v paměti.
  • Vícevrstvý kanál načítání kontrolních bodů, který maximalizuje využití šířky pásma napříč sítí, SSD, DRAM a pamětí GPU pomocí technik, jako je přímý vstup/výstup, připnutý přenos paměti a paralelismus.
  1. Živá migrace pro odvození řízenou lokalitou
  • Migrace založená na tokenech, která přes síť přenáší pouze základní promptní tokeny, čímž se vyhne pomalému přenosu snímků.
  • Dvoufázová migrace, která umožňuje nepřerušované vyvozování pomocí asynchronního přepočítávání stavů mezipaměti na cílovém serveru před přenosem finálních tokenů.
  1. Přidělování serverů s optimalizovanou latencí
  • Přesné modely pro odhad doby načítání kontrolních bodů z každé vrstvy a doby migrace pro server.
  • Plánovač s ohledem na lokalitu, který vybírá servery minimalizující očekávanou latenci spouštění pomocí výše uvedených modelů.

Tyto optimalizace umožňují ServerlessLLM zkrátit dobu načítání LLM 4–8krát a dobu spouštění end-to-end více než 25krát ve srovnání se stávajícími systémy, jako jsou PyTorch, TensorFlow a KServe.

Pojďme se hlouběji ponořit do toho, jak ServerlessLLM dosahuje těchto významných zvýšení výkonu.

Zrychlení načítání kontrolního bodu

Prvním velkým úzkým hrdlem, které ServerlessLLM řeší, je vysoká latence načítání kontrolních bodů LLM z úložiště do paměti GPU.

Aby bylo umožněno rychlé načítání kontrolních bodů, ServerlessLLM zavádí:

  1. Formát kontrolního bodu optimalizovaný pro načítání

Standardní kontrolní body používané frameworky jako PyTorch jsou navrženy pro trénování a ladění modelů. Ale pro odvození bez serveru jsou kontrolní body pouze pro čtení a opakovaně se k nim přistupuje.

Pro optimalizaci pro takové použití náročné na čtení převádí ServerlessLLM kontrolní body do formátu se dvěma klíčovými vlastnostmi:

  • Sekvenční čtení na základě chunků: Tenzory jsou seskupeny do binárních souborů podle GPU, což usnadňuje velká sekvenční čtení.
  • Efektivní adresování tenzorů: Index mapuje názvy tenzorů na offsety paměti, což umožňuje přímou obnovu v paměti bez deserializace.
  1. Vícevrstvé potrubí načítání kontrolních bodů

ServerlessLLM využívá vrstvenou architekturu serverů GPU s úložnými médii, jako jsou SSD a síťovými připojeními k GPU přes PCIe, NVMe atd.

Systém obsahuje vícestupňové potrubí pro maximalizaci využití šířky pásma na všech úrovních:

  • Datové bloky v paměti jsou alokovány pomocí připojené paměti pro rychlý přenos GPU.
  • Přímý I/O se používá pro efektivní čtení SSD bez režie ukládání do mezipaměti.
  • Více vláken paralelně čte různé bloky úložiště.
  • Ke koordinaci mezi fázemi dochází prostřednictvím asynchronních front úloh.

Společně to umožňuje nasycení kapacity šířky pásma i těch nejrychlejších vrstev, jako je NVMe RAID. Experimenty odhalují, že ServerlessLLM dosahuje 6-8x rychlejšího načítání než PyTorch/TensorFlow, což zkracuje dobu spouštění velkých LLM z více než minuty na méně než 10 sekund.

Odvozování LLM řízené lokalitou prostřednictvím živé migrace

Díky zrychlenému načítání čelí ServerlessLLM nové výzvě – jak využít předinstalované kontrolní body pro lokalitu, aniž by došlo k přerušení probíhajících dedukcí na vytížených serverech?

ServerlessLLM představuje novou techniku ​​– živou migraci odvození LLM mezi servery GPU. To umožňuje bezproblémový přenos provádění na servery s dostupnými místními kontrolními body.

Klíčové aktivátory živé migrace LLM:

  1. Migrace založená na tokenech

Namísto pořizování snímků celého stavu modelu ServerlessLLM migruje pouze minimální tokeny výzvy přes síť. Tím se přenese řádově méně dat než snímky.

  1. Dvoufázová migrace

Cílový server asynchronně předpočítá stavy mezipaměti z tokenů výzvy. Jakmile je zdrojový server připraven, před uvolněním prostředků přenese konečné tokeny. Tím se zabrání stagnaci závěrů.

Experimenty odhalují, že migrace založená na tokenech zkracuje dobu migrace z desítek sekund na méně než jednu sekundu i u dlouhých sekvencí. Živá migrace je zásadní pro zamezení zpoždění ve frontě při dosahování alokace na základě lokality.

Plánování modelu s optimalizovanou latencí

Aby se minimalizovala latence end-to-end, ServerlessLLM vylepšuje plánovač, aby optimalizoval výběr serveru s ohledem na lokalitu. To zahrnuje:

  1. Jemně zrnitý odhad doby načítání

Modely předpovídají časy načítání ze sítě, mezipaměti SSD a paměti pro každý server pomocí metrik, jako jsou zpoždění fronty, velikosti modelů a měřená šířka pásma.

  1. Přesný prediktor doby migrace

Plánovač odhaduje časy migrace pro servery pomocí počtu tokenů výzvy a výstupu. Sleduje postup odvození asynchronně, aby se zabránilo režii.

  1. Přidělování podle lokality

U každého požadavku na odvození vyhodnocuje plánovač odhadované doby načítání a migrace mezi servery. Vybere server minimalizující očekávanou latenci spuštění.

Plánovač také udržuje fronty úloh serveru a využívá silně konzistentní úložiště pro odolnost proti chybám. Společně tyto inovace snižují režijní náklady na plánování a zároveň maximalizují výhody pro lokalitu.

Hodnocení výkonu ServerlessLLM

Komplexní experimenty porovnávají celkovou efektivitu ServerlessLLM se stávajícími systémy pomocí modelů v reálném světě, jako je OPT-175B, a pracovních zátěží modelovaných podle trasování Azure.

Klíčové výsledky:

  • Mikrobenchmarky: ServerlessLLM zrychluje načítání kontrolních bodů 3.6-8.2X přes PyTorch/TensorFlow. Plně nasytí šířku pásma úložiště, a to i pro nejmodernější NVMe RAID.
  • Plánování: ServerlessLLM snižuje latenci alokace 4-12X ve srovnání s náhodným plánováním, což zdůrazňuje výhody povědomí o lokalitě. Živá migrace zabraňuje zpoždění ve frontě.
  • End-to-end poskytování: U velkých modelů, jako je OPT-30B, ServerlessLLM zlepšuje latenci 99. percentilu 28-200X oproti systémům jako KServe a Ray Serve. Zvyšuje také efektivitu zdrojů.

Tato podstatná zlepšení demonstrují schopnost ServerlessLLM překonávat úzká hrdla ve stávajících bezserverových implementacích a uvolnit sílu LLM pro interaktivní služby.

Optimalizace zavedené v ServerlessLLM, jako je vícevrstvé načítání, živá migrace a plánování řízené latencí, mohou pomoci při návrhu budoucích bezserverových architektur. Schopnost systému zkrátit dobu načítání a spouštění odblokuje škálovatelné nasazení rozsáhlých jazykových modelů pro praktické aplikace.

Pohled do budoucna: Pokračující výzvy

I když jde o významný skok vpřed, ServerlessLLM představuje pouze první krok v optimalizaci bezserverového vyvozování pro masivní LLM. Zůstává několik otevřených problémů, včetně:

  • Předvídání poptávky po modelu v reálném čase pro vedení zajišťování a přednačítání
  • Inteligentním umístěním kontrolních bodů mezi servery maximalizujete přístupy do mezipaměti
  • Efektivní škálování plánovacích algoritmů pro zpracování větších clusterů
  • Zajištění spravedlivého přidělování zdrojů napříč modely a vývojáři
  • Zobecnění inovací, jako je živá migrace na jiné úlohy bez serveru

Řešení těchto oblastí může pomoci stavět na příslibu bezserverových LLM a učinit jejich možnosti ještě dostupnějšími. Kromě optimalizací na úrovni systému zůstává naléhavou prioritou také snižování obrovské uhlíkové stopy a potenciálních škod velkých modelů.

ServerlessLLM demonstruje, že existuje obrovský prostor pro inovace v bezserverových architekturách nové generace pro pracovní zátěže AI. Vzhledem k tomu, že velikost a popularita LLM neustále narůstá, budou řešení jako ServerlessLLM, která odemykají jejich škálovatelnost, ještě účinnější. Spojení systémů a výzkumu strojového učení může zavést nová paradigmata v bezpečném a udržitelném poskytování, sdílení a škálování modelů umělé inteligence.

Posledních pět let jsem strávil ponořením se do fascinujícího světa strojového učení a hlubokého učení. Moje vášeň a odborné znalosti mě vedly k tomu, abych se podílel na více než 50 různých projektech softwarového inženýrství se zvláštním zaměřením na AI/ML. Moje neustálá zvědavost mě také přivedla ke zpracování přirozeného jazyka, což je obor, který bych rád dále prozkoumal.