Kunstmatige intelligentie
De Toekomst van Serverloze Inferentie voor Grote Taalmodellen

Recente vooruitgang in grote taalmodellen (LLM’s) zoals GPT-4, PaLM heeft leiden tot transformatieve mogelijkheden in natuurlijke taaltaken. LLM’s worden geïntegreerd in verschillende toepassingen zoals chatbots, zoekmachines en programmeerhulpmiddelen. Het serveren van LLM’s op grote schaal blijft echter een uitdaging vanwege hun aanzienlijke GPU- en geheugeneisen.
Benaderingen om deze uitdaging te overwinnen, vallen over het algemeen in twee hoofdcategorieën:
- Modelcompressietechnieken
Deze technieken zijn gericht op het verkleinen van de grootte van het model terwijl de nauwkeurigheid behouden blijft. Veel voorkomende benaderingen zijn:
- Pruning – Verwijderen van redundante of minder belangrijke parameters uit het model. Dit creëert een schaars model met minder parameters.
- Quantization – Gebruik van lagere precisiecijfers zoals int8 of bfloat16 om gewichten te vertegenwoordigen in plaats van fp32 of fp16. Dit vermindert de geheugenvoetafdruk.
- Kennisdistillatie – Trainen van een kleinere “student”-model om een groot “leraar”-model na te bootsen. Het kleinere model wordt vervolgens gebruikt voor inferentie.
- Selectieve uitvoering
In plaats van gecomprimeerde modellen, voeren deze technieken selectief alleen delen van het model uit per inferentie:
- Sparse activaties – Overslaan van berekeningen voor nul-activaties.
- Conditionele berekening – Uitvoeren van alleen bepaalde lagen afhankelijk van de invoer.
Aan de complementaire kant van de software-architectuurkant; om een snellere implementatie 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 vraag. Dit maakt een efficiënte benutting van GPU’s en vermindert de kosten voor ontwikkelaars. Prominente implementaties zijn onder andere Amazon SageMaker, Microsoft Azure ML en open-source-opties zoals KServe.
Ondanks de belofte van serverloze LLM’s, vertonen bestaande systemen hoge latentie-overhead die de gebruikerservaring in interactieve toepassingen verslechtert:
- Dure checkpoint-downloads: LLM’s hebben een grote geheugenvoetafdruk, vaak gigabytes tot terabytes in omvang. Downloaden van checkpoints vanaf remote-opslag is tijdrovend, wat meer dan 20 seconden duurt, zelfs met geoptimaliseerde netwerken.
- Inefficiënte checkpoint-laden: Zelfs met lokale SSD-opslag, duurt het laden van checkpoints in GPU-geheugen tientallen seconden vanwege factoren zoals tensor-deserialisatie en -toewijzing. Dit voegt significante vertragingen toe buiten de containerstarttijd.
Om deze problemen aan te pakken, hebben onderzoekers van MIT CSAIL ServerlessLLM voorgesteld, een innovatief systeem dat lage-latentie-serverloze inferentie voor LLM’s bereikt. ServerlessLLM verbetert de localiteit door de overvloedige maar onderbenutte capaciteit en bandbreedte in multi-tier-serveropslag voor LLM-implementatie te benutten.
Sleutelinnovaties in ServerlessLLM ServerlessLLM omvat verschillende novatieve ontwerpen om de laadtijden van LLM’s in serverloze omgevingen te verkleinen:
- Snel checkpoint-laden
- Laad-optimaliseerd checkpointformaat dat snelle sequentiële lezing en efficiënte in-geheugen-tensoradressering mogelijk maakt.
- Multi-tier checkpoint-ladingspijplijn die de bandbreedtegebruik maximaliseert over netwerk, SSD’s, DRAM en GPU-geheugen via technieken zoals directe I/O, vastgezette geheugenoverdracht en parallelisme.
- Live-migratie voor localiteit-gedreven inferentie
- Token-gebaseerde migratie die alleen essentiële prompt-tokens over het netwerk verzendt, waardoor langzame snapshot-overdracht wordt vermeden.
- Tweefasen-migratie die ononderbroken inferentie mogelijk maakt door asynchroon de cache-toestanden op de bestemmingsserver te herberekenen voordat de laatste tokens worden overgedragen.
- Latentie-geoptimaliseerde servertoewijzing
- Nauwkeurige modellen om checkpoint-laadtijden van elke tier en migratietijden voor een server te schatten.
- Localiteit-bewuste planner die servers selecteert die de verwachte startlatentie minimaliseren met behulp van de bovenstaande modellen.
Deze optimalisaties stellen ServerlessLLM in staat om de laadtijden van LLM’s met 4-8X en de eind-tot-eind-starttijden met meer dan 25X te verkleinen in vergelijking met bestaande systemen zoals PyTorch, TensorFlow en KServe.
Laten we dieper ingaan op hoe ServerlessLLM deze significante prestatieverbeteringen bereikt.
Versnellen van Checkpoint-laden
De eerste grote bottleneck die door ServerlessLLM wordt aangepakt, is de hoge latentie van het laden van LLM-checkpoints van opslag in GPU-geheugen.
Om snel checkpoint-laden mogelijk te maken, introduceert ServerlessLLM:
- Laad-optimaliseerd checkpointformaat
Standaardcheckpoints die door frameworks zoals PyTorch worden gebruikt, zijn ontworpen voor modeltraining en -debugging. Maar voor serverloze inferentie zijn checkpoints alleen-lezen en herhaaldelijk toegankelijk.
Om te optimaliseren voor dergelijk leesintensief gebruik, converteert ServerlessLLM checkpoints naar een formaat met twee belangrijke eigenschappen:
- Sequentiële chunk-gebaseerde lezing: Tensors worden gegroepeerd in per-GPU-binaire bestanden, waardoor grote sequentiële lezingen mogelijk worden.
- Efficiënte tensor-adressering: Een index kaart tensor-namen naar geheugenoffsets, waardoor directe in-geheugen-herstel mogelijk wordt zonder deserialisatie.
- Multi-tier checkpoint-ladingspijplijn
ServerlessLLM benut de gestratificeerde architectuur van GPU-servers, met opslagmedia zoals SSD’s en netwerken die verbonden zijn met GPU’s via PCIe, NVMe, enz.
Het systeem omvat een multi-stages pijplijn om de bandbreedtegebruik over alle tiers te maximaliseren:
- In-geheugen gegevenschunks worden toegewezen met behulp van vastgezette geheugen voor snelle GPU-overdracht.
- Directe I/O wordt gebruikt voor efficiënte SSD-lezingen zonder caching-overhead.
- Meerdere threads lezen verschillende opslagchunks in parallel.
- Inter-stage-coördinatie vindt plaats via asynchrone taakwachtrijen.
Samen maakt dit het mogelijk om de bandbreedtecapaciteit van zelfs de snelste tiers zoals NVMe RAID te benutten. Experimenten laten zien dat ServerlessLLM 6-8X sneller laadt dan PyTorch/TensorFlow, waardoor de starttijden voor grote LLM’s van meer dan een minuut tot onder de 10 seconden worden teruggebracht.
Localiteit-gedreven LLM-inferentie via Live-migratie
Met versneld laden, staat ServerlessLLM voor een nieuwe uitdaging – hoe te benutten van vooraf geladen checkpoints voor localiteit zonder de lopende inferenties op drukke servers te onderbreken?
ServerlessLLM introduceert een novatieve techniek – live-migratie van LLM-inferentie over GPU-servers. Dit maakt het mogelijk om de uitvoering naadloos over te dragen naar servers met lokale checkpoints beschikbaar.
Sleutelonderdelen van live LLM-migratie:
- Token-gebaseerde migratie
In plaats van het snapshoten van de volledige modeltoestand, migreert ServerlessLLM alleen de minimale prompt-tokens over het netwerk. Dit verzendt ordes van grootte minder gegevens dan snapshots.
- Tweefasen-migratie
De bestemmingsserver berekent asynchroon de cache-toestanden vanuit prompt-tokens. Zodra klaar, verzendt de bronserver de laatste tokens voordat resources worden vrijgegeven. Dit voorkomt inferentie-stops.
Experimenten laten zien dat token-gebaseerde migratie de migratietijden van tientallen seconden tot minder dan een seconde terugbrengt, zelfs voor lange sequenties. Live-migratie is cruciaal om wachtrijvertragingen te voorkomen bij het bereiken van localiteit-gedreven toewijzing.
Latentie-geoptimaliseerde Model-scheduling
Om de eind-tot-eind-latentie te minimaliseren, verbetert ServerlessLLM de planner om serverselectie te optimaliseren met localiteit in overweging. Dit omvat:
- Fijne laadtijd-schatting
Modellen voorspellen laadtijden van netwerk, SSD-caches en geheugen voor elke server met behulp van metrics zoals wachtrijvertragingen, modelgroottes en gemeten bandbreedte.
- Nauwkeurige migratietijd-voorspeller
De planner schat de migratietijden voor servers met behulp van het aantal prompt- en output-tokens. Het volgt de inferentievoortgang asynchroon om overhead te voorkomen.
- Localiteit-bewuste toewijzing
Voor elke inferentie-aanvraag, evalueert de planner de geschatte laad- en migratietijden over servers. Het selecteert de server die de verwachte startlatentie minimaliseert.
De planner onderhoudt ook server-taakwachtrijen en benut een sterk consistente winkel voor fouttolerantie. Samen reduceren deze innovaties de plannings-overhead terwijl de localiteit-voordelen maximaliseren.
Evaluatie van ServerlessLLM-prestaties
Uitgebreide experimenten benchmarken de eind-tot-eind-effectiviteit van ServerlessLLM tegen bestaande systemen met behulp van echte modellen zoals OPT-175B en workloads gemodelleerd naar Azure-traces.
Belangrijke resultaten:
- Microbenchmarks: ServerlessLLM versnelt checkpoint-laden met 3,6-8,2X ten opzichte van PyTorch/TensorFlow. Het verzadigt de opslagbandbreedte, zelfs voor cutting-edge NVMe RAID.
- Plannen: ServerlessLLM vermindert de toewijzingslatentie met 4-12X ten opzichte van willekeurige planning, waardoor de voordelen van localiteit-bewustzijn worden benadrukt. Live-migratie voorkomt wachtrijvertragingen.
- Eind-tot-eind-serveren: Voor grote modellen zoals OPT-30B, verbetert ServerlessLLM de 99e percentiel-latentie met 28-200X ten opzichte van systemen zoals KServe en Ray Serve. Het verbetert ook de bronnen-efficiëntie.
Deze aanzienlijke verbeteringen demonstreren de mogelijkheid van ServerlessLLM om de bottlenecks in bestaande serverloze implementaties te overwinnen en de kracht van LLM’s voor interactieve diensten te ontgrendelen.
De optimalisaties die in ServerlessLLM zijn geïntroduceerd, zoals multi-tier-laden, live-migratie en latentie-gedreven planning, kunnen helpen bij het ontwerp van toekomstige serverloze architecturen. Het systeem kan de laad- en starttijden van LLM’s terugbrengen, waardoor de schaalbare implementatie van grote taalmodellen voor praktische toepassingen mogelijk wordt.
Blik in de Toekomst: Lopende Uitdagingen
Terwijl een significante stap voorwaarts, vertegenwoordigt ServerlessLLM slechts de eerste stap in het optimaliseren van serverloze inferentie voor massive LLM’s. Verschillende open problemen blijven bestaan, waaronder:
- Voorspellen van real-time modelvraag om provisioning en vooraf laden te leiden
- Intelligent plaatsen van checkpoints over servers om cache-hits te maximaliseren
- Efficiënt schalen van planningsalgoritmen om grotere clusters aan te kunnen
- Garanderen van eerlijkheid in bronnen-toewijzing over modellen en ontwikkelaars
- Generaliseren van innovaties zoals live-migratie naar andere serverloze workloads
Het aanpakken van deze gebieden kan helpen om de belofte van serverloze LLM’s te bouwen en hun mogelijkheden nog toegankelijker te maken. Naast systeem-niveau-optimalisaties, blijft het terugbrengen van de enorme koolstofvoetafdruk en potentieel schadelijke effecten van grote modellen een dringende prioriteit.
ServerlessLLM demonstreert dat er een enorme ruimte is voor innovatie in de volgende generatie serverloze architecturen voor AI-workloads. Naarmate LLM’s blijven groeien in omvang en populariteit, zullen oplossingen zoals ServerlessLLM die hun schaalbaarheid ontgrendelen, nog impactvoller worden. De convergentie van systeem- en machine learning-onderzoek kan nieuwe paradigma’s introduceren in het serveren, delen en schalen van AI-modellen op een veilige en duurzame manier.











