Platón adatintelligencia.
Vertical Search & Ai.

Elosztott képzés és hatékony skálázás az Amazon SageMaker Model Parallel és Data Parallel Libraries segítségével | Amazon webszolgáltatások

Találka:

Óriási előrelépés történt a nagy nyelvi modellek (LLM-ek) elosztott mélytanulása terén, különösen a ChatGPT 2022 decemberi megjelenése után. Az LLM-ek mérete továbbra is milliárd vagy akár billió paraméterrel nő, és gyakran nem is fognak elfér egyetlen gyorsítóeszközben, például GPU-ban, vagy akár egyetlen csomópontban is, például az ml.p5.32xlarge a memóriakorlátok miatt. Az LLM-eket oktató ügyfeleknek gyakran több száz vagy akár több ezer GPU között kell elosztaniuk a terhelést. Az ilyen léptékű képzés lehetővé tétele továbbra is kihívást jelent az elosztott képzésben, és a hatékony képzés egy ilyen nagy rendszerben egy másik ugyanolyan fontos probléma. Az elmúlt években az elosztott képzési közösség bevezette a 3D-s párhuzamosságot (adat-párhuzamot, csővezeték-párhuzamot és tenzor-párhuzamot) és más technikákat (például sorozat-párhuzamot és szakértői párhuzamosságot) az ilyen kihívások kezelésére.

2023 decemberében az Amazon bejelentette a SageMaker modell párhuzamos könyvtár 2.0 (SMP), amely a legkorszerűbb hatékonyságot éri el a nagymodell képzésben, együtt a SageMaker elosztott adatok párhuzamossági könyvtára (SMDDP). Ez a kiadás az 1.x jelentős frissítése: az SMP mostantól integrálva van a nyílt forráskódú PyTorch-szal Teljesen megosztott adatok párhuzamosan (FSDP) API-k, amelyek lehetővé teszik egy ismerős felület használatát a nagy modellek betanításakor, és kompatibilis Transzformátor motor (TE), első alkalommal oldja fel a tenzorpárhuzamossági technikákat az FSDP mellett. Ha többet szeretne megtudni a kiadásról, tekintse meg a Az Amazon SageMaker modell párhuzamos könyvtára akár 20%-kal felgyorsítja a PyTorch FSDP munkaterhelését.

Ebben a bejegyzésben megvizsgáljuk a teljesítmény előnyeit Amazon SageMaker (beleértve az SMP-t és az SMDDP-t), és hogyan használhatja a könyvtárat a nagy modellek hatékony betanításához a SageMakeren. A SageMaker teljesítményét benchmarkokkal mutatjuk be ml.p4d.24xlarge klasztereken, akár 128 példányig, és az FSDP vegyes precizitást a bfloat16-tal a Llama 2 modellhez. Kezdjük a SageMaker közel lineáris skálázási hatékonyságának bemutatásával, majd elemezzük az egyes jellemzők hozzájárulásait az optimális átvitel érdekében, és a hatékony képzéssel zárjuk a különböző sorozathosszúságokat 32,768 XNUMX-ig a tenzor párhuzamosságon keresztül.

Közel lineáris méretezés a SageMakerrel

Az LLM-modellek általános betanítási idejének csökkentése érdekében a nagy átviteli sebesség megőrzése nagy fürtökre (több ezer GPU-ra) történő skálázáskor kulcsfontosságú a csomópontok közötti kommunikációs többlet miatt. Ebben a bejegyzésben bemutatjuk a robusztus és csaknem lineáris skálázás (a GPU-k számának változtatásával egy fix teljes problémamérethez) hatékonyságát az SMP-t és az SMDDP-t is meghívó p4d-példányokon.

Ebben a részben az SMP közel lineáris skálázási teljesítményét mutatjuk be. Itt különböző méretű (2B, 7B és 13B paraméterek) Llama 70 modelleket tanítunk 4,096 fix sorozathosszúsággal, az SMDDP háttérrendszerrel a kollektív kommunikációhoz, TE-kompatibilis, 4 milliós globális kötegmérettel, 16-128 p4d csomóponttal. . Az alábbi táblázat összefoglalja optimális konfigurációnkat és edzési teljesítményünket (modell TFLOPs per másodperc).

