Mai departeUrmătorul ghid
Estimating GPU Memory Needed for LLMs
Tehnic
GHID tehnic
Cum cadrele AI alocă, refolosesc și recuperează memoria limitată de pe un GPU și de ce golurile rămase (fragmentarea) pot cauza erori de lipsă de memorie chiar și atunci când din punct de vedere tehnic rămâne suficientă memorie.
Ascultă acest ghidNarativ AI · ~2 min
Understanding it is key to fitting big models and avoiding mysterious crashes.
Memoria GPU este fixă și prețioasă: un card poate avea 24, 80 sau 192 GB în total, împărțiți de greutățile modelului, activări, gradienți, stări de optimizare și buffer-uri temporare. Apelarea driverului pentru a aloca memorie pentru fiecare operațiune ar fi lentă, așa că cadrele precum PyTorch folosesc un alocător de cache care preia blocuri mari în față și distribuie sub-piesele, apoi păstrează piesele eliberate într-un pool pentru reutilizare. Captura este fragmentarea: pe măsură ce tensori de diferite dimensiuni sunt alocați și eliberați, spațiul liber se sparge în bucăți împrăștiate. Puteți avea 5 GB liberi în total, dar nu reușiți să alocați un tensor contiguu de 2 GB, deoarece niciun decalaj unic nu este suficient de mare. Acesta este motivul pentru care antrenamentul se poate bloca cu erori de memorie lipsită, în ciuda spațiului aparent disponibil.
A training team examines allocator statistics before testing expandable segments on a variable-batch workload.
A developer uses memory_summary and a memory snapshot to investigate active tensors and inactive split blocks.
An inference team uses vLLM’s paged KV-cache management to reduce cache-allocation waste.
A training team lowers batch size or checkpoints activations after confirming live tensor memory is the limiting factor.
Gestionarea memoriei devine din ce în ce mai inteligentă și mai paginată, inspirată de sistemele de operare. Tehnici precum alocatoarele în stilul memoriei virtuale și atenția paginată (utilizate pentru a gestiona memoria cache KV în timpul inferenței) reduc risipa și fragmentarea în mod dramatic. Așteptați-vă ca cadrele să fie implicite la alocători extensibili, defragmentați, o vizibilitate mai bună prin profilere încorporate și o cuplare mai strânsă cu descărcarea și recalcularea, astfel încât sistemul să jongleze automat cu GPU, CPU și memoria de disc pentru a menține gradul de utilizare ridicat și se blochează rare.
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
Cum cadrele AI alocă, refolosesc și recuperează memoria limitată de pe un GPU și de ce golurile rămase (fragmentarea) pot cauza erori de lipsă de memorie chiar și atunci când din punct de vedere tehnic rămâne suficientă memorie. Înțelegerea acesteia este cheia pentru a monta modele mari și pentru a evita accidentele misterioase.
Fragmentarea înseamnă că memoria totală liberă este suficientă, dar este ruptă în bucăți, astfel încât niciun gol nu este suficient de mare pentru un tensor mare.
Apelarea cudaMalloc/cudaFree pentru fiecare operațiune este lentă, așa că alocatorul de cache preia blocurile mari și le reutiliza pe cele eliberate dintr-un pool.
Allocator statistics and snapshots help distinguish fragmentation from live tensors or other allocations. The error alone does not prove a single cause.
Expandable segments can reduce waste for selected allocation patterns. Availability and benefit depend on allocator configuration and workload.
PagedAttention stochează memoria cache KV în pagini de dimensiuni fixe, cum ar fi memoria virtuală a sistemului de operare, reducând fragmentarea și deservând eficient multe cereri.
Continuați să învățați
Mai multe ghiduri alese pentru acest subiect
Mai departeUrmătorul ghid
Estimating GPU Memory Needed for LLMs
Tehnic