Quantization-Aware Training (QAT)
Scopri come la Quantization-Aware Training (QAT) ottimizza i modelli Ultralytics YOLO26 per la distribuzione edge. Scopri come mantenere un'elevata accuratezza con la precisione INT8.
La Quantization-Aware Training (QAT) è una tecnica specializzata utilizzata durante la fase di addestramento dei modelli di machine learning per prepararli ad ambienti a bassa precisione. 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 avida di memoria, specialmente su dispositivi edge. La QAT simula gli effetti della quantizzazione — riducendo la precisione a formati come 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 andrebbe persa durante la conversione post-addestramento.
Link to this sectionPerché la QAT è importante per il deployment su Edge#
Il deploy di modelli di computer vision su dispositivi con risorse limitate richiede spesso un equilibrio tra velocità e prestazioni. I metodi di quantizzazione standard, noti come Post-Training Quantization (PTQ), applicano la riduzione della precisione solo dopo che il modello è stato completamente addestrato. Sebbene la PTQ sia veloce, a volte può degradare l'accuratezza di modelli sensibili poiché i pesi della neural network vengono alterati significativamente senza possibilità di regolazione.
La QAT risolve questo problema permettendo al modello di "esercitarsi" ad essere quantizzato. Durante il forward pass dell'addestramento, i pesi e le attivazioni vengono simulati come valori a bassa precisione. Ciò consente al processo di gradient descent di aggiornare i parametri del modello in modo da minimizzare la perdita specificamente per lo stato quantizzato. Il risultato è un modello robusto che mantiene un'elevata accuratezza anche quando viene distribuito su hardware come microcontrollori o processori mobili.
Link to this sectionDifferenziare la QAT dalla Post-Training Quantization (PTQ)#
È utile distinguere la QAT dalla model quantization, nello specifico dalla Post-Training Quantization (PTQ):
- Post-Training Quantization (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 riaddestramento, ma può comportare una maggiore perdita di accuratezza per architetture complesse.
- Quantization-Aware Training (QAT): Il processo di quantizzazione viene emulato durante la fase di fine-tuning. Il modello adatta i propri parametri interni per accogliere il rumore introdotto dalla bassa precisione, producendo tipicamente un'accuratezza migliore rispetto alla PTQ.
Link to this sectionApplicazioni nel mondo reale#
La QAT è essenziale per i settori in cui l'inferenza in tempo reale su hardware edge è critica.
- Droni autonomi: Nelle operazioni con droni AI, la durata della batteria e la potenza di calcolo di bordo sono severamente limitate. I droni che utilizzano modelli ottimizzati tramite QAT possono rilevare ostacoli o tracciare oggetti con elevata precisione utilizzando acceleratori INT8, estendendo significativamente i tempi di volo rispetto ai modelli FP32.
- Smart Retail Cameras: I supermercati utilizzano la computer vision nel retail per monitorare l'inventario degli scaffali o gestire le file alla cassa. Questi sistemi funzionano spesso su gateway edge a basso consumo. La QAT garantisce che i modelli di object detection in esecuzione su questi dispositivi mantengano l'accuratezza necessaria per distinguere prodotti simili senza richiedere una costosa connettività cloud.
Link to this sectionImplementare la QAT con Ultralytics#
La Ultralytics Platform e l'ecosistema YOLO supportano l'esportazione di modelli in formati quantizzati. Sebbene la QAT sia una procedura di addestramento complessa, i framework moderni facilitano la preparazione dei modelli per l'inferenza quantizzata.
Di seguito un esempio di come potresti esportare un modello YOLO26 addestrato in un formato TFLite quantizzato INT8, che utilizza i principi della quantizzazione per un efficiente deployment su 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)Link to this sectionIntegrazione con gli ecosistemi Edge#
Models optimized via quantization techniques are designed to run on specialized inference engines. QAT-trained models are frequently deployed using ONNX Runtime for cross-platform compatibility or OpenVINO for optimization on Intel hardware. This ensures that whether the target is a Raspberry Pi or a dedicated Edge TPU, the model operates with the highest possible efficiency and speed.
Link to this sectionConcetti chiave relativi alla QAT#
Per comprendere appieno la QAT, è utile avere familiarità con diversi concetti di machine learning correlati:
- Precisione: Si riferisce al livello di dettaglio utilizzato per rappresentare i numeri. La Half-precision (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 efficacemente i numeri in virgola mobile su interi. Questo è un passaggio cruciale nel deploy di modelli YOLO quantizzati.
- Latenza di inferenza: Uno dei principali vantaggi della QAT è la riduzione della inference latency, che consente un processo decisionale più rapido nei sistemi in tempo reale.
- Fine-Tuning: La QAT viene spesso eseguita come passaggio di fine-tuning su un modello pre-addestrato invece di addestrarlo da zero, risparmiando risorse computazionali.
Integrando la Quantization-Aware Training nella pipeline MLOps, gli sviluppatori possono colmare il divario tra modelli di ricerca ad alta accuratezza e applicazioni di edge AI altamente efficienti e pronte per la produzione.






