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).
Á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
Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.
Benchmark reális terhelési és adatviszonyok mellett.
Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.
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.
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.