Az NVIDIA több GPU-val gyorsítja az óriási modellek megoldását

· Tech, Gazdaság

Nagyobb modelleket is kezelhet az új megoldó

Az NVIDIA továbbfejlesztette cuOpt nevű döntésoptimalizálási platformját, amely most több GPU között képes szétosztani az óriási lineáris programozási feladatokat. A vállalat állítása szerint az új mPDLP megoldó olyan modellek feldolgozását is lehetővé teszi, amelyek több mint 100 millió változót tartalmaznak. A fejlesztés nemcsak a teljesítményt növelheti, hanem a GPU-k memóriaterhelését is mérsékelheti: egyetlen grafikus processzorra vetítve akár hatszor kevesebb csúcsmemóriára lehet szükség, mint az egy GPU-n futó PDLP esetében.

Az NVIDIA Developer október 7-én ismertette a Multi GPU Primal Dual hybrid gradient for Linear Programming, vagyis mPDLP megoldót. A rendszer NVLink kapcsolattal összekötött GPU-k között osztja fel a számításokat. Így a túl nagy vagy egyetlen eszközön csak hosszú idő alatt feldolgozható modellek is vizsgálhatók. A vállalat szerint az összehasonlítás olyan lineáris programozási feladatokra vonatkozik, amelyek legfeljebb 2,1 milliárd nem nulla mátrixelemet tartalmaznak.

A kevesebb adatcsere gyorsabb feldolgozást hozhat

A PDLP egy elsőrendű módszer, amelynek számítási ciklusában fontos szerepet kap a ritka mátrixvektor szorzás. Ez a művelet jól párhuzamosítható több GPU-n, a megosztott futtatás azonban új nehézségeket is felvet. A grafikus processzorok közötti kommunikáció, valamint az egyenetlen munkamegosztás könnyen visszafoghatja a sebességet.

Az mPDLP ezen a ponton tér el a korábbi D PDLP megközelítéstől. A megoldó a két egymást követő mátrixvektor szorzást együtt veszi figyelembe, amikor felosztja a számítási feladatot. A mátrix darabolásához min cut particionálást használ, amely lehetőség szerint ugyanazon a GPU-n tartja a szorosan összekapcsolódó bemeneti és kimeneti vektorokat. Ezzel mérsékelhető a grafikus processzorok közötti adatforgalom.

Az NVIDIA szerint az NVLink és az NVSwitch teremti meg a hardveres kapcsolatot, míg az NCCL könyvtár a GPU-k közötti közvetlen és kollektív kommunikációt támogatja. A vállalat ezt a rendszert úgy írja le, mint több különálló GPU-ból kialakított, gyorsan együttműködő megosztott gépet. Az óriási lineáris optimalizálás fejlesztése elsősorban azoknak lehet érdekes, akik nagyméretű tervezési modellekkel dolgoznak.

A legnagyobb feladatoknál jelent meg igazán az előny

Az NVIDIA több mint 100 lineáris programozási feladaton végzett teszteket DGX B200 rendszereken. A mérések alapján a teljesítményelőny szorosan összefüggött a modellek méretével. A gyorsulás akkor vált érzékelhetővé, amikor a nem nulla mátrixelemek száma átlépte a 10 milliót. A legnagyobb feladatoknál maguk az mPDLP lépései akár 11,4-szer is gyorsabbak voltak.

A 10 milliónál több nem nulla elemet tartalmazó nagy modellek többségénél az új megoldó 1,2 és 2,5 közötti gyorsulást ért el a D PDLP rendszeréhez képest. Az eredményeket ugyanakkor befolyásolta a mátrix ritkasági szerkezete és az úgynevezett élvágási arány is. Ez azt jelenti, hogy nem minden modellnél várható azonos mértékű javulás.

A vállalat egy korábbi, több mint 104 millió nem nulla mátrixelemet tartalmazó zib03 benchmarkot is kiemelt. Beszámolójuk szerint ezt a feladatot több GPU-n, mPDLP használatával csaknem tízszer gyorsabban oldották meg, mint egy évvel korábban.

Ellátási láncok és energiatervezés is profitálhat

A technológiát két partneralkalmazással is bemutatták. A Kinaxis globálisan korlátozott ellátási és termelési tervezési modellje több mint 135 millió változót tartalmazott. A vállalat nyolc, NVLink kapcsolattal rendelkező H100 GPU használatával 3,3-szeres gyorsulásról számolt be. Ez olyan tervezési feladatoknál lehet fontos, ahol egyszerre kell sok terméket, kapacitást és szállítási lehetőséget figyelembe venni.

A PSR egy sztochasztikus energiabővítési modellen mért ötszörösnél nagyobb gyorsulást. A tesztben 185 millió változó szerepelt, a számításokat pedig nyolc B200 GPU-n futtatták. Az ilyen modellek az energiaipari kapacitásbővítés, a hálózati fejlesztések és a bizonytalan piaci helyzetek vizsgálatában kaphatnak szerepet.

Az mPDLP forráskódja elérhető a GitHubon. Az NVIDIA külön oktatóanyagot is kínál a cuOpt telepítéséhez, a megoldó beállításához, valamint a különböző GPU számok mellett mérhető megoldási idők összehasonlításához. A fejlesztés főként ott lehet hasznos, ahol egy modell mérete már meghaladja egyetlen GPU memóriáját, vagy a hagyományos futtatás nem fér bele a rendelkezésre álló tervezési időbe.