Allenamento misto di precisione
L'addestramento a precisione mista accelera l'addestramento della rete neurale e riduce l'utilizzo della memoria eseguendo la maggior parte dei calcoli in virgola mobile a 16 bit anziché a 32 bit.
Panoramica
It lets the same GPU train bigger models faster with almost no loss in accuracy.
Immersione profonda
La formazione tradizionale memorizza i pesi ed esegue i calcoli in virgola mobile a 32 bit (FP32). La precisione mista utilizza formati a 16 bit a precisione inferiore (FP16 o bfloat16) per le moltiplicazioni di matrici pesanti, mantenendo una "copia master" a 32 bit dei pesi per gli aggiornamenti stabili. Poiché i numeri a 16 bit sono grandi la metà, c'è più spazio nella memoria della GPU e i Tensor Core li elaborano circa 2-8 volte più velocemente. Il problema è il range ristretto del 16PQ: piccoli gradienti possono raggiungere lo zero. La soluzione standard è il ridimensionamento delle perdite, che moltiplica la perdita per un fattore elevato prima della propagazione all'indietro in modo che i gradienti piccoli rimangano rappresentabili, quindi la divide nuovamente prima dell'aggiornamento del peso. Apex di NVIDIA e AMP (Automatic Mixed Precision) integrato in PyTorch e TensorFlow automatizzano tutto ciò.
Approfondimento tecnico
FP16 ha solo 5 bit esponenti, fornendo una piccola gamma dinamica che causa un underflow del gradiente. Bfloat16 mantiene 8 bit esponenti (corrispondenti all'intervallo di FP32) ma meno bit mantissa, quindi raramente necessita di ridimensionamento delle perdite: un motivo chiave per Google TPU e GPU moderne lo favoriscono. I Tensor Core accelerano il lavoro moltiplicando gli operandi a 16 bit ma accumulando somme parziali in FP32, preservando la precisione dove altrimenti gli errori di somma potrebbero aggravarsi.
Impatto strategico
Costo e budget
Le decisioni relative all'architettura determinano prestazioni e costi operativi per anni.
Decisioni più chiare
La formazione tecnica aiuta i team a scegliere lo stack giusto, non solo quello più nuovo.
Controllo di qualità
Migliori scelte ingegneristiche riducono gli incidenti legati all’affidabilità nella produzione.
Il futuro dell'allenamento di precisione misto
La precisione continua a diminuire. La formazione FP8, supportata dalle GPU NVIDIA Hopper e Blackwell, sta diventando uno standard per i modelli di frontiera e la ricerca sul 4PQ e sui formati di microscaling (MXFP) si spinge oltre. Ci si aspetta che i framework selezionino automaticamente la precisione per livello, che l'hardware gestisca in modo nativo formati sempre più ristretti e che l'addestramento sensibile alla quantizzazione offuschi il confine tra addestramento a bassa precisione e inferenza, riducendo il costo dell'addestramento di modelli da trilioni di parametri.
Implementazione nel mondo reale
torch.cuda.amp.autocast di PyTorch avvolge un ciclo di addestramento per dimezzare all'incirca la memoria e raddoppiare il throughput su una singola GPU
Addestramento di modelli linguistici di grandi dimensioni come trasformatori in stile GPT in bfloat16 su TPU per evitare l'ottimizzazione del ridimensionamento delle perdite
Adattamento di batch di dimensioni maggiori su una GPU RTX consumer cambiando l'addestramento delle immagini ResNet da FP32 a FP16
Precisione mista dell'8° PQ sulle GPU NVIDIA H100 per ridurre i costi di pre-addestramento dei modelli su scala di frontiera
Rischi e guardrail
L'ottimizzazione di un benchmark può nascondere debolezze di sistema più ampie.
I costi delle infrastrutture e della manutenzione sono spesso sottostimati.
Le lacune in termini di sicurezza e osservabilità possono aumentare man mano che i sistemi diventano più complessi.
Tabella di marcia per l'implementazione
Definire obiettivi di latenza, qualità e costi prima dell'implementazione.
Benchmark in condizioni di carico e dati realistiche.
Monitoraggio dello strumento per errori, deriva e impatto sull'utente.
Preparare percorsi di rollback e risposta agli incidenti prima della scalabilità.
Continua a esplorare
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.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Prossima guida
Pseudo-etichettatura e autoformazione
Domande frequenti
What is Mixed Precision Training?
L'addestramento a precisione mista accelera l'addestramento della rete neurale e riduce l'utilizzo della memoria eseguendo la maggior parte dei calcoli in virgola mobile a 16 bit anziché a 32 bit. Consente alla stessa GPU di addestrare modelli più grandi più velocemente senza quasi alcuna perdita di precisione.
Perché l'allenamento a precisione mista conserva una "copia master" a 32 bit dei pesi?
Gli aggiornamenti del peso sono spesso molto piccoli; accumularli a 16 bit perderebbe precisione, quindi una copia master a precisione completa mantiene gli aggiornamenti accurati.
Quale problema risolve il ridimensionamento delle perdite nella formazione FP16?
FP16 ha una gamma dinamica limitata, quindi piccoli gradienti possono arrotondarsi a zero; moltiplicare la perdita prima del backprop li mantiene rappresentabili.
Che vantaggio ha bfloat16 rispetto a FP16?
Bfloat16 mantiene 8 bit esponenti come FP32, quindi la sua gamma dinamica è ampia e l'underflow del gradiente è raro.
In che modo i Tensor Core preservano la precisione durante l'utilizzo di input a 16 bit?
I tensor core moltiplicano gli operandi a 16 bit ma si accumulano in quelli a 32 bit, impedendo la capitalizzazione degli errori di somma.
Qual è il vantaggio principale derivante dall'utilizzo di valori a 16 bit anziché a 32 bit durante l'addestramento?
I numeri dimezzati possono contenere più dati nella memoria della GPU e consentono all'hardware specializzato di elaborare matrici matematiche molto più velocemente.