Sicurezza pronta per l'azienda: Conforme a ISO 27001 + SOC 2 Type I.
Torna al glossario Ultralytics

FP8

Scopri cos'è FP8, come funzionano E4M3 e E5M2 e in che modo il ridimensionamento, il supporto hardware e la precisione mista migliorano l'addestramento e l'inferenza dell'IA.

FP8, o virgola mobile a 8 bit, è un formato numerico a bassa precisione che memorizza ciascun valore in otto bit. I sistemi di intelligenza artificiale utilizzano FP8 per ridurre il traffico di memoria e accelerare le moltiplicazioni di matrici, le convoluzioni e altre operazioni complesse su hardware compatibile. Rispetto a FP16 o FP32, rappresenta un minor numero di valori distinti, quindi i flussi di lavoro FP8 di successo combinano calcoli rapidi a bassa precisione con il ridimensionamento e operazioni selettive a maggiore precisione per preservare la qualità del modello.

Link to this sectionCome FP8 rappresenta i numeri#

Un valore in virgola mobile contiene un segno, un esponente che controlla l'intervallo e una mantissa che controlla il dettaglio. FP8 compare comunemente in due formati documentati dai PyTorch floating-point data types:

  • E4M3: Un bit di segno, quattro bit di esponente e tre bit di mantissa. Offre maggiori dettagli numerici ma un intervallo più ristretto.
  • E5M2: Un bit di segno, cinque bit di esponente e due bit di mantissa. Copre un intervallo più ampio ma arrotonda i valori in modo più aggressivo.

E4M3 è spesso adatto per pesi e attivazioni, mentre E5M2 può accogliere meglio i gradienti con ampi intervalli di valori. Le varianti esatte differiscono tra le piattaforme, come mostrato nella AMD low-precision floating-point documentation, quindi un modello FP8 non è automaticamente portabile tra qualsiasi acceleratore e runtime.

Poiché otto bit non possono rappresentare l'intervallo e il dettaglio originali completi di un tensore, i framework di solito moltiplicano i valori per un fattore di scala prima della conversione. La NVIDIA’s FP8 scaling primer descrive strategie come il ridimensionamento ritardato, che ricava le scale future dai valori massimi precedentemente osservati. Il ridimensionamento limita overflow, underflow e saturazione senza richiedere che ogni operazione venga eseguita a una precisione superiore.

Link to this sectionFP8 rispetto ai formati correlati#

FP8 occupa una posizione intermedia tra i comuni tipi di dati di intelligenza artificiale:

  • FP16 o half precision: Utilizza il doppio dei bit, offrendo maggiore dettaglio numerico e un training generalmente più semplice. FP8 può ridurre ulteriormente l'archiviazione e la larghezza di banda ma richiede un ridimensionamento più attento.
  • BF16: Mantiene un ampio intervallo di esponenti pur fornendo meno dettagli frazionari rispetto a FP16. Viene spesso utilizzato come compagno a maggiore precisione nel training FP8.
  • INT8: Rappresenta numeri interi anziché valori in virgola mobile. La model quantization di INT8 si basa normalmente su scale per mappare i valori reali su livelli interi fissi, mentre FP8 conserva un esponente per una spaziatura naturalmente non uniforme.
  • FP4: Utilizza solo quattro bit e può offrire una maggiore compressione, ma il suo intervallo e la sua granularità estremamente limitati rendono solitamente più difficile la conservazione dell'accuratezza.

FP8 fa spesso parte di un flusso di lavoro mixed-precision piuttosto che essere il tipo di dati per ogni tensore. L'accumulo, la normalizzazione, lo stato dell'ottimizzatore o i layer sensibili possono rimanere in BF16, FP16 o FP32. Inoltre, la precisione numerica è diversa dalla precision evaluation metric, che misura quante predizioni positive del modello sono corrette.

Link to this sectionApplicazioni nel mondo reale#

Due applicazioni pratiche illustrano perché FP8 è importante:

  1. Training di modelli di grandi dimensioni: Il training di Transformer esegue ripetutamente grandi moltiplicazioni di matrici. Un framework compatibile con FP8 può convertire i pesi e le attivazioni idonei in FP8 mantenendo una precisione superiore dove la stabilità lo richiede. Ciò riduce la richiesta di larghezza di banda e può aumentare la velocità di throughput del training. Il TorchAO quantized-training workflow include opzioni di ridimensionamento per tensore e per riga che bilanciano la velocità massima con una migliore gestione dei valori anomali.

  2. Inferenza visiva ad alto throughput: Un data center può eseguire il rilevamento di oggetti su centinaia di flussi video di vendita al dettaglio, traffico o produzione. I kernel compatibili con FP8 possono ridurre il tempo e la memoria utilizzati dai layer di modello idonei, riducendo potenzialmente la inference latency e aumentando la capacità dei flussi concorrenti. La TensorRT quantized-types guide spiega come le operazioni esplicite di quantizzazione e dequantizzazione descrivono l'esecuzione FP8.

Link to this sectionRischi numerici e supporto hardware#

Un ridimensionamento inadeguato può causare la saturazione dei valori grandi e l'arrotondamento a zero dei valori piccoli. I valori anomali sono particolarmente problematici quando una singola scala copre un intero tensore. Questi effetti possono alterare i punteggi di confidenza, destabilizzare il training o ridurre l'accuratezza del rilevamento, quindi gli sviluppatori dovrebbero validare il modello convertito rispetto alla sua baseline a maggiore precisione.

Il supporto hardware nativo è altrettanto importante. La NVIDIA Hopper architecture ha introdotto l'accelerazione FP8 Tensor Core, mentre la precedente NVIDIA A100 GPU supporta FP16, BF16 e INT8 ma non il calcolo nativo FP8. La TensorRT hardware support matrix dovrebbe quindi essere verificata prima di selezionare una precisione di distribuzione.

Link to this sectionLavorare con FP8 nella pratica#

Questo piccolo esempio in PyTorch dimostra la conversione E4M3 e l'errore di arrotondamento prodotto quando i valori FP8 vengono ripristinati a FP32:

import torch

values = torch.tensor([0.1, 1.0, 3.14, 100.0], dtype=torch.float32)

# Convert to E4M3 FP8, then restore the values for comparison.
fp8_values = values.to(torch.float8_e4m3fn)
restored = fp8_values.to(torch.float32)
absolute_error = (restored - values).abs()

print(torch.stack((values, restored, absolute_error), dim=1))

Il flusso di lavoro documentato Ultralytics TensorRT export workflow fornisce opzioni FP16 e INT8calibrate per Ultralytics YOLO anziché un'esportazione FP8 a singolo argomento. La distribuzione FP8 richiede quindi una toolchain di conversione downstream compatibile. Qualsiasi sia la precisione selezionata, utilizza la Ultralytics benchmark mode sulla GPU di destinazione per confrontare latenza, throughput, utilizzo della memoria e accuratezza del task prima della distribuzione in produzione.

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.
Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.
Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.
Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.
Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning