Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Precisione dimezzata

Scopri come la precisione dimezzata (FP16) accelera l'IA con un calcolo più rapido, un utilizzo ridotto della memoria e un'implementazione efficiente dei modelli.

La mezza precisione è un formato di numero binario in virgola mobile che occupa 16 bit nella memoria del computer, comunemente chiamato FP16. comunemente indicato come FP16. Nel campo in rapida evoluzione del apprendimento profondo, questo formato è una potente alternativa al formato standard a 32 bit a precisione singola (FP32) tradizionalmente utilizzato per i calcoli numerici. Riducendo riducendo il numero di bit necessari per rappresentare ogni numero, la semiprecisione riduce in modo significativo la pressione della banda di memoria e i requisiti di archiviazione per i calcoli numerici. di banda e i requisiti di archiviazione per i pesi e le attivazioni dei modelli. pesi e attivazioni del modello. Questa efficienza consente a ricercatori e ingegneri di addestrare reti reti neurali più grandi o di distribuire i modelli su hardware con risorse risorse limitate senza compromettere in modo sostanziale la precisione delle previsioni.

La meccanica della mezza precisione

Lo standard IEEE 754 definisce la struttura dei numeri in virgola mobile. dove FP16 assegna 1 bit per il segno, 5 bit per l'esponente e 10 bit per la frazione (mantissa). Questa rappresentazione compatta contrasta con FP32, che utilizza 8 bit per l'esponente e 23 per la frazione. Il vantaggio principale vantaggio principale dell'uso di FP16 nella visione artificiale e altri compiti di IA è l'accelerazione delle operazioni matematiche. accelerazione delle operazioni matematiche. I moderni acceleratori hardware, come NVIDIA Tensor Cores, sono specificamente progettati per eseguire per eseguire moltiplicazioni di matrici in semiprecisione a velocità significativamente superiori rispetto alle operazioni in singola precisione.

Tuttavia, il numero ridotto di bit implica una minore gamma dinamica e una minore precisione. Questo può potenzialmente portare a instabilità numerica, come gradienti che svaniscono, quando i numeri diventano troppo troppo piccoli perché il computer possa rappresentarli in modo distinto da zero. Per mitigare questo problema, gli sviluppatori utilizzano spesso strategie di precisione mista, che passano dinamicamente tra FP16 e FP32 durante l'addestramento per mantenere la stabilità e sfruttare la velocità della mezza precisione.

Applicazioni del mondo reale nell'IA

La mezza precisione è onnipresente nei moderni flussi di lavoro dell'intelligenza artificiale, in particolare negli scenari che richiedono un elevato throughput o una bassa latenza. latenza.

  1. Distribuzione dell'intelligenza artificiale sui bordi: Quando si distribuiscono i modelli su dispositivi AI edge come droni, fotocamere intelligenti o telefoni cellulari, la memoria e la durata della batteria sono telefoni cellulari, la memoria e la durata della batteria sono vincoli fondamentali. La conversione di un modello come YOLO11 a FP16 riduce le dimensioni del modello di circa il 50%, consentendo così di inserirlo nella RAM limitata di sistemi embedded come NVIDIA Jetson o Raspberry Pi. Questo facilita una più rapida latenza di inferenza, consentendo una reattività in tempo reale in applicazioni come la navigazione autonoma.
  2. Formazione di modelli su larga scala: Addestramento di architetture massive, come modelli linguistici di grandi dimensioni (LLM) o modelli di visione di base, richiede l'elaborazione di terabyte di dati. L'utilizzo dell'FP16 consente ai centri dati di raddoppiare le dimensione dei batch nella memoriaGPU , riducendo drasticamente cicli di formazione. Questa efficienza è fondamentale per una rapida sperimentazione e per l'iterazione di architetture di nuova generazione, come l'imminente YOLO26. architetture di prossima generazione, come l'imminente YOLO26.

Implementazione della mezza precisione con Ultralytics

Quadri come PyTorch e biblioteche come ultralytics rendono semplice l'utilizzo della semiprecisione. L'esempio seguente mostra come esportare un modello YOLO11 nel file TensorRT utilizzando il formato FP16, una pratica pratica comune per ottimizzare la velocità di inferenza sulle GPU NVIDIA .

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT engine with half-precision enabled
# The 'half=True' argument ensures weights are converted to FP16
model.export(format="engine", half=True)

Distinguere i termini correlati

Per comprendere la semiprecisione è necessario distinguerla dalle tecniche di ottimizzazione correlate che si trovano nel glossario:

  • Mezza precisione vs. precisione mista: Mentre la mezza precisione si riferisce specificamente al formato dei dati a 16 bit, la precisione mista è una tecnica di addestramento che combina FP16 per i calcoli pesanti e FP32 per gli accumuli sensibili (come gli aggiornamenti dei pesi). FP16 per i calcoli pesanti e FP32 per gli accumuli sensibili (come gli aggiornamenti dei pesi) per evitare la perdita di informazioni. informazioni.
  • Mezza precisione vs. quantizzazione modello. Quantizzazione modello: La mezza precisione mantiene la rappresentazione in virgola mobile, riducendo semplicemente la larghezza dei bit. La quantizzazione in genere converte i pesi in formati interi, come INT8 (interi a 8 bit), che offrono una compressione e una velocità ancora maggiori. ma richiede tecniche di calibrazione accurate come Formazione consapevole della quantizzazione (QAT) per evitare la degradazione dell'accuratezza.
  • Mezza precisione vs. Bfloat16: Bfloat16 (Brain Floating Point) è un formato alternativo a 16 bit usato spesso nelle TPU. formato a 16 bit utilizzato spesso nelle TPU. Conserva l'esponente a 8 bit di FP32 per conserva l'esponente a 8 bit di FP32 per mantenere l'intervallo dinamico, ma sacrifica la precisione della frazione, rendendolo più stabile per l'addestramento rispetto allo standard IEEE FP16. generalmente più stabile per l'addestramento rispetto allo standard IEEE FP16, senza bisogno di scalare le perdite.

Padroneggiando questi formati, gli sviluppatori possono assicurarsi che le loro strategie di strategie di distribuzione dei modelli siano ottimizzate per i specifici requisiti hardware e prestazionali dei loro progetti.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora