Modely a platformy AI
Budoucnost serverless inference pro velké jazykové modely
Poslední pokroky v oblasti velkých jazykových modelů (LLM) jako GPT-4, PaLM vedly k transformačním schopnostem v úkolech zpracování přirozeného jazyka. LLM jsou začleněny do různých aplikací, jako jsou chatboty, vyhledávače a programovací asistenti. Nicméně, poskytování LLM v měřítku zůstává výzvou kvůli jejich podstatným požadavkům na GPU a paměť.
Přístupy k překonání této výzvy se obecně dělí do dvou hlavních kategorií:
- Techniky komprese modelu
Tyto techniky mají za cíl snížit velikost modelu při zachování přesnosti. Společné přístupy zahrnují:
- Ředění – Odstranění redundantních nebo méně důležitých parametrů z modelu. Tím se vytváří řídký model s méně parametry.
- Kvantizace – Používání nižší přesnosti čísel, jako int8 nebo bfloat16, pro reprezentaci vah místo fp32 nebo fp16. Tím se snižuje paměťový otisk.
- Destilace znalostí – Školení menšího “student” modelu, aby napodoboval velký “učitel” model. Menší model se pak používá pro inference.
- Selektivní provádění
Místo komprimovaných modelů tyto techniky selektivně provádějí pouze části modelu pro každou inference:
- Řídké aktivační funkce – Přeskočení výpočtu pro nulové aktivační funkce.
- Podmíněný výpočet – Provádění pouze určitých vrstev podmíněně na vstup.
Na komplementární straně k softwarové architektuře; aby umožnily rychlejší nasazení LLM, výzkumníci navrhli serverless inference systémy. V serverless architekturách jsou LLM hostovány na sdílených GPU clusterech a dynamicky přidělovány na základě poptávky. To umožňuje efektivní využití GPU a snižuje náklady pro vývojáře. Významné implementace zahrnují Amazon (AMZN ) SageMaker, Microsoft Azure ML a open-source možnosti jako KServe.
Navzdory slibům serverless LLM, stávající systémy vykazují vysoké latenci, které snižují uživatelský zážitek v interaktivních aplikacích:
- Drahé stažení kontrolních bodů: LLM mají velké paměťové stopy, často gigabajty až terabajty velikosti. Stažení kontrolních bodů z vzdáleného úložiště je časově náročné, trvá více než 20 sekund, i s optimalizovanými sítěmi.
- Nefunkční načítání kontrolních bodů: I s místním úložištěm SSD, načítání kontrolních bodů do GPU paměti trvá desítky sekund kvůli faktorům, jako je deserializace tensorů a přidělování. To přidává významné zpoždění nad časem spuštění kontejneru.
Aby se tyto problémy řešily, výzkumníci z MIT CSAIL navrhli ServerlessLLM, inovativní systém, který dosahuje nízké latence serverless inference pro LLM. ServerlessLLM zlepšuje lokalitu využíváním hojné, ale nevyužité kapacity a šířky pásma ve víceúrovňovém serverovém úložišti pro nasazení LLM.
Klíčové inovace v ServerlessLLM ServerlessLLM zahrnuje několik novátorských návrhů, aby snížil časy načítání LLM v serverless prostředích:
- Rychlé načítání kontrolních bodů
- Načítání-optimální formát kontrolního bodu, který umožňuje rychlé sekvenční čtení a efektivní adresování tensorů v paměti.
- Víceúrovňový pipeline načítání kontrolních bodů, který maximalizuje využití šířky pásma přes síť, SSD, DRAM a GPU paměť pomocí technik, jako je přímý I/O, přenositelná paměť a paralelismus.
- Živá migrace pro lokalitu-ridden inference
- Token-based migrace, která přenáší pouze základní prompt tokeny přes síť, místo pomalého přenosu snímků.
- Dvoufázová migrace, která umožňuje nepřerušenou inference asynchronním přepočtem cache stavů na cílovém serveru před přenosem konečných tokenů.
- Latence-optimální přidělování serveru
- Přesné modely pro odhad časy načítání kontrolních bodů z každé úrovně a migrace času pro server.
- Lokalita-osvědčený plánovač, který vybírá servery minimalizující očekávanou latenci spuštění pomocí výše uvedených modelů.
Tyto optimalizace umožňují ServerlessLLM snížit časy načítání LLM o 4-8X a časy spuštění o více než 25X ve srovnání se stávajícími systémy, jako jsou PyTorch, TensorFlow a KServe.
Pojďme se blíže podívat, jak ServerlessLLM dosahuje těchto významných výkonových zisků.
Zrychlení načítání kontrolních bodů
První velkou překážkou, kterou ServerlessLLM řeší, je vysoká latence načítání kontrolních bodů LLM z úložiště do GPU paměti.
Aby ermögnil rychlé načítání kontrolních bodů, ServerlessLLM zavádí:
- Načítání-optimální formát kontrolního bodu
Standardní kontrolní body používané rámci, jako PyTorch, jsou navrženy pro školení modelu a ladění. Ale pro serverless inference jsou kontrolní body pouze pro čtení a opakovaně přístupné.
Aby optimalizoval pro takovou čteně-náročnou utilizaci, ServerlessLLM převádí kontrolní body do formátu s dvěma klíčovými vlastnostmi:
- Sekvenční čtení chunků: Tensorové jsou seskupeny do binárních souborů pro GPU, usnadňující velké sekvenční čtení.
- Efektivní adresování tensorů: Index mapuje názvy tensorů na paměťové offsety, umožňující přímé obnovení v paměti bez deserializace.
- Víceúrovňový pipeline načítání kontrolních bodů
ServerlessLLM využívá víceúrovňovou architekturu GPU serverů, se skladovacími médii, jako SSD a síťovým připojením k GPU přes PCIe, NVMe atd.
Systém zahrnuje vícestupňový pipeline, aby maximalizoval využití šířky pásma přes všechny úrovně:
- Chunky dat v paměti jsou přidělovány pomocí připnuté paměti pro rychlý GPU přenos.
- Přímý I/O se používá pro efektivní čtení SSD bez cache přetížení.
- Více vláken čte různé úložné chunky paralelně.
- Mezi-stupňová koordinace probíhá prostřednictvím asynchronních úloh.
Společně to umožňuje nasycení šířky pásma kapacity i nejrychlejších úrovní, jako NVMe RAID. Experimenty odhalují, že ServerlessLLM dosahuje 6-8X rychlejšího načítání než PyTorch/TensorFlow, snižuje časy spuštění pro velké LLM z více než jedné minuty na méně než 10 sekund.
Lokalita-ridden inference LLM pomocí živé migrace
S urychleným načítáním, ServerlessLLM čelí nové výzvě – jak využít přednačtené kontrolní body pro lokalitu bez přerušení probíhajících inferencí na zatížených serverech?
ServerlessLLM zavádí novou techniku – živou migraci inference LLM přes GPU servery. To umožňuje bezproblémový přenos provádění na servery s místními kontrolními body.
Klíčové enablers živé migrace LLM:
- Token-based migrace
Místo snapshotování celého modelového stavu, ServerlessLLM migruje pouze minimální prompt tokeny přes síť. To přenáší řádově méně dat než snímky.
- Dvoufázová migrace
Cílový server asynchronně přepočítává cache stavy z prompt tokenů. Jakmile je připraven, zdrojový server přenese konečné tokeny před uvolněním zdrojů. To zabraňuje inferenčním zástavám.
Experimenty odhalují, že token-based migrace sníží časy migrace z desítek sekund na méně než jednu sekundu, i pro dlouhé sekvence. Živá migrace je zásadní pro prevenci frontových zpoždění při dosahování lokalita-ridden alokace.
Latence-optimální modelové plánování
Aby minimalizoval celkovou latenci, ServerlessLLM vylepšuje plánovač, aby optimalizoval výběr serveru s ohledem na lokalitu. To zahrnuje:
- Jemný odhad času načítání
Modely předpovídají časy načítání z sítě, SSD cache a paměti pro každý server pomocí metrik, jako jsou frontové zpoždění, velikosti modelu a měřené šířky pásma.
- Přesný prediktor času migrace
Plánovač odhaduje časy migrace pro servery pomocí počtu prompt a výstupních tokenů. Sleduje inferenční pokrok asynchronně, aby se zabránilo přetížení.
- Lokalita-osvědčené přidělování
Pro každou inferenční žádost, plánovač vyhodnocuje odhadované časy načítání a migrace přes servery. Vybere server, který minimalizuje očekávanou latenci spuštění.
Plánovač také udržuje fronty úkolů serveru a využívá silně konzistentní úložiště pro odolnost proti chybám. Společně, tyto inovace snižují plánovací přetížení, zatímco maximalizují výhody lokalizace.
Hodnocení výkonu ServerlessLLM
Komplexní experimenty měří celkovou efektivitu ServerlessLLM proti stávajícím systémům pomocí reálných modelů, jako OPT-175B a zátěží modelovaných podle Azure stop.
Klíčové výsledky:
- Mikrobenchmarky: ServerlessLLM urychluje načítání kontrolních bodů o 3,6-8,2X ve srovnání s PyTorch/TensorFlow. Úplně nasycuje šířku pásma úložiště, i pro nejnovější NVMe RAID.
- Plánování: ServerlessLLM snižuje latenci alokace o 4-12X ve srovnání s náhodným plánováním, zdůrazňujícím výhody lokalita-osvědčeného plánování. Živá migrace zabraňuje frontovým zpožděním.
- Celková služba: Pro velké modely, jako OPT-30B, ServerlessLLM zlepšuje 99. percentil latence o 28-200X ve srovnání se systémy, jako KServe a Ray Serve. Také zlepšuje efektivitu zdrojů.
Tyto významné zisky demonstrují schopnost ServerlessLLM překonat úzká místa ve stávajících serverless implementacích a odemknout sílu LLM pro interaktivní služby.
Optimalizace zavedené v ServerlessLLM, jako víceúrovňové načítání, živá migrace a latence-ridden plánování, mohou pomoci informovat design budoucích serverless architektur. Schopnost systému snížit časy načítání a spuštění odemkne škálovatelné nasazení velkých jazykových modelů pro praktické aplikace.
Pohled do budoucnosti: Přetrvávající výzvy
Ačkoli je to významný pokrok, ServerlessLLM představuje pouze první krok v optimalizaci serverless inference pro masivní LLM. Několik otevřených problémů zůstává, včetně:
- Předpověď reálné poptávky modelu pro vedení zásobování a přednačítání
- Inteligentní umístění kontrolních bodů přes servery pro maximalizaci cache zásahů
- Efektivní škálování algoritmů plánování pro zpracování větších clusterů
- Zajištění férovosti při přidělování zdrojů přes modely a vývojáře
- Generalizace inovací, jako je živá migrace, pro jiné serverless zátěže
Řešení těchto oblastí může pomoci postavit na slib serverless LLM a učinit jejich schopnosti ještě více dostupnými. Kromě systémových optimalizací, snižování značného uhlíkového otisku a potenciálních škod velkých modelů zůstává naléhavou prioritou.
ServerlessLLM demonstruje, že existuje obrovský prostor pro inovace v next-generačních serverless architekturách pro AI zátěže. Jak LLM budou dále růst ve velikosti a popularitě, řešení, jako ServerlessLLM, která odemknou jejich škálovatelnost, budou mít stále větší dopad. Konvergence systémového a strojového učení výzkumu může zavést nové paradigma ve službách, sdílení a škálování AI modelů bezpečně a udržitelně.













