Mai departeUrmătorul ghid
Adam și Adaptive Optimizers
Tehnic
GHID tehnic
Un truc de economisire a memoriei care parcă evidența grea a antrenamentului (stări de optimizare, gradienți, uneori greutăți) în RAM CPU sau pe SSD-uri NVMe în loc de memoria GPU limitată.
Ascultă acest ghidNarativ AI · ~2 min
Le permite oamenilor să antreneze modele mult mai mari decât ar permite memoria GPU-ului lor.
Când antrenezi o rețea neuronală cu un optimizator precum Adam, fiecare parametru are un bagaj suplimentar: două statistici de rulare (impuls și varianță), plus o copie de precizie completă a greutății, plus gradientul acesteia. În antrenamentul cu precizie mixtă, acest lucru poate totaliza aproximativ 16 octeți per parametru, depășind cei 2 octeți pentru greutatea în sine. Descărcarea mută acel bagaj de pe GPU. Descărcarea CPU transmite stările de optimizare în memoria RAM obișnuită a sistemului prin magistrala PCIe, în timp ce descărcarea NVMe le împinge până la discuri rapide cu stare solidă. Popularizată de ZeRO-Infinity și ZeRO-Offload de la DeepSpeed, tehnica schimbă viteza brută cu capacitate, permițând unui singur GPU sau cluster mic să ajusteze modelele cu miliarde de parametri.
DeepSpeed’s ZeRO-Offload tutorial trains a ten-billion-parameter GPT-2 configuration on a 32 GB V100, with CPU optimizer offloading and activation checkpointing.
A research team evaluates ZeRO-Infinity with CPU and NVMe tiers for a model that exceeds GPU-only capacity.
A fine-tuning team configures CPU optimizer offloading and measures host memory use and update time.
A team compares larger GPUs with offloading, accounting for CPU, storage, and transfer costs.
Pe măsură ce modelele continuă să depășească memoria GPU, descărcarea pe niveluri devine mai degrabă standard decât exotică. Așteptați-vă la o integrare mai strânsă cu interconexiuni mai rapide, cum ar fi pool-urile de memorie NVLink-C2C și CXL, care estompează granița CPU-GPU, plus programatori mai inteligenți care prezic ce stări trebuie prelevate. Arhitecturile cu memorie unificată, cum ar fi Grace Hopper, reduc penalizarea PCIe, iar cadrele fac eforturi pentru a face descărcarea pe mai multe niveluri aproape transparentă, astfel încât pasionații să poată ajusta modelele mari pe hardware modest.
Buletin gratuit
Trei povești AI verificate în fiecare dimineață de zi lucrătoare, scrise în engleză simplă. Gratuit pentru totdeauna, fără reclame.
Un e-mail în fiecare zi lucrătoare. Dezabonare cu un singur clic. Nu vindem niciodată și nu împărtășim adresa ta.
Testează-te
Feedback instantaneu la fiecare răspuns și un certificat partajabil cu un ID verificabil după ce parcurgi un curs.
Susține educația AI gratuită. AI Understanding este o organizație nonprofit 501(c)(3) — fără reclame, fără barieră de plată, pentru totdeauna. Fă o donație
Un truc de economisire a memoriei care parcă evidența grea a antrenamentului (stări de optimizare, gradienți, uneori greutăți) în RAM CPU sau pe SSD-uri NVMe în loc de memoria GPU limitată. Le permite oamenilor să antreneze modele mult mai mari decât ar permite memoria GPU-ului lor.
Descărcarea mută stările grele de optimizare de pe GPU în RAM CPU sau NVMe, eliberând memoria GPU, astfel încât modelele mai mari să poată fi antrenate pe același hardware.
Each FP32 value uses four bytes: two moments plus one master weight total twelve. A sixteen-byte mixed-precision estimate includes other tensors as well.
ZeRO-Offload și ZeRO-Infinity de la DeepSpeed au introdus și popularizat stările de optimizare de descărcare la CPU și NVMe la scară.
Mutarea stărilor în afara GPU înseamnă transferul de date prin PCIe sau pe NVMe, care este mai lent decât memoria GPU, astfel încât debitul scade dacă nu se suprapune cu calculul.
Programatorii preiau partițiile necesare peste PCIe în timp ce GPU-ul încă calculează, suprapunând comunicarea cu calculul pentru a masca latența.
Continuați să învățați
Mai multe ghiduri alese pentru acest subiect
Mai departeUrmătorul ghid
Adam și Adaptive Optimizers
Tehnic