Műszaki ÚTMUTATÓ

Kollektív kommunikáció és NCCL

A kollektív kommunikáció az, ahogyan a GPU-k egy csoportja cseréli és egyesíti az adatokat, az NCCL pedig az NVIDIA könyvtára, amely az adatcseréket rendkívül gyorssá teszi.

Áttekintés

A kollektív kommunikáció az, ahogyan a GPU-k egy csoportja cseréli és egyesíti az adatokat, az NCCL pedig az NVIDIA könyvtára, amely az adatcseréket rendkívül gyorssá teszi. Az olyan műveletek, mint az all-reduce, az elosztott edzés szívverését jelentik, minden GPU-n lépésenként szinkronizálva a gradienseket.

A kollektív kommunikáció és az NCCL egy olyan műszaki építőelem, amely befolyásolja a modell minőségét, az infrastruktúra költségeit, a késleltetést és a megbízhatóságot.

Mély merülés

Egy nagy modell betanítása azt jelenti, hogy minden GPU a saját adatszeletén számítja ki a gradienseket, majd minden GPU-nak meg kell állapodnia a kombinált eredményben a következő lépés előtt. Ez a koordináció kollektív műveletekkel történik: minden GPU-n keresztül összegzi az értékeket, és mindenkinek megadja az eredményt; az all-gather minden GPU-darabot egy teljes másolatba gyűjti mindegyiken; a broadcast egy GPU adatait küldi a többinek; redukáló-szórású kombájnokat, majd szétválik. Az NCCL (NVIDIA Collective Communications Library) hatékonyan valósítja meg ezeket a szervereken lévő GPU-k és szerverek között, topológiatudatos algoritmusok, például a gyűrű és a fa teljes redukciója segítségével. Kihasználja az NVLink-et egy csomóponton belül, az InfiniBandot vagy a RoCE-t a csomópontok között, és a PyTorch DDP, FSDP, DeepSpeed ​​és Megatron kommunikációs gerince.

Technikai betekintés

A csengetés teljes csökkentése a klasszikus algoritmus: a GPU-k egy logikai gyűrűt alkotnak, és az adatok olyan darabokra oszlanak, amelyek keringenek, így minden lépés átfedi a kommunikációt, így a teljes átviteli sávszélesség optimális és nagyjából független a GPU-számtól. Számos csomópont esetében a fa alapú algoritmusok az eredmények hierarchikus kombinálásával csökkentik a várakozási időt. Az NCCL automatikusan felismeri a topológiát, kiválasztja a legjobb algoritmust, és az NVIDIA SHARP segítségével a hálózatba töltheti a redukciós számításokat, felére csökkentve a linkeken áthaladó adatokat.

A kollektív kommunikáció és az NCCL elsajátítása

A kollektív kommunikáció az, ahogyan a GPU-k egy csoportja cseréli és egyesíti az adatokat, az NCCL pedig az NVIDIA könyvtára, amely az adatcseréket rendkívül gyorssá teszi. Az olyan műveletek, mint az all-reduce, az elosztott edzés szívverését jelentik, minden GPU-n lépésenként szinkronizálva a gradienseket. A kollektív kommunikáció és az NCCL egy olyan műszaki építőelem, amely befolyásolja a modell minőségét, az infrastruktúra költségeit, a késleltetést és a megbízhatóságot. A mély megértés kialakítása érdekében a kollektív kommunikációt és az NCCL-t működési modellként kell kezelni, nem egyetlen jellemzőként: határozza meg a kívánt eredményeket, tisztázza a feltételezéseket, és válassza szét azt, amit a rendszer megbízhatóan képes elvégezni, attól, ami még szakértői megítélést igényel.

A gyakorlatban a kollektív kommunikációt és az NCCL-t használó erős csapatok optimalizálják az architektúrát, az adatokat és az infrastruktúrát a megbízhatóság és a költségek szempontjából. Dokumentálják az explicit sikerkritériumokat, tesztelik a valósághű adatokat és munkafolyamatokat, és a megfigyelt hibaminták alapján iterálnak, nem pedig egyszeri benchmark győzelmek alapján. Ez az a hely, ahol az elméleti megértés tartós képességgé válik a termék, a politika és a műveletek között.

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket. Ugyanakkor az egyik benchmark optimalizálása elrejtheti a rendszer általános gyengeségeit. A legrugalmasabb megközelítés a kísérleti sebesség és az irányítási fegyelem kombinálása: kísérleti kísérletek futtatása, bizonyítékok rögzítése, döntési naplók közzététele és a biztosítékok folyamatos frissítése a modell viselkedésének, a felhasználói elvárásoknak és a szabályozási követelményeknek megfelelően.

Stratégiai hatás

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket.

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket. A kiváló minőségű telepítéseknél ez mérhető működési szabályokká, tulajdonosi határokká és ismétlődő felülvizsgálati rituálékká alakul át, így a csapatok növelhetik a bizalmat a kétértelműség skálázása helyett.

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben.

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben. A kiváló minőségű telepítéseknél ez mérhető működési szabályokká, tulajdonosi határokká és ismétlődő felülvizsgálati rituálékká alakul át, így a csapatok növelhetik a bizalmat a kétértelműség skálázása helyett.

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit.

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit. A kiváló minőségű telepítéseknél ez mérhető működési szabályokká, tulajdonosi határokká és ismétlődő felülvizsgálati rituálékká alakul át, így a csapatok növelhetik a bizalmat a kétértelműség skálázása helyett.

