A vLLM közel nulla leállással méretezi az Expert Parallelism rendszereket

A vLLM fejlesztői olyan Elastic Expert Parallelism megoldást mutattak be, amely a DeepSeek V4 Pro esetében 100 másodpercről 0,82 másodpercre csökkentette a leállást 16-ról 20 GPU-ra történő skálázáskor. A visszaskálázás kiesése 56 másodpercről 1,96 másodpercre mérséklődött.
- A vLLM új Elastic EP módszere háttérben készíti elő a skálázást.
- A DeepSeek V4 Pro esetében a 16-ról 20 GPU-ra váltás kiesése 0,82 másodperc lett.
- A visszaskálázás 1,96 másodperces szünettel járt.
- A NIXL EP a kommunikációs erőforrások és CUDA-grafikonok újrahasznosítását támogatja.
A korábbi skálázás hosszú kieséssel járt
A vLLM szolgáltatásoknál hagyományosan teljes modellreplikák hozzáadásával vagy eltávolításával lehetett módosítani a GPU-k számát. A nagyobb modellekhez egyre több GPU szükséges, ezért a replikák szerinti skálázás egyre nagyobb lépésekben történik.
A vLLM korábbi megoldása már lehetővé tette, hogy a Deep Expert Parallelism, vagyis az adatszinten párhuzamos figyelemre és szakértői párhuzamosságra épülő DEP-rendszer futás közben adjon hozzá vagy távolítson el GPU-kat. A szolgáltatás újraindítása így elkerülhető volt, a kiszolgálás azonban a teljes átkonfigurálás idejére leállt.
A DeepSeek V4 Pro benchmarkjában a 16-ról 20 GB200 GPU-ra történő átállás teljes motor-újraindítással 197 másodpercig állította le a kiszolgálást. A korábbi, újraindítás nélküli módszernél ugyanez a művelet 100 másodperces, a 20-ról 16 GPU-ra történő visszaállás pedig 56 másodperces szünettel járt.
A felkészülés a háttérben történik
Az új megközelítés két szakaszra bontja az átkonfigurálást: háttérben végzett előkészítésre és egy rövid aktiválási szakaszra. A meglévő munkafolyamatok külön háttérszálakon készítik elő és melegítik be a célkommunikációt, továbbítják a modell súlyait, valamint összehangolják a végrehajtáshoz kapcsolódó információkat. Közben a jelenlegi kommunikációs csoportokkal és CUDA-grafikonokkal tovább szolgálják ki a kéréseket.
Az érkező munkafolyamatok ezalatt elindulnak, memóriát foglalnak, fogadják a modell súlyait, és előkészítik a kommunikációt, a fordítást, a kernelmelegítést, a hangolási beállításokat, valamint a CUDA-grafikonokat. A commit szakaszban a vLLM rövid időre felfüggeszti az ütemezőket, aktiválja az előkészített topológiát, majd folytatja a kiszolgálást.
Az aktiválás után az aszinkron Expert Parallel Load Balancing, vagyis EPLB lehetővé teszi, hogy az új munkafolyamatok megkezdjék a figyelem kezelését, miközben a meglévők a szakértői számításokat végzik. Az EPLB ezt követően a háttérben osztja újra a szakértőket a kibővített csoportban.
A NIXL EP megtartja a korábbi CUDA-grafikonokat
A vLLM szerint a korábbi Expert Parallelism kommunikációs háttérrendszerek rögzített tagsággal működtek. GPU-k hozzáadásakor vagy eltávolításakor új kommunikációs példányt kellett létrehozni, ami új puffereket, memóriabejegyzéseket, IPC-kezelőket és RDMA Queue Pair kapcsolatokat igényelt. Az új kommunikátor aktiválása közben a korábban rögzített CUDA-grafikonok érvényüket vesztették.
A fejlesztők ezért megalkották a NIXL EP kommunikációs könyvtárat. Ez a meglévő NIXL-ügynök, pufferek és kapcsolatok újrahasznosításával, helyben képes hozzáadni vagy eltávolítani a rangokat. Az új partnerek már a kiszolgálás közben csatlakozhatnak, majd a commit szakaszban aktiválhatók, a kommunikátor lecserélése nélkül.
A megoldás a kommunikációs kernelhívások grafikonban látható argumentumait, a végrehajtási beállításokat, valamint a bemeneti és kimeneti tenzorcímeket is stabilan tartja. Így a már működő munkafolyamatok újrahasznosíthatják a CUDA-grafikonjaikat skálázáskor és visszaskálázáskor. Az érkező munkafolyamatok külön, ideiglenesen maszkolt távoli partnerekkel készíthetik elő saját grafikonjaikat, ezért ehhez nem kell megzavarniuk a valós kéréseket kiszolgáló munkafolyamatokat.
A benchmarkben másodpercek alá csökkent a kiesés
A vLLM mérései a DeepSeek V4 Pro modellen, GB200 GPU-kkal, TP=1 beállítás mellett készültek, 16-os és 20-as DP/EP mérettel. A modell súlyait előzetesen safetensors formátumban töltötték le megosztott Lustre-tárhelyre.
Az aszinkron előkészítés és a NIXL EP együtt a 16-ról 20 GPU-ra történő skálázás kiesését 0,82 másodpercre csökkentette. A 20-ról 16 GPU-ra való visszaálláskor 1,96 másodperces szünetet mértek. A vLLM szerint ez lehetővé teszi a fel- és visszaskálázást a kiszolgálási teljesítmény csaknem érzékelhetetlen hatása mellett.


