GHID tehnic

Antrenament mixt de precizie

Antrenamentul mixt de precizie accelerează antrenamentul rețelei neuronale și reduce utilizarea memoriei, efectuând majoritatea calculelor în virgulă mobilă de 16 biți în loc de 32 de biți.

2 minute de lecturăUltima actualizare

Prezentare generală

It lets the same GPU train bigger models faster with almost no loss in accuracy.

Scufundare în profunzime

Antrenamentul tradițional stochează greutățile și rulează matematica în virgulă mobilă de 32 de biți (FP32). Precizia mixtă utilizează formate de 16 biți cu precizie mai mică (FP16 sau bfloat16) pentru înmulțirile grele de matrice, păstrând în același timp o „copie principală” pe 32 de biți a greutăților pentru actualizări stabile. Deoarece numerele pe 16 biți au jumătate din dimensiune, se potrivesc mai mult în memoria GPU și Tensor Cores le procesează de aproximativ 2-8 ori mai rapid. Captura este intervalul îngust al FP16: gradienții mici pot depăși până la zero. Soluția standard este scalarea pierderilor, care înmulțește pierderea cu un factor mare înainte de propagare inversă, astfel încât gradienții mici să rămână reprezentabili, apoi o împarte înapoi înainte de actualizarea greutății. Apexul NVIDIA și AMP (Automatic Mixed Precision) încorporat în PyTorch și TensorFlow automatizează acest lucru.

Perspectivă tehnică

FP16 are doar 5 biți exponenți, oferind o gamă dinamică mică care provoacă o depășire a gradientului. Bfloat16 păstrează 8 biți exponenți (se potrivesc cu intervalul FP32), dar mai puțini biți mantisă, așa că rareori are nevoie de scalare a pierderilor - un motiv cheie pentru care Google TPU-urile și GPU-urile moderne îl favorizează. Tensor Cores accelerează munca prin înmulțirea operanzilor pe 16 biți, dar acumulând sume parțiale în FP32, păstrând precizia acolo unde erorile de însumare s-ar agrava altfel.

Impact strategic

Cost și buget

Deciziile de arhitectură generează performanța și costurile de operare de ani de zile.

Decizii mai clare

Educația tehnică ajută echipele să aleagă stiva potrivită, nu doar cea mai nouă.

Controlul calității

Opțiuni de inginerie mai bune reduc incidentele de fiabilitate în producție.

Viitorul antrenamentului mixt de precizie

Precizia continuă să scadă. Instruirea FP8, susținută de GPU-urile NVIDIA Hopper și Blackwell, devine standard pentru modelele de frontieră, iar cercetarea în formatele FP4 și microscaling (MXFP) continuă. Așteptați-vă ca cadrele să selecteze automat precizia pe strat, hardware-ul să gestioneze în mod nativ formate din ce în ce mai restrânse și antrenamentul conștient de cuantizare pentru a estompa linia dintre antrenamentul cu precizie redusă și inferență, micșorând costul antrenării modelelor cu trilioane de parametri.

Implementare în lumea reală

Torch.cuda.amp.autocast de la PyTorch care înfășoară o buclă de antrenament pentru a reduce aproximativ la jumătate memoria și a dubla debitul pe un singur GPU

Antrenarea modelelor de limbă mari, cum ar fi transformatoarele în stil GPT în bfloat16 pe TPU-uri pentru a evita reglarea cu pierderi de scalare

Ajustarea unei dimensiuni mai mari a lotului pe un GPU RTX de consum prin comutarea antrenamentului de imagine ResNet de la FP32 la FP16

Precizie mixtă FP8 pe GPU-urile NVIDIA H100 pentru a reduce costurile preantrenării modelelor la scară de frontieră

Riscuri și balustrade

Optimizarea unui punct de referință poate ascunde slăbiciunile mai largi ale sistemului.

Costurile de infrastructură și întreținere sunt adesea subestimate.

Lacunele de securitate și observabilitate pot crește pe măsură ce sistemele devin mai complexe.

Foaia de parcurs de implementare

1

Definiți obiectivele de latență, calitate și cost înainte de implementare.

2

Benchmark în condiții realiste de încărcare și date.

3

Monitorizarea instrumentelor pentru erori, deriva și impactul utilizatorului.

4

Pregătiți căile de retragere și răspuns la incident înainte de scalare.

Continuați să explorați

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 Mixed Precision Training quiz

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

Quiz Start

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

Următorul ghid

Pseudo-etichetare și autoformare

Întrebări frecvente

What is Mixed Precision Training?

Antrenamentul mixt de precizie accelerează antrenamentul rețelei neuronale și reduce utilizarea memoriei, efectuând majoritatea calculelor în virgulă mobilă de 16 biți în loc de 32 de biți. Permite aceluiași GPU să antreneze modele mai mari mai rapid, aproape fără pierderi de precizie.

De ce antrenamentul de precizie mixtă păstrează o „copie principală” pe 32 de biți a greutăților?

Actualizările de greutate sunt adesea foarte mici; acumularea lor pe 16 biți ar pierde precizia, astfel încât o copie master cu precizie completă păstrează actualizările exacte.

Ce problemă rezolvă scalarea pierderilor în formarea FP16?

FP16 are o gamă dinamică limitată, astfel încât gradienții mici se pot rotunji la zero; înmulțirea pierderii înainte de backprop îi menține reprezentabili.

Ce avantaj are bfloat16 față de FP16?

Bfloat16 păstrează 8 biți exponenți ca FP32, astfel încât intervalul său dinamic este mare și gradient underflow este rar.

Cum păstrează Tensor Cores acuratețea în timp ce folosesc intrări pe 16 biți?

Nucleele tensorului multiplică operanzii pe 16 biți, dar se acumulează pe 32 de biți, prevenind compunerea erorilor de însumare.

Care este un avantaj principal al utilizării valorilor de 16 biți în loc de 32 de biți în timpul antrenamentului?

Numerele de jumătate de mărime încadrează mai multe date în memoria GPU și permit matematica matricei de procesare hardware specializată de câteva ori mai rapidă.