Modellméret Csomópontok száma TFLOP-ok* sdp* tp* lerakás* Méretezési hatékonyság
7B 16 136.76 32 1 N 100.0%
32 132.65 64 1 N 97.0%
64 125.31 64 1 N 91.6%
128 115.01 64 1 N 84.1%
13B 16 141.43 32 1 Y 100.0%
32 139.46 256 1 N 98.6%
64 132.17 128 1 N 93.5%
128 120.75 128 1 N 85.4%
70B 32 154.33 256 1 Y 100.0%
64 149.60 256 1 N 96.9%
128 136.52 64 2 N 88.5%

*Az adott modellméretnél, sorozathosszúságnál és a csomópontok számánál a globálisan optimális átviteli sebességet és konfigurációkat mutatjuk meg a különféle sdp, tp és aktiválási tehermentesítési kombinációk feltárása után.

Az előző táblázat összefoglalja az optimális átviteli számokat az adatok párhuzamos (sdp) fokától függően (jellemzően FSDP hibrid felosztást használnak a teljes felosztás helyett, további részleteket a következő részben), tenzor párhuzamos (tp) fokot és aktiválási tehermentesítési érték változásait, közel lineáris skálázást mutat be az SMP-hez az SMDDP-vel együtt. Például a Llama 2 modell mérete 7B és sorozathossza 4,096, összességében 97.0%, 91.6% és 84.1% skálázási hatékonyságot ér el (16 csomóponthoz viszonyítva) 32, 64 és 128 csomóponton. A méretezési hatékonyság stabil a különböző modellméretekben, és enyhén növekszik a modell méretének növekedésével.

Az SMP és az SMDDP hasonló skálázási hatékonyságot mutat más szekvenciahosszúságok esetében is, mint például a 2,048 és a 8,192.

SageMaker modell párhuzamos könyvtár 2.0 teljesítménye: Llama 2 70B

A modellek mérete az elmúlt években tovább nőtt, az LLM közösségben a legkorszerűbb teljesítményfrissítésekkel együtt. Ebben a részben a SageMaker teljesítményét mutatjuk be a Llama 2 modellhez 70B rögzített modellmérettel, 4,096 sorozathosszal és 4 milliós globális kötegmérettel. Az előző táblázat globálisan optimális konfigurációjával és átviteli sebességével (SMDDP-háttérrel, jellemzően FSDP-hibrid felosztással és TE-vel) a következő táblázat kiterjeszti a többi optimális átviteli sebességet (potenciálisan tenzorpárhuzamossággal) az elosztott háttéren (NCCL és SMDDP) további specifikációkkal. , FSDP felosztási stratégiák (teljes felosztás és hibrid felosztás), valamint a TE engedélyezése vagy sem (alapértelmezett).

Modellméret Csomópontok száma TFLOPS TFLOPs #3 konfig A TFLOP-ok javulása az alapvonalhoz képest
. . NCCL teljes felosztása: #0 SMDDP teljes felosztás: #1 SMDDP hibrid felosztás: #2 SMDDP hibrid szaggatás TE-vel: #3 sdp* tp* lerakás* #0 → #1 #1 → #2 #2 → #3 #0 → #3
70B 32 150.82 149.90 150.05 154.33 256 1 Y -0.6% 0.1% 2.9% 2.3%
64 144.38 144.38 145.42 149.60 256 1 N 0.0% 0.7% 2.9% 3.6%
128 68.53 103.06 130.66 136.52 64 2 N 50.4% 26.8% 4.5% 99.2%

*Az adott modellméretnél, sorozathosszúságnál és a csomópontok számánál a globálisan optimális átviteli sebességet és konfigurációt mutatjuk meg, miután megvizsgáltuk a különféle sdp, tp és aktiválási tehermentesítési kombinációkat.

Az SMP és SMDDP legújabb kiadása számos funkciót támogat, beleértve a natív PyTorch FSDP-t, a kiterjesztett és rugalmasabb hibrid sharlingot, a transzformátormotor-integrációt, a tenzorpárhuzamot és az optimalizált összes együttes működést. Annak érdekében, hogy jobban megértsük, hogyan valósítja meg a SageMaker hatékony, elosztott képzést az LLM-ek számára, megvizsgáljuk az SMDDP és a következő SMP növekményes hozzájárulásait. alapvető jellemzői:

  • SMDDP továbbfejlesztés az NCCL-hez képest FSDP teljes felosztással
  • Az FSDP teljes felosztásának helyettesítése hibrid felosztással, amely csökkenti a kommunikációs költségeket az átviteli sebesség javítása érdekében
  • Az átviteli teljesítmény további növelése a TE-vel, még akkor is, ha a tenzorpárhuzam le van tiltva
  • Alacsonyabb erőforrás-beállítások esetén az aktiválás tehermentesítése lehetővé teheti az edzést, amely egyébként lehetetlen vagy nagyon lassú lenne a nagy memórianyomás miatt

