stomp De toekomst van serverloze inferentie voor grote taalmodellen - Unite.AI
Verbind je met ons

Artificial Intelligence

De toekomst van serverloze inferentie voor grote taalmodellen

mm

gepubliceerd

 on

Recente ontwikkelingen in grote taalmodellen (LLM's) zoals GPT-4 en PaLM hebben geleid tot transformatieve mogelijkheden bij natuurlijke taaltaken. LLM's worden opgenomen in verschillende toepassingen, zoals chatbots, zoekmachines en programmeerassistenten. Het op grote schaal bedienen van LLM's blijft echter een uitdaging vanwege hun aanzienlijke GPU- en geheugenvereisten.

Benaderingen om dit te overwinnen vallen over het algemeen in twee hoofdcategorieën:

  1. Modelcompressietechnieken

Deze technieken zijn bedoeld om de omvang van het model te verkleinen met behoud van de nauwkeurigheid. Veel voorkomende benaderingen zijn onder meer:

  • Snoeien – Het verwijderen van overbodige of minder belangrijke parameters uit het model. Hierdoor ontstaat een schaars model met minder parameters.
  • quantisatie – Het gebruik van getallen met een lagere precisie, zoals int8 of bfloat16, om gewichten weer te geven in plaats van fp32 of fp16. Dit vermindert de geheugenvoetafdruk.
  • Kennisdestillatie – Het trainen van een kleiner “student”-model om een ​​groot “leraar”-model na te bootsen. Het kleinere model wordt vervolgens gebruikt voor gevolgtrekking.
  1. Selectieve uitvoering

In plaats van gecomprimeerde modellen voeren deze technieken selectief slechts delen van het model uit per gevolgtrekking:

  • Schaarse activeringen – Berekening overslaan bij nulactiveringen.
  • Voorwaardelijke berekening – Alleen bepaalde lagen uitvoeren, afhankelijk van de invoer.

Aan complementaire kant ten opzichte van de kant van de software-architect; Om een ​​snellere inzet van LLM's mogelijk te maken, hebben onderzoekers serverloze inferentiesystemen voorgesteld. In serverloze architecturen worden LLM's gehost op gedeelde GPU-clusters en dynamisch toegewezen op basis van de vraag. Dit maakt een efficiënt gebruik van GPU's mogelijk en verlaagt de kosten voor ontwikkelaars. Prominente implementaties zijn onder meer Amazon SageMaker, Microsoft Azure ML en open-sourceopties zoals KServe.

Ondanks de belofte van serverloze LLM's vertonen bestaande systemen overheadkosten met hoge latentie die de gebruikerservaring in interactieve applicaties verslechteren:

  1. Dure checkpoint-downloads: LLM's hebben een grote geheugenvoetafdruk, vaak gigabytes tot terabytes groot. Het downloaden van controlepunten uit externe opslag is tijdrovend en duurt zelfs met geoptimaliseerde netwerken meer dan 20 seconden.
  2. Inefficiënt laden van controlepunten: Zelfs met lokale SSD-opslag duurt het laden van controlepunten in het GPU-geheugen tientallen seconden vanwege factoren als tensor-deserialisatie en toewijzing. Dit zorgt voor aanzienlijke vertragingen na de opstarttijd van de container.

Om deze problemen aan te pakken, stelden onderzoekers van MIT CSAIL voor ServerlozeLLM, een innovatief systeem dat serverloze inferentie met lage latentie voor LLM's mogelijk maakt. ServerlessLLM verbetert de locatie door gebruik te maken van de overvloedige maar onderbenutte capaciteit en bandbreedte in multi-tier serveropslag voor LLM-implementatie.

Overzicht van LLM serverloze inferentiesystemen

Overzicht van LLM serverloze inferentiesystemen

Belangrijkste innovaties in ServerlessLLM ServerlessLLM bevat verschillende nieuwe ontwerpen om de laadtijden van LLM in serverloze omgevingen te verkorten:

  1. Snel laden van controlepunten
  • Voor het laden geoptimaliseerd controlepuntformaat dat snel sequentieel lezen en efficiënte tensoradressering in het geheugen mogelijk maakt.
  • Multi-tier checkpoint-laadpijplijn die het bandbreedtegebruik over het netwerk, SSD's, DRAM en GPU-geheugen maximaliseert door middel van technieken zoals directe I/O, vastgezette geheugenoverdracht en parallellisme.
  1. Live migratie voor plaatsgestuurde gevolgtrekking
  • Op tokens gebaseerde migratie die alleen essentiële prompttokens over het netwerk verzendt, waardoor een langzame overdracht van momentopnamen wordt vermeden.
  • Migratie in twee fasen die ononderbroken gevolgtrekkingen mogelijk maakt door de cachestatus op de doelserver asynchroon opnieuw te berekenen voordat de definitieve tokens worden overgedragen.
  1. Latency-geoptimaliseerde servertoewijzing
  • Nauwkeurige modellen om de laadtijden van checkpoints voor elke laag en de migratietijden voor een server te schatten.
  • Locatiebewuste planner die servers selecteert en de verwachte opstartlatentie minimaliseert met behulp van de bovenstaande modellen.

Dankzij deze optimalisaties kan ServerlessLLM de LLM-laadtijden met 4-8x en de end-to-end opstarttijden met meer dan 25x verkorten in vergelijking met bestaande systemen zoals PyTorch, TensorFlow en KServe.

Laten we dieper ingaan op de manier waarop ServerlessLLM deze aanzienlijke prestatieverbeteringen behaalt.

Versneld laden van checkpoints

Het eerste grote knelpunt dat door ServerlessLLM wordt aangepakt, is de hoge latentie bij het laden van LLM-controlepunten van opslag naar GPU-geheugen.

Om snel laden van checkpoints mogelijk te maken, introduceert ServerlessLLM:

  1. Voor laden geoptimaliseerd checkpointformaat

Standaardcontrolepunten die worden gebruikt door frameworks zoals PyTorch zijn ontworpen voor modeltraining en foutopsporing. Maar voor serverloze gevolgtrekking zijn controlepunten alleen-lezen en worden ze herhaaldelijk benaderd.

Om te optimaliseren voor dergelijk leesintensief gebruik, converteert ServerlessLLM controlepunten naar een indeling met twee belangrijke eigenschappen:

  • Opeenvolgend op chunks gebaseerd lezen: Tensors zijn gegroepeerd in binaire bestanden per GPU, waardoor grote sequentiële leesbewerkingen mogelijk zijn.
  • Efficiënte tensoradressering: een index wijst tensornamen toe aan geheugenoffsets, waardoor direct herstel in het geheugen mogelijk is zonder deserialisatie.
  1. Meerlaagse checkpoint-laadpijplijn

ServerlessLLM maakt gebruik van de gelaagde architectuur van GPU-servers, waarbij opslagmedia zoals SSD's en netwerken verbinding maken met GPU's via PCIe, NVMe, enz.

Het systeem bevat een meertrapspijplijn om het bandbreedtegebruik op alle niveaus te maximaliseren:

  • Gegevensbrokken in het geheugen worden toegewezen met behulp van vastgemaakt geheugen voor snelle GPU-overdracht.
  • Directe I/O wordt gebruikt voor efficiënte SSD-leesbewerkingen zonder overheadkosten in de cache.
  • Meerdere threads lezen parallel verschillende opslagbrokken.
  • Coördinatie tussen fasen vindt plaats via asynchrone taakwachtrijen.

Samen maakt dit het mogelijk de bandbreedtecapaciteit van zelfs de snelste niveaus zoals NVMe RAID te verzadigen. Uit experimenten blijkt dat ServerlessLLM 6-8x sneller laadt dan PyTorch/TensorFlow, waardoor de opstarttijden voor grote LLM's worden teruggebracht van meer dan een minuut tot minder dan 10 seconden.

Locatiegestuurde LLM-inferentie via livemigratie

Met versneld laden staat ServerlessLLM voor een nieuwe uitdaging: hoe kun je vooraf geladen controlepunten voor de locatie benutten zonder de voortdurende gevolgtrekkingen op drukke servers te onderbreken?

ServerlessLLM introduceert een nieuwe techniek: live migratie van LLM-inferentie over GPU-servers. Hierdoor kan de uitvoering naadloos worden overgedragen naar servers waar lokale controlepunten beschikbaar zijn.

Belangrijkste factoren voor live LLM-migratie:

  1. Op tokens gebaseerde migratie

In plaats van een momentopname van de gehele modelstatus te maken, migreert ServerlessLLM alleen de minimale prompttokens over het netwerk. Hierdoor worden ordes van grootte minder gegevens overgedragen dan momentopnamen.

  1. Migratie in twee fasen

De doelserver berekent de cachestatussen asynchroon vooraf op basis van prompttokens. Eenmaal gereed draagt ​​de bronserver de laatste tokens over voordat bronnen worden vrijgegeven. Dit voorkomt dat gevolgtrekkingen vastlopen.

Uit experimenten blijkt dat op tokens gebaseerde migratie de migratietijden verkort van tientallen seconden tot minder dan een seconde, zelfs voor lange reeksen. Livemigratie is van cruciaal belang om wachtrijvertragingen te voorkomen bij het bereiken van locatiegestuurde toewijzing.

Latency-geoptimaliseerde modelplanning

Om de end-to-end latentie te minimaliseren, verbetert ServerlessLLM de planner om de serverselectie te optimaliseren, rekening houdend met de locatie. Dit betrekt:

  1. Fijnkorrelige laadtijdschatter

Modellen voorspellen laadtijden van het netwerk, SSD-caches en geheugen voor elke server met behulp van statistieken zoals wachtrijvertragingen, modelgroottes en gemeten bandbreedte.

  1. Nauwkeurige voorspeller van de migratietijd

De planner schat de migratietijden voor servers op basis van het aantal prompt- en uitvoertokens. Het volgt de voortgang van de gevolgtrekkingen asynchroon om overhead te voorkomen.

  1. Plaatsbewuste toewijzing

Voor elk gevolgtrekkingsverzoek evalueert de planner de geschatte laad- en migratietijden op verschillende servers. Het selecteert de server en minimaliseert de verwachte opstartlatentie.

De planner onderhoudt ook wachtrijen voor servertaken en maakt gebruik van een sterk consistente opslag voor fouttolerantie. Samen verminderen deze innovaties de planningskosten en maximaliseren ze de lokale voordelen.

ServerlessLLM-prestaties evalueren

Uitgebreide experimenten vergelijken de end-to-end effectiviteit van ServerlessLLM met bestaande systemen met behulp van real-world modellen zoals OPT-175B en workloads gemodelleerd naar Azure-traceringen.

Belangrijkste resultaten:

  • Microbenchmarks: ServerlessLLM versnelt het laden van checkpoints met 3.6-8.2x via PyTorch/TensorFlow. Het verzadigt de opslagbandbreedte volledig, zelfs voor de allernieuwste NVMe RAID.
  • Scheduling: ServerlessLLM vermindert de toewijzingslatentie met 4-12x in vergelijking met willekeurige planning, wat de voordelen van plaatsbewustzijn benadrukt. Live migratie voorkomt wachtrijvertragingen.
  • End-to-end serveren: Voor grote modellen zoals OPT-30B verbetert ServerlessLLM de latentie van het 99e percentiel met 28-200x ten opzichte van systemen als KServe en Ray Serve. Het verbetert ook de hulpbronnenefficiëntie.

Deze substantiële winst demonstreert het vermogen van ServerlessLLM om knelpunten in bestaande serverloze implementaties te overwinnen en de kracht van LLM's voor interactieve diensten te ontsluiten.

De optimalisaties die in ServerlessLLM zijn geïntroduceerd, zoals laden op meerdere niveaus, livemigratie en latentiegestuurde planning, kunnen helpen bij het ontwerp van toekomstige serverloze architecturen. Het vermogen van het systeem om de laad- en opstarttijden te verkorten maakt de schaalbare inzet van grote taalmodellen voor praktische toepassingen mogelijk.

Vooruitkijken: voortdurende uitdagingen

Hoewel het een aanzienlijke stap voorwaarts is, vertegenwoordigt ServerlessLLM slechts de eerste stap in het optimaliseren van serverloze inferentie voor enorme LLM's. Er blijven verschillende openstaande problemen bestaan, waaronder:

  • Het voorspellen van de real-time modelvraag om de inrichting en het vooraf laden te begeleiden
  • Het op intelligente wijze plaatsen van controlepunten op servers om cachehits te maximaliseren
  • Efficiënt schalen van planningsalgoritmen om grotere clusters te verwerken
  • Zorgen voor eerlijkheid bij de toewijzing van middelen aan modellen en ontwikkelaars
  • Het generaliseren van innovaties zoals livemigratie naar andere serverloze workloads

Door deze gebieden aan te pakken, kan worden voortgebouwd op de belofte van serverloze LLM's en kunnen hun mogelijkheden nog toegankelijker worden gemaakt. Naast optimalisaties op systeemniveau blijft het verminderen van de enorme ecologische voetafdruk en de potentiële schade van grote modellen ook een dringende prioriteit.

ServerlessLLM laat zien dat er een enorme speelruimte bestaat voor innovatie in de volgende generatie serverloze architecturen voor AI-workloads. Naarmate LLM's in omvang en populariteit blijven stijgen, zullen oplossingen zoals ServerlessLLM, die hun schaalbaarheid ontsluiten, nog effectiever worden. De samenloop van systemen en onderzoek naar machinaal leren kan nieuwe paradigma's introduceren voor het veilig en duurzaam bedienen, delen en schalen van AI-modellen.

De afgelopen vijf jaar heb ik me verdiept in de fascinerende wereld van Machine Learning en Deep Learning. Door mijn passie en expertise heb ik bijgedragen aan meer dan 50 verschillende software engineering projecten, met een bijzondere focus op AI/ML. Mijn voortdurende nieuwsgierigheid heeft me ook aangetrokken tot Natural Language Processing, een gebied dat ik graag verder wil verkennen.