AI-modellen en platforms
De toekomst van serverless inferentie voor grote taalmodellen
Recente vooruitgang in grote taalmodellen (LLM’s) zoals GPT-4 en PaLM heeft leidt 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 uitdagend vanwege hun aanzienlijke GPU- en geheugeneisen.
Benaderingen om dit 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. Veelvoorkomende benaderingen zijn:
- Pruning – Verwijderen van overbodige 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 het geheugenverbruik.
- 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 slechts delen van het model uit per inferentie:
- Sparse activaties – Overslaan van berekeningen voor nul-activaties.
- Conditionele berekening – Uitvoeren van slechts 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 serverless inferentiesystemen voorgesteld. In serverless 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 (AMZN ) SageMaker, Microsoft Azure ML en open-source-opties zoals KServe.
Ondanks de belofte van serverless LLM’s, vertonen bestaande systemen hoge latentie-overhead die de gebruikerservaring in interactieve toepassingen vermindert:
- Dure checkpoint-downloads: LLM’s hebben grote geheugenvoetafdrukken, vaak gigabytes tot terabytes in grootte. Downloaden van checkpoints van remote-opslag is tijdrovend, zelfs met geoptimaliseerde netwerken.
- Inefficiënte checkpoint-laden: Zelfs met lokale SSD-opslag, laden van checkpoints in GPU-geheugen neemt tientallen seconden in beslag vanwege factoren zoals tensor-deserialisatie en -allocatie. Dit voegt significante vertragingen toe buiten container-starttijd.
Om deze problemen aan te pakken, hebben onderzoekers van MIT CSAIL ServerlessLLM voorgesteld, een innovatief systeem dat lage-latentie-serverless-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 noviteiten om LLM-ladenstijden in serverless-omgevingen te verkleinen:
- Snel checkpoint-laden
- Laden-geoptimaliseerd checkpointformaat dat snelle sequentiële lezing en efficiënte in-geheugen-tensoradressering mogelijk maakt.
- Multi-tier-checkpoint-ladenpijplijn 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 asynchrone herberekening van cache-toestanden op de bestemmingsserver voordat de finale tokens worden overgedragen.
- Latentie-geoptimaliseerde servertoewijzing
- Accurate modellen om checkpoint-ladenstijden 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 bovengenoemde modellen.
Deze optimalisaties stellen ServerlessLLM in staat om LLM-ladenstijden met 4-8X en eind-tot-eind-starttijden met meer dan 25X te verminderen 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 snelle checkpoint-laden mogelijk te maken, introduceert ServerlessLLM:
- Laden-geoptimaliseerd checkpointformaat
Standaardcheckpoints die door frameworks zoals PyTorch worden gebruikt, zijn ontworpen voor modeltraining en -debugging. Maar voor serverless-inferentie zijn checkpoints alleen-lezen en worden ze herhaaldelijk toegediend.
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 zijn.
- Efficiënte tensor-adressering: een index kaart tensor-namen naar geheugenoffsets, waardoor directe in-geheugen-herstel zonder deserialisatie mogelijk is.
- Multi-tier-checkpoint-ladenpijplijn
ServerlessLLM benut de gestapelde 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-stadium-pijplijn om de bandbreedtegebruik te maximaliseren over alle tiers:
- 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-stadium-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 onthullen dat ServerlessLLM 6-8X sneller laadt dan PyTorch/TensorFlow, waardoor de starttijd voor grote LLM’s van meer dan een minuut tot minder dan 10 seconden wordt teruggebracht.
Localiteit-gedreven LLM-inferentie via live-migratie
Met versnelde laden, staat ServerlessLLM voor een nieuwe uitdaging – hoe pre-gelede checkpoints voor localiteit te benutten zonder lopende inferenties op drukke servers te onderbreken?
ServerlessLLM introduceert een noviteitstechniek – 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.
Sleutel-activiteiten voor live LLM-migratie:
- Token-gebaseerde migratie
In plaats van het volledige modelstaat te snapshoten, migreert ServerlessLLM alleen de minimale prompt-tokens over het netwerk. Dit verplaatst orders van magnitude minder gegevens dan snapshots.
- Twee-fasen-migratie
De bestemmingsserver berekent asynchrone cache-toestanden van prompt-tokens. Zodra klaar, verzendt de bronserver de finale tokens voordat resources vrijgegeven worden. Dit voorkomt inferentie-stops.
Experimenten onthullen dat token-gebaseerde migratie de migratietijd van tientallen seconden tot minder dan een seconde vermindert, zelfs voor lange sequenties. Live-migratie is cruciaal om wachtrij-vertragingen 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:
- Fijne ladenstijden-schatting
Modellen voorspellen ladenstijden van netwerk, SSD-caches en geheugen voor elke server met behulp van metrics zoals wachtrij-vertragingen, modelgroottes en gemeten bandbreedte.
- Accurate migratie-tijd-voorspeller
De planner schat migratietijden voor servers met behulp van het aantal prompt- en output-tokens. Het volgt inferentie-voortgang asynchroon om overhead te vermijden.
- Localiteit-bewuste toewijzing
Voor elke inferentie-aanvraag, evalueert de planner geschatte laden- en migratietijden over servers. Het selecteert de server die de verwachte startlatentie minimaliseert.
De planner onderhoudt ook server-taakwachtrijen en benut een sterk consistente opslag voor fouttolerantie. Samen verminderen 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 real-world-modellen zoals OPT-175B en workloads gemodelleerd naar Azure-traces.
Sleutelresultaten:
- Microbenchmarks: ServerlessLLM versnelt checkpoint-laden met 3,6-8,2X ten opzichte van PyTorch/TensorFlow. Het volledig benut de opslagbandbreedte, zelfs voor cutting-edge NVMe RAID.
- Planning: ServerlessLLM vermindert toewijzingslatentie met 4-12X in vergelijking met willekeurige planning, waardoor de voordelen van localiteit-bewustzijn worden benadrukt. Live-migratie voorkomt wachtrij-vertragingen.
- 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 resource-efficiëntie.
Deze aanzienlijke verbeteringen demonstreren de mogelijkheid van ServerlessLLM om knelpunten in bestaande serverless-implementaties te overwinnen en de kracht van LLM’s voor interactieve diensten te ontgrendelen.
De optimalisaties geïntroduceerd in ServerlessLLM, zoals multi-tier-laden, live-migratie en latentie-gedreven planning, kunnen helpen bij het ontwerp van toekomstige serverless-architecturen. Het systeem vermogen om laden- en starttijden te verkleinen, ontgrendelt de schaalbare implementatie van grote taalmodellen voor praktische toepassingen.
Kijkend naar de toekomst: lopende uitdagingen
Terwijl een significante stap vooruit, vertegenwoordigt ServerlessLLM slechts de eerste stap in het optimaliseren van serverless-inferentie voor massive LLM’s. Verschillende open problemen blijven, waaronder:
- Voorspellen van real-time modelvraag om provisioning en pre-laden te leiden
- Slim plaatsen van checkpoints over servers om cache-hits te maximaliseren
- Efficiënt schalen van planningsalgoritmen om grotere clusters te behandelen
- Garanderen van eerlijkheid in resource-toewijzing over modellen en ontwikkelaars
- Generaliseren van innovaties zoals live-migratie naar andere serverless-workloads
Het aanpakken van deze gebieden kan helpen om de belofte van serverless LLM’s te bouwen en hun mogelijkheden nog meer toegankelijk te maken. Buiten systeemoptimalisaties, blijft het reduceren van de flagrante koolstofvoetafdruk en potentieel schadelijke effecten van grote modellen een dringende prioriteit.
ServerlessLLM demonstreert dat er een enorme ruimte is voor innovatie in volgende generatie serverless-architecturen voor AI-workloads. Naarmate LLM’s blijven groeien in grootte en populariteit, zullen oplossingen zoals ServerlessLLM die hun schaalbaarheid ontgrendelen, nog meer impact hebben. 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.