FSDP teljes felosztása: SMDDP továbbfejlesztés az NCCL-hez képest

Amint az az előző táblázatból látható, ha a modellek teljesen fel vannak osztva FSDP-vel, bár az NCCL (TFLOPs #0) és az SMDDP (TFLOPs #1) átviteli sebessége 32 vagy 64 csomóponton összehasonlítható, óriási, 50.4%-os javulás érhető el az NCCL-ről az SMDDP-re 128 csomóponton.

Kisebb modellméreteknél következetes és jelentős javulást tapasztalunk az SMDDP-vel az NCCL-hez képest, kezdve a kisebb klaszterméretekkel, mivel az SMDDP hatékonyan képes enyhíteni a kommunikációs szűk keresztmetszetet.

FSDP hibrid sharling a kommunikációs költségek csökkentése érdekében

Az SMP 1.0-ban elindítottuk szilánkos adatok párhuzamossága, egy elosztott edzéstechnika, amelyet az Amazon házon belül működtet MiCS technológia. Az SMP 2.0-ban bevezetjük az SMP hibrid felosztást, egy bővíthető és rugalmasabb hibrid felosztási technikát, amely lehetővé teszi a modellek felosztását a GPU-k egy részhalmaza között, az összes betanító GPU helyett, ami az FSDP teljes felosztása esetén érvényes. Hasznos a közepes méretű modelleknél, amelyeket nem kell a teljes fürtben feldarabolni, hogy megfeleljenek a GPU-nkénti memóriakorlátoknak. Ez oda vezet, hogy a fürtök egynél több modellreplikával rendelkeznek, és mindegyik GPU kevesebb társával kommunikál futás közben.

Az SMP hibrid felosztása lehetővé teszi a hatékony modellfelosztást szélesebb tartományban, a legkisebb szilánkos mértéktől a memóriakimaradás nélkül egészen a teljes fürtméretig (ami a teljes felosztásnak felel meg).

A következő ábra az egyszerűség kedvéért az sdp-től való átviteli függőséget szemlélteti tp = 1-nél. Bár ez nem feltétlenül egyezik meg az előző táblázatban az NCCL vagy SMDDP teljes felosztásának optimális tp értékével, a számok meglehetősen közel állnak hozzá. Egyértelműen érvényesíti a teljes felosztásról hibrid felosztásra való váltás értékét egy nagy, 128 csomópontból álló fürtméretnél, amely mind az NCCL, mind az SMDDP esetében alkalmazható. Kisebb modellméretek esetén a hibrid felosztással végzett jelentős fejlesztések kisebb fürtméreteknél kezdődnek, és a különbség a fürtmérettel folyamatosan nő.

Fejlesztések a TE-vel

A TE-t úgy tervezték, hogy felgyorsítsa az LLM-képzést NVIDIA GPU-kon. Annak ellenére, hogy nem használjuk az FP8-at, mert az nem támogatott a p4d-példányokon, még mindig jelentős gyorsulást tapasztalunk a TE-vel a p4d-n.

Az SMDDP-háttérprogrammal betanított MiCS-en felül a TE minden klaszterméretben következetesen növeli az átviteli sebességet (az egyetlen kivétel a 128 csomóponton a teljes felosztás), még akkor is, ha a tenzorpárhuzam le van tiltva (a tenzorpárhuzam mértéke 1).

Kisebb modellméretek vagy különböző sorozathosszúságok esetén a TE-növelés stabil és nem triviális, körülbelül 3–7.6% tartományban.

Aktiválási tehermentesítés alacsony erőforrás-beállításoknál

Alacsony erőforrás-beállítások esetén (kevés csomópont esetén) az FSDP nagy memórianyomást tapasztalhat (vagy a legrosszabb esetben akár elfogyhat a memória), ha az aktiválási ellenőrzőpont engedélyezve van. Az ilyen, a memória által szűk keresztmetszetű forgatókönyvek esetén az aktiválási tehermentesítés bekapcsolása potenciálisan egy lehetőség a teljesítmény javítására.

Például, ahogy korábban láttuk, bár a Llama 2 13B modellmérettel és 4,096 szekvenciahosszal képes optimálisan edzeni legalább 32 csomóponttal aktiválási ellenőrzési ponttal és aktiválás tehermentesítése nélkül, a legjobb áteresztőképességet az aktiválási tehermentesítéssel éri el, ha 16-ra korlátozódik. csomópontok.

Képzés engedélyezése hosszú sorozatokkal: SMP tenzor párhuzamosság

Hosszabb sorozathosszra van szükség a hosszú beszélgetésekhez és a kontextushoz, és az LLM közösségben nagyobb figyelmet kapnak. Ezért a következő táblázatban különböző hosszú sorozatú átviteli sebességeket mutatunk be. A táblázat a Llama 2 edzésének optimális áteresztőképességét mutatja a SageMakeren, különféle szekvenciahosszokkal 2,048-tól 32,768-ig. A 32,768 32 szekvenciahosszon a natív FSDP képzés kivitelezhetetlen 4 csomóponttal, XNUMX milliós globális kötegméret mellett.

. . . TFLOPS
Modellméret A szekvencia hossza Csomópontok száma Natív FSDP és NCCL SMP és SMDDP SMP fejlesztés
7B 2048 32 129.25 138.17 6.9%
4096 32 124.38 132.65 6.6%
8192 32 115.25 123.11 6.8%
16384 32 100.73 109.11 8.3%
32768 32 NA 82.87 .
13B 2048 32 137.75 144.28 4.7%
4096 32 133.30 139.46 4.6%
8192 32 125.04 130.08 4.0%
16384 32 111.58 117.01 4.9%
32768 32 NA 92.38 .
*: max . . . . 8.3%
*: medián . . . . 5.8%

Ha a fürt mérete nagy, és rögzített globális kötegmérettel rendelkezik, előfordulhat, hogy a modell betanítása megvalósíthatatlan a natív PyTorch FSDP-vel, mivel hiányzik a beépített folyamat vagy tenzor párhuzamosság támogatása. Az előző táblázatban a 4 milliós globális kötegméretet, 32 csomópontot és 32,768 0.5 sorozathosszúságot figyelembe véve az effektív kötegméret GPU-nként 2 (például tp = 1 XNUMX-es kötegmérettel), ami egyébként kivitelezhetetlen lenne bevezetés nélkül. tenzor párhuzamosság.

Következtetés

Ebben a bejegyzésben bemutattuk a hatékony LLM-képzést SMP-vel és SMDDP-vel p4d-példányokon, több kulcsfontosságú funkcióhoz is hozzárendelve, mint például az SMDDP továbbfejlesztése az NCCL-hez képest, rugalmas FSDP hibrid felosztás a teljes felosztás helyett, TE-integráció és a tenzorpárhuzam lehetővé tétele a hosszú sorozatok. A beállítások széles skáláján, különféle modellekkel, modellméretekkel és sorozathosszúságokkal tesztelve, robusztus, közel lineáris skálázási hatékonyságot mutat, akár 128 p4d példányig a SageMakeren. Összefoglalva, a SageMaker továbbra is hatékony eszköz az LLM-kutatók és gyakorlati szakemberek számára.

További információért lásd: SageMaker modell párhuzamossági könyvtár v2, vagy lépjen kapcsolatba az SMP csapatával a címen [e-mail védett].

Köszönetnyilvánítás

Szeretnénk köszönetet mondani Robert Van Dusennek, Ben Snydernek, Gautam Kumarnak és Luis Quintelának konstruktív visszajelzéseikért és megbeszéléseikért.


A szerzőkről

Xinle Sheila Liu egy SDE az Amazon SageMakerben. Szabadidejében szívesen olvas és a szabadban sportol.

Suhit Kodgule szoftverfejlesztő mérnök az AWS mesterséges intelligencia csoportjában, amely mély tanulási keretrendszereken dolgozik. Szabadidejében szeret túrázni, utazni és főzni.

Viktor Zhu az Amazon Web Services Distributed Deep Learning szoftvermérnöke. A túrázás és a társasjátékok kedvelői az SF-öböl környékén.

Derya Cavdar szoftvermérnökként dolgozik az AWS-nél. Érdeklődési köre a mély tanulás és az elosztott képzési optimalizálás.

Teng Xu szoftverfejlesztő mérnök az AWS AI Distributed Training csoportjában. Szívesen olvas.

spot_img

Legújabb intelligencia

spot_img

Beszélj velünk

Szia! Miben segíthetek?