Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Quantization-Aware Training (QAT)

Scopri come il Quantization-Aware Training (QAT) ottimizza i modelli Ultralytics per l'implementazione edge. Scopri come mantenere un'elevata accuratezza con la precisione INT8.

Il Quantization-Aware Training (QAT) è una tecnica specializzata utilizzata durante la fase di addestramento dei modelli di machine learning per prepararli ad ambienti con precisione inferiore. Nei flussi di lavoro standard di deep learning, i modelli operano tipicamente utilizzando numeri in virgola mobile a 32 bit ad alta precisione (FP32). Sebbene questa precisione offra un'accuratezza eccellente, può essere computazionalmente costosa e richiedere molta memoria, specialmente sui dispositivi edge. Il QAT simula gli effetti della quantizzazione, riducendo la precisione a formati come gli interi a 8 bit (INT8), mentre il modello è ancora in fase di addestramento. Introducendo questi errori di quantizzazione durante il processo di apprendimento, il modello impara ad adattare i propri pesi e a recuperare efficacemente l'accuratezza che altrimenti potrebbe andare persa durante la conversione post-addestramento.

Perché QAT è importante per l'implementazione edge

L'implementazione di modelli di visione artificiale su dispositivi con risorse limitate richiede spesso un compromesso tra velocità e prestazioni. I metodi di quantizzazione standard, noti come quantizzazione post-addestramento (PTQ), applicano la riduzione della precisione solo dopo che il modello è stato completamente addestrato. Sebbene la PTQ sia veloce, a volte può compromettere l'accuratezza dei modelli sensibili perché i pesi della rete neurale vengono alterati in modo significativo senza possibilità di regolazione.

QAT risolve questo problema consentendo al modello di "esercitarsi" nell'essere quantizzato. Durante il passaggio in avanti dell'addestramento, i pesi e le attivazioni vengono simulati come valori a bassa precisione. Ciò consente al processo di discesa del gradiente di aggiornare i parametri del modello in modo da ridurre al minimo la perdita specifica per lo stato quantizzato. Il risultato è un modello robusto che mantiene un'elevata precisione anche quando viene implementato su hardware come microcontrollori o processori mobili.

Differenziazione tra QAT e quantizzazione post-addestramento (PTQ)

È utile distinguere il QAT dalla quantizzazione del modello, in particolare dalla quantizzazione post-addestramento (PTQ):

  • Quantizzazione post-addestramento (PTQ): il modello viene addestrato normalmente in FP32. Al termine dell'addestramento , i pesi vengono convertiti in INT8. Questo metodo è più veloce e non richiede un nuovo addestramento, ma può comportare una maggiore perdita di precisione per architetture complesse.
  • Quantization-Aware Training (QAT): il processo di quantizzazione viene emulato durante la fase di messa a punto. Il modello regola i propri parametri interni per adattarsi al rumore introdotto da una precisione inferiore, ottenendo in genere una maggiore accuratezza rispetto al PTQ.

Applicazioni nel mondo reale

Il QAT è essenziale per i settori in cui l'inferenza in tempo reale sull'hardware edge è fondamentale.

  • Droni autonomi: nelle operazioni con droni dotati di intelligenza artificiale, la durata della batteria e la potenza di elaborazione a bordo sono fortemente limitate. I droni che utilizzano modelli ottimizzati tramite QAT sono in grado detect rilevare ostacoli o track con elevata precisione utilizzando acceleratori INT8, prolungando significativamente i tempi di volo rispetto ai modelli FP32.
  • Telecamere intelligenti per la vendita al dettaglio: i supermercati utilizzano la visione artificiale nella vendita al dettaglio per monitorare le scorte sugli scaffali o gestire le code alle casse. Questi sistemi funzionano spesso su gateway edge a bassa potenza. QAT garantisce che i modelli di rilevamento degli oggetti in esecuzione su questi dispositivi mantengano la precisione necessaria per distinguere tra prodotti simili senza richiedere costose connessioni cloud.

Implementazione di QAT con Ultralytics

La Ultralytics e YOLO supportano l'esportazione di modelli in formati quantizzati. Sebbene il QAT sia una procedura di addestramento complessa, i moderni framework facilitano la preparazione dei modelli per l'inferenza quantizzata.

Di seguito è riportato un esempio di come esportare un modello YOLO26 addestrato in un TFLite quantizzato INT8, che utilizza i principi della quantizzazione per un'efficiente distribuzione edge.

from ultralytics import YOLO

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

# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)

Integrazione con gli ecosistemi Edge

I modelli ottimizzati tramite tecniche di quantizzazione sono progettati per funzionare su motori di inferenza specializzati. I modelli addestrati con QAT vengono spesso implementati utilizzando ONNX per la compatibilità multipiattaforma o OpenVINO per l'ottimizzazione su Intel . Ciò garantisce che, indipendentemente dal fatto che l'obiettivo sia un Raspberry Pi o un'Edge TPU dedicata , il modello funzioni con la massima efficienza e velocità possibili.

Concetti chiave relativi al QAT

Per comprendere appieno il QAT, è utile avere familiarità con diversi concetti correlati al machine learning:

  • Precisione: si riferisce al livello di dettaglio utilizzato per rappresentare i numeri. La mezza precisione (FP16) e INT8 sono obiettivi comuni per la quantizzazione.
  • Calibrazione: il processo di determinazione dell'intervallo dei valori di attivazione dinamica (min/max) per mappare in modo efficace i numeri in virgola mobile ai numeri interi. Si tratta di un passaggio fondamentale nell' implementazione YOLO quantizzati.
  • Latenza di inferenza: uno dei principali vantaggi del QAT è la riduzione della latenza di inferenza, che consente un processo decisionale più rapido nei sistemi in tempo reale.
  • Messa a punto: il QAT viene spesso eseguito come fase di messa a punto su un modello pre-addestrato piuttosto che addestrare da zero, risparmiando risorse computazionali.

Integrando il Quantization-Aware Training nella pipeline MLOps, gli sviluppatori possono colmare il divario tra modelli di ricerca ad alta precisione e applicazioni di intelligenza artificiale edge altamente efficienti e pronte per la produzione.

Unitevi alla comunità di Ultralytics

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

Iscriviti ora