Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Quantizzazione del modello

Scopri come la quantizzazione dei modelli ottimizza Ultralytics per l'edge AI. Scopri come ridurre la memoria, diminuire la latenza ed esportare modelli INT8 per un'inferenza più veloce.

La quantizzazione dei modelli è una sofisticata tecnica di ottimizzazione dei modelli utilizzata per ridurre i costi computazionali e di memoria dell'esecuzione dei modelli di deep learning. Nei flussi di lavoro di addestramento standard, le reti neurali in genere memorizzano i parametri (weights and biases) e le mappe di attivazione utilizzando numeri in virgola mobile a 32 bit (FP32). Sebbene questa elevata precisione garantisca calcoli accurati durante l'addestramento, spesso non è necessaria per l'inferenza. La quantizzazione converte questi valori in formati a precisione inferiore, come i numeri in virgola mobile a 16 bit (FP16) o gli interi a 8 bit (INT8), riducendo efficacemente le dimensioni del modello e accelerando la velocità di esecuzione senza compromettere in modo significativo la precisione.

Perché la quantizzazione è importante

Il fattore principale alla base della quantizzazione è la necessità di implementare un'intelligenza artificiale potente su hardware con risorse limitate. Man mano che i modelli di visione artificiale come YOLO26 diventano più complessi, aumentano anche le loro esigenze computazionali . La quantizzazione affronta tre colli di bottiglia critici:

  • Impronta di memoria: riducendo la larghezza di bit dei pesi (ad esempio, da 32 bit a 8 bit), i requisiti di archiviazione del modello vengono ridotti fino a 4 volte. Ciò è fondamentale per le app mobili in cui le dimensioni dell'applicazione sono limitate.
  • Latenza di inferenza: le operazioni a precisione inferiore sono meno costose dal punto di vista computazionale. I processori moderni, in particolare quelli con unità di elaborazione neurale (NPU) specializzate, possono eseguire operazioni INT8 molto più velocemente rispetto a FP32, riducendo significativamente la latenza di inferenza.
  • Consumo energetico: trasferire meno dati attraverso la memoria ed eseguire operazioni aritmetiche più semplici consuma meno energia, prolungando la durata della batteria nei dispositivi portatili e nei veicoli autonomi.

Confronto con concetti correlati

È importante differenziare la quantizzazione dalle altre tecniche di ottimizzazione, poiché modificano il modello in modi distinti :

  • Quantizzazione vs. potatura: mentre la quantizzazione riduce le dimensioni del file diminuendo la larghezza di bit dei parametri, la potatura del modello comporta la rimozione completa delle connessioni non necessarie (pesi) per creare una rete sparsa. La potatura altera la struttura del modello, mentre la quantizzazione altera la rappresentazione dei dati.
  • Quantizzazione vs. Distillazione della conoscenza: La distillazione della conoscenza è una tecnica di addestramento in cui un piccolo modello "studente" impara a imitare un grande modello "insegnante". La quantizzazione viene spesso applicata al modello studente dopo la distillazione per migliorare ulteriormente le prestazioni dell'AI edge.

Applicazioni nel mondo reale

La quantizzazione rende possibile la visione artificiale e l'intelligenza artificiale in vari settori in cui l'efficienza è fondamentale.

  1. Sistemi autonomi: nell'industria automobilistica, le auto a guida autonoma devono elaborare i dati visivi provenienti da telecamere e LiDAR in tempo reale. I modelli quantizzati implementati su NVIDIA TensorRT consentono a questi veicoli di detect e ostacoli con una latenza di millisecondi, garantendo la sicurezza dei passeggeri.
  2. Agricoltura intelligente: i droni dotati di telecamere multispettrali utilizzano modelli quantizzati di rilevamento degli oggetti per identificare le malattie delle colture o monitorare le fasi di crescita. L'esecuzione di questi modelli a livello locale sui sistemi integratidei droni elimina la necessità di connessioni cellulari inaffidabili nei campi remoti.

Implementazione della quantizzazione con Ultralytics

Ultralytics semplifica il processo di esportazione, consentendo agli sviluppatori di convertire modelli come l'innovativo YOLO26 in formati quantizzati. La Ultralytics fornisce anche strumenti per gestire queste implementazioni in modo trasparente.

L'esempio seguente mostra come esportare un modello in TFLite con quantizzazione INT8 abilitata. Questo processo prevede una fase di calibrazione in cui il modello osserva i dati campione per determinare la gamma dinamica ottimale per i valori quantizzati.

from ultralytics import YOLO

# Load a standard YOLO26 model
model = YOLO("yolo26n.pt")

# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")

I modelli ottimizzati vengono spesso implementati utilizzando standard interoperabili come ONNX o motori di inferenza ad alte prestazioni come OpenVINO, garantendo un'ampia compatibilità tra diversi ecosistemi hardware.

Unitevi alla comunità di Ultralytics

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

Iscriviti ora