GUIDA TECNICA

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.

2 minuti di letturaUltimo aggiornamento

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

1

Definire obiettivi di latenza, qualità e costi prima dell'implementazione.

2

Benchmark in condizioni di carico e dati realistiche.

3

Monitoraggio dello strumento per errori, deriva e impatto sull'utente.

4

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.

Inizia il quiz

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.