Az NVIDIA új módszerrel tartaná egyenletesen az LLM-ek tanítási teljesítményét

Az NVIDIA olyan kísérleti módszert mutatott be, amely átmeneti GPU-kiesések esetén dinamikusan módosítja a tenzorpárhuzamosítás mértékét. A Nonuniform Tensor Parallelism célja, hogy a nagy léptékű nyelvimodell-tanítás kevesebb teljesítményveszteséggel folytatódjon.
- Az NTP kieső GPU esetén dinamikusan csökkenti a tenzorpárhuzamosítási fokozatot.
- Egy nyolc GPU-s csoport egy kiesés után hét GPU-val folytathatja a számítást.
- A dinamikus teljesítménynövelés magasabb órajelekkel kompenzálhatja a csökkentett GPU-számot.
- Az újraparcellázás egészséges példányokra jutó többletköltsége gyakran 1 százalék alatt marad.
- Az NVIDIA az NTP-t kísérleti funkcióként mutatta be, és a NEP irányába is folytatja a kutatást.
A több ezer GPU-t használó tanítás sérülékeny lehet
Az NVIDIA Developer július 6-i bejegyzése szerint a nagy léptékű nyelvimodell-tanítás során a feladatok akár több ezer GPU között oszlanak meg, és hosszú ideig futnak. Emiatt idővel megnő annak az esélye, hogy egy eszköz átmenetileg elérhetetlenné válik, vagy más erőforrás-ingadozás jelentkezik.
A vállalat a Goodputot emeli ki a teljesítmény egyik fontos mércéjeként. Ez azt mutatja meg, mennyi, a modell konvergenciájához ténylegesen hozzájáruló hasznos munkát végez a rendszer, nem pusztán azt, hogy mekkora a nyers hardveres áteresztőképesség.
A tanításban gyakran használt tenzorpárhuzamosítás során egy neurális hálózat rétegeit szorosan együttműködő GPU-k között osztják fel. Az így létrejövő csoportot a cikk tenzorpárhuzamosítási csoportnak nevezi. Az adatpárhuzamosítás több, egymással párhuzamos példányban futtatja a modellt, amelyek különböző adathalmaz-részleteket dolgoznak fel.
Ha egy GPU késik vagy kiesik egy ilyen csoportból, az lassíthatja a szinkronizációt és az egész tanítási folyamatot. A probléma különösen fontos az NVIDIA Blackwell és Blackwell Ultra rendszereinél, ahol az NVLink egyetlen ugrással akár 72 GPU-t kapcsolhat össze, 1800 GB/s sebességű kommunikáció mellett.
A kieső GPU-khoz igazítja a párhuzamosítást
Az NVIDIA által ismertetett Nonuniform Tensor Parallelism, röviden NTP, a legutóbbi ellenőrzőpontról történő folytatáskor a rendelkezésre álló hardverhez igazítja a modell konfigurációját. A cél az, hogy az érintett adatpárhuzamos példány a kiesés ellenére is hasznos munkát végezzen.
Ha például egy nyolc GPU-ból álló tenzorpárhuzamosítási csoportban egy eszköz átmenetileg kiesik, a rendszer hét GPU-ra állíthatja át a csoportot. A modell megmaradó része így tovább számol, miközben a működő GPU-k egyenként nagyobb terhelést kapnak.
A kisebb tenzorpárhuzamosítási fokozat önmagában lassabb adatpárhuzamos példányt eredményezne. Mivel a teljes rendszernek a lassabb példányra kellene várnia, az NVIDIA egy kiegészítő megoldást is ismertet: dinamikus teljesítménynövelést.
Ehhez olyan állványtervezést javasolnak, amely nagyobb elektromos és hőkezelési tartalékot biztosít. Az érintett tartományban ideiglenesen több energiát lehet juttatni az aktív GPU-knak, ezáltal növelhetők az órajelek és a számítási teljesítmény. A cikk szerint így a csökkentett GPU-számú példány felzárkózhat a teljesen működő példányokhoz, és mérsékelhető a globális szinkronizáció okozta várakozás.
A kommunikáció költségét is elrejtenék
A tenzorpárhuzamosítás fokozatának módosítása miatt a modell tenzorszilánkjait újra kell osztani a megmaradó GPU-k között. Az NTP ezt az úgynevezett újraparcellázást, vagyis reshardingot, más számítási szakaszokkal párhuzamosan végzi.
A módszer az újraelosztást a visszafelé irányuló számítás és a paraméterszinkronizáció közben hajtja végre. Az NVIDIA szerint ezzel az egészséges példányokra jutó többletterhelés gyakran 1 százalék alatt tartható. A cél, hogy maga az alkalmazkodási mechanizmus se váljon teljesítmény-szűk keresztmetszetté.
Az NVIDIA szerint az NTP a hardver és a szoftver közös tervezésének példája. A dinamikus teljesítménynöveléshez olyan rackekre van szükség, amelyek elektromos és hőkezelési szempontból elegendő tartalékot kínálnak, miközben a szoftver a változó GPU-állapothoz igazítja a tanítás konfigurációját.
Kísérleti megoldás nagy léptékű AI-rendszerekhez
A bemutatott NTP előremutató, kísérleti keretrendszerként épít a kieső adatpéldányok, a gyors ellenőrzőpontból történő újraindítás és a tartalék erőforrások használatának ötletére. Az NVIDIA szerint a módszer ezekhez képest úgy igyekszik csökkenteni a teljesítményveszteséget, hogy közben az érintett példány továbbra is hozzájárul a tanításhoz.
A vállalat fejlesztői bejegyzése szerint az NTP a Megatron Core fejlesztői ágába is bekerült. A cikk ugyanakkor kísérleti funkcióként írja le a megoldást, és a gyártásban használható hibatűrési képességek iránt érdeklődőknek az NVIDIA Resiliency Extensiont, vagyis az NVRx-et ajánlja.
Az NVIDIA a megközelítés kiterjesztésén is dolgozik Mixture-of-Experts modellekhez. Ezeknél a hagyományos tenzorpárhuzamosítás kevésbé lehet megfelelő, ezért a kutatás a Nonuniform Expert Parallelism, röviden NEP, irányába is folytatódik. A felhasználók számára az NTP legfontosabb ígérete az, hogy egy-egy átmeneti hardverhiba kisebb eséllyel állítja meg vagy lassítja le jelentősen a nagy nyelvi modellek hosszú ideig futó tanítását.
NVIDIA Developer: Enhancing Goodput in Large-Scale LLM Training with Nonuniform Tensor Parallelism