A kollektív kommunikáció és az NCCL jövője

Ahogy a klaszterek több százezer GPU-ra méreteződnek, a kommunikáció egyre inkább uralja a képzési időt, így a kollektív könyvtárak forró határt jelentenek. Várható mélyebb hálózaton belüli számítástechnika (a redukciót végző kapcsolók), a számítás és a kommunikáció jobb átfedése a késleltetés elrejtése érdekében, valamint alacsonyabb pontosságú csoportok, amelyek csökkentik az áthelyezett bájtokat. A verseny is erősödik a gyártók közötti erőfeszítésekkel és az Ethernet-alapú RDMA-alternatívákkal, miközben az NCCL folyamatosan erősíti az integrációt az NVLink-kel, az NVSwitch-el és a feltörekvő optikai szövetekkel.

Valós megvalósítás

Gradiensek szinkronizálása minden edzési lépésben az összes GPU-n a PyTorch DistributedDataParallel all-reduce használatával

Az optimalizáló állapotok felosztása és a paraméterek igény szerinti összegyűjtése az összes összegyűjtéssel és a szórás csökkentésével az FSDP vagy a DeepSpeed ZeRO segítségével

A kezdeti modellsúlyok közvetítése egyik GPU-ról az összes többire az edzés kezdetén

Csengetés teljes csökkentése az NVLink és az InfiniBand felett a sávszélesség magas tartása érdekében a több csomópontos GPU-fürtökben

Megvalósítási minták

Kollektív kommunikáció és NCCL a gyakorlatban

A színátmenetek szinkronizálása minden edzési lépésben az összes GPU-n a PyTorch DistributedDataParallel all-reduce használatával.

A színátmenetek szinkronizálása minden GPU-n az all-reduce segítségével a PyTorch DistributedDataParallel Teams rendszerben általában jobb eredményeket ér el, ha előre meghatározzák a minőségi küszöböket, megtartják az emberi eszkalációs útvonalat az éles esetekben, és nyomon követik a termelékenység növekedését és a hibaköltségeket az idő múlásával.

Kollektív kommunikáció és NCCL a gyakorlatban

Felosztás-optimalizáló állapotok és igény szerinti paraméterek összegyűjtése az FSDP vagy a DeepSpeed ZeRO összes összegyűjtésével és a szórás csökkentésével.

Az optimalizáló állapotok felosztása és a paraméterek igény szerinti összegyűjtése az összes összegyűjtéssel és a szórás csökkentésével az FSDP vagy a DeepSpeed ​​ZeRO Teams rendszerben általában jobb eredményeket ér el, ha előre meghatározzák a minőségi küszöböket, megtartják az emberi eszkalációs útvonalat az éles esetekhez, és nyomon követik a termelékenység növekedését és a hibaköltségeket az idő múlásával.

Kollektív kommunikáció és NCCL a gyakorlatban

A kezdeti modellsúlyok közvetítése egyik GPU-ról az összes többire az edzés kezdetén.

A kezdeti modellsúlyok közvetítése egyik GPU-ról az összes többire az edzés kezdetén A csapatok általában jobb eredményeket érnek el, ha előre meghatározzák a minőségi küszöbértékeket, megtartják az emberi eszkalációs útvonalat a szélsőséges eseteknél, és nyomon követik mind a termelékenységnövekedést, mind a hibaköltségeket az idő múlásával.

Kollektív kommunikáció és NCCL a gyakorlatban

A csengetés teljes csökkentése az NVLink és az InfiniBand segítségével a sávszélesség magas tartása érdekében a több csomópontos GPU-fürtökben.

Csengetés teljes csökkentése az NVLink és InfiniBand felett a sávszélesség magas tartása érdekében a többcsomópontos GPU-fürtökben A csapatok általában jobb eredményeket érnek el, ha előre meghatározzák a minőségi küszöböket, megtartják az emberi eszkalációs útvonalat a szélsőséges eseteknél, és nyomon követik a termelékenység növekedését és a hibaköltségeket az idő múlásával.

Kockázatok és védőkorlátok

!

Egy benchmark optimalizálása elrejtheti a rendszer általános hiányosságait.

!

Az infrastrukturális és karbantartási költségeket gyakran alábecsülik.

!

A biztonsági és megfigyelhetőségi hiányosságok a rendszerek bonyolultabbá válásával nőhetnek.

Végrehajtási ütemterv

1

A megvalósítás előtt határozza meg a késleltetési, minőségi és költségcélokat.

A megvalósítás előtt határozza meg a késleltetési, minőségi és költségcélokat. Minden lépést bizonyítékkapuként kell kezelni: ha a feltételek nem teljesülnek, szüneteltesse a közzétételt, zárja be a rést, és csak ezután bővítse a felhasználást.

2

Benchmark reális terhelési és adatviszonyok mellett.

Benchmark reális terhelési és adatviszonyok mellett. Minden lépést bizonyítékkapuként kell kezelni: ha a feltételek nem teljesülnek, szüneteltesse a közzétételt, zárja be a rést, és csak ezután bővítse a felhasználást.

3

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából. Minden lépést bizonyítékkapuként kell kezelni: ha a feltételek nem teljesülnek, szüneteltesse a közzétételt, zárja be a rést, és csak ezután bővítse a felhasználást.

4

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat.

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat. Minden lépést bizonyítékkapuként kell kezelni: ha a feltételek nem teljesülnek, szüneteltesse a közzétételt, zárja be a rést, és csak ezután bővítse a felhasználást.

Folytassa a felfedezést