Műszaki ÚTMUTATÓ

Az optimalizáló állapotának letöltése a CPU-ra és az NVMe-re

Memóriakímélő trükk, amely a szűkös GPU-memória helyett a CPU RAM-ban vagy az NVMe SSD-n tárolja az edzések nehéz könyvelését (optimalizáló állapotok, színátmenetek, néha súlyok).

2 perc olvasásUtoljára frissítve

Áttekintés

It lets people train far larger models than their GPU's memory would otherwise allow.

Mély merülés

Amikor egy neurális hálózatot edz egy optimalizálóval, mint Adam, minden paraméter plusz poggyászt hordoz: két futási statisztika (impulzus és szórás), plusz a súly teljes pontosságú másolata, plusz a gradiens. A vegyes precíziós edzéseknél ez paraméterenként nagyjából 16 bájtot jelenthet, ami eltörpül magának a súlynak a 2 bájtja mellett. A kirakodás áthelyezi ezt a poggyászt a GPU-ról. A CPU tehermentesítése az optimalizáló állapotokat a normál rendszer RAM-ba továbbítja a PCIe buszon keresztül, míg az NVMe tehermentesítése egészen a gyors szilárdtestalapú lemezekre tolja le őket. A DeepSpeed ​​ZeRO-Infinity és ZeRO-Offload által népszerűsített technika a nyers sebességet kapacitásra cseréli, lehetővé téve egyetlen GPU-nak vagy kis klaszternek a több milliárd paraméterrel rendelkező modellek finomhangolását.

Technikai betekintés

A kulcs az adatmozgás és a számítás átfedése. Az optimalizáló állapotai a CPU/NVMe-ben vannak; a visszafelé történő áthaladás során a partíciókat közvetlenül azelőtt töltik le PCIe-n keresztül, mielőtt szükség lenne rájuk, és maga az optimalizáló lépés gyakran fut a CPU-n. A ZeRO-Offload a float32 mestersúlyait és az Adam pillanatait a CPU-n tartja, így csak az előre- és hátramenet matematika marad a GPU-n. Az NVMe többszintű gyorsítótárat ad hozzá, így a terabájt méretű állapotok a lemezre kerülnek, míg a forró partíciók a RAM-ban maradnak.

Stratégiai hatás

Költség és költségvetés

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

Tisztább döntések

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

Minőségellenőrzés

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

Az optimalizáló állapotának CPU-ra és NVMe-re történő kitöltés jövője

Ahogy a modellek egyre növekszik a GPU-memórián, a többszintű lerakodás inkább standard, mint egzotikus. Szorosabb integrációra számíthat a gyorsabb összekapcsolásokkal, például az NVLink-C2C és CXL memóriakészletekkel, amelyek elmossák a CPU-GPU határvonalat, valamint az intelligensebb ütemezőket, amelyek megjósolják, hogy mely állapotokat kell előzetesen letölteni. Az egyesített memóriás architektúrák, például a Grace Hopper csökkentik a PCIe-büntetést, a keretrendszerek pedig a többszintű tehermentesítés szinte átláthatóvá tétele felé törekednek, így a hobbibarátok szerény hardveren finomhangolhatják a nagy modelleket.

Valós megvalósítás

Egy 13 milliárd paraméteres LLM finomhangolása egyetlen 24 GB-os fogyasztói GPU-n a DeepSpeed ​​ZeRO-Offload segítségével, hogy Adam állapotokat a CPU RAM-ba tolja.

Egy kis kutatólaboratórium többmilliárd paraméteres modellt oktat néhány GPU-n azáltal, hogy optimalizáló állapotokat ad ki az NVMe meghajtókra a ZeRO-Infinity segítségével.

Hugging Face Accelerate konfigurációk, amelyek lehetővé teszik a CPU tehermentesítését, így a felhasználók teljes finomhangolási feladatokat hajthatnak végre, amelyek egyébként memóriahiányt okoznának.

Költségtudatos induló vállalkozások, akik olcsóbb, alacsonyabb memóriájú felhő GPU-kat bérelnek, és a 80 GB-os csúcskártyák fizetése helyett a csatolt NVMe-re raknak le.

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

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

2

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

3

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

4

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

Folytassa a felfedezést

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Optimizer State Offloading to CPU and NVMe quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Kezdő kvíz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Következő útmutató

Adam és az adaptív optimalizálók

Gyakran ismételt kérdések

What is Optimizer State Offloading to CPU and NVMe?

Memóriakímélő trükk, amely a szűkös GPU-memória helyett a CPU RAM-ban vagy az NVMe SSD-n tárolja az edzések nehéz könyvelését (optimalizáló állapotok, színátmenetek, néha súlyok). Lehetővé teszi az emberek számára, hogy sokkal nagyobb modelleket képezzenek ki, mint amennyit a GPU memóriája egyébként lehetővé tenne.

Mi az elsődleges célja az optimalizáló állapotok CPU-ra vagy NVMe-re való feltöltésének?

A tehermentesítés a nehéz optimalizálási állapotokat a GPU-ról a CPU RAM-ba vagy az NVMe-be helyezi át, felszabadítva a GPU memóriáját, így a nagyobb modelleket ugyanazon a hardveren lehet betanítani.

A vegyes pontosságú Adam-optimalizáló esetében jellemzően mely adatok fogyasztják a LEGTÖBB memóriát paraméterenként?

Adam tárolja a lendületet, a szórást és a teljes pontosságú mestersúlyt, összesen nagyjából 16 bájtot paraméterenként, ami jóval több, mint a 2 bájtos félpontos súly.

Melyik keretrendszer népszerűsített nagyszabású optimalizáló tehermentesítése?

A DeepSpeed ​​ZeRO-Offload és ZeRO-Infinity bevezette és népszerűsítette a CPU és az NVMe tehermentesítési optimalizáló állapotait.

Mi a fő teljesítményköltsége a CPU-ra vagy az NVMe-re történő kitöltés esetén?

A GPU-n kívüli állapotok áthelyezése azt jelenti, hogy az adatokat PCIe-n vagy NVMe-n keresztül továbbítjuk, ami lassabb, mint a GPU-n belüli memória, így az átviteli sebesség csökken, hacsak nincs átfedésben a számítással.

Hogyan rejtik el a tehermentesítő rendszerek az átviteli késleltetés nagy részét?

Az ütemezők előre letöltik a szükséges partíciókat PCIe-n keresztül, miközben a GPU még számítástechnikailag végzi a munkát, átfedve a kommunikációt a számítással a késleltetés elfedése érdekében.