Quantization-Aware Training (QAT)
Scopri come l’addestramento consapevole della quantizzazione (QAT) ottimizzi i modelli Ultralytics YOLO26 per il deployment edge. Scopri come mantenere un’elevata accuratezza con la precisione INT8.
L'addestramento consapevole della quantizzazione (QAT) è una tecnica specializzata utilizzata durante la fase di addestramento dei modelli di machine learning per prepararli ad ambienti a precisione ridotta. Nei flussi di lavoro standard di deep learning, i modelli operano in genere utilizzando numeri in virgola mobile a 32 bit ad alta precisione (FP32). Sebbene questa precisione offra un'eccellente accuratezza, può richiedere molte risorse computazionali e di memoria, soprattutto sui dispositivi edge. QAT simula gli effetti della quantizzazione, ovvero la riduzione della 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 la distribuzione edge#
La distribuzione di modelli di computer vision 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 PTQ sia veloce, a volte può ridurre l'accuratezza dei modelli sensibili, perché i pesi della rete neurale vengono modificati in modo significativo senza la possibilità di adattarsi.
QAT risolve questo problema consentendo al modello di "fare pratica" con la quantizzazione. Durante il passaggio forward dell'addestramento, i pesi e le attivazioni vengono simulati come valori a bassa precisione. Questo permette al processo di discesa del gradiente di aggiornare i parametri del modello in modo da minimizzare la perdita specificamente nello stato quantizzato. Il risultato è un modello robusto che mantiene un'elevata accuratezza anche quando viene distribuito su hardware come i microcontrollori o i processori mobili.
Distinguere QAT dalla quantizzazione post-addestramento (PTQ)#
È utile distinguere 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 processo è più veloce e non richiede un nuovo addestramento, ma può causare una maggiore perdita di accuratezza nelle architetture complesse.
- Addestramento consapevole della quantizzazione (QAT): Il processo di quantizzazione viene emulato durante la fase di fine-tuning. Il modello adatta i propri parametri interni per gestire il rumore introdotto dalla precisione ridotta, ottenendo in genere una migliore accuratezza rispetto a PTQ.
Applicazioni nel mondo reale#
QAT è essenziale nei settori in cui l'inferenza in tempo reale sull'hardware edge è fondamentale.
- Droni autonomi: Nelle operazioni con droni AI, la durata della batteria e la potenza di elaborazione a bordo sono fortemente limitate. I droni che utilizzano modelli ottimizzati tramite QAT possono rilevare ostacoli o seguire oggetti con elevata precisione usando acceleratori INT8, estendendo significativamente i tempi di volo rispetto ai modelli FP32.
- Telecamere per la vendita al dettaglio intelligente: I supermercati utilizzano la computer vision nel commercio al dettaglio per monitorare le scorte sugli scaffali o gestire le code alle casse. Questi sistemi spesso vengono eseguiti su gateway edge a basso consumo. QAT garantisce che i modelli di rilevamento degli oggetti eseguiti su questi dispositivi mantengano l'accuratezza necessaria per distinguere prodotti simili senza richiedere una costosa connettività cloud.
Implementazione di QAT con Ultralytics#
La Ultralytics Platform e l'ecosistema YOLO supportano l'esportazione dei modelli in formati quantizzati. Sebbene QAT sia una procedura di addestramento complessa, i framework moderni facilitano la preparazione dei modelli per l'inferenza quantizzata.
Di seguito è riportato un esempio di come esportare un modello YOLO26 addestrato in un formato TFLite quantizzato INT8, che utilizza i principi della quantizzazione per una distribuzione edge efficiente.
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 essere eseguiti su motori di inferenza specializzati. I modelli addestrati con QAT vengono spesso distribuiti utilizzando ONNX Runtime per la compatibilità multipiattaforma o OpenVINO per l'ottimizzazione sull'hardware Intel. Questo garantisce che, indipendentemente dal fatto che la destinazione sia un Raspberry Pi o un Edge TPU dedicato, il modello operi con la massima efficienza e velocità possibili.
Concetti chiave correlati a QAT#
Per comprendere appieno QAT, è utile conoscere diversi concetti correlati del machine learning:
- Precisione: Indica il livello di dettaglio utilizzato per rappresentare i numeri. La mezza precisione (FP16) e INT8 sono obiettivi comuni della quantizzazione.
- Calibrazione: Il processo di determinazione dell'intervallo dei valori dinamici delle attivazioni (min/max) per mappare efficacemente i numeri in virgola mobile agli interi. Questo è un passaggio fondamentale nella distribuzione di modelli YOLO quantizzati.
- Latenza di inferenza: Uno dei principali vantaggi di QAT è la riduzione della latenza di inferenza, che consente di prendere decisioni più rapidamente nei sistemi in tempo reale.
- Fine-tuning: QAT viene spesso eseguito come passaggio di fine-tuning su un modello preaddestrato, anziché procedere con l'addestramento da zero, risparmiando risorse computazionali.
Integrando l'addestramento consapevole della quantizzazione nella pipeline MLOps, gli sviluppatori possono colmare il divario tra i modelli di ricerca ad alta accuratezza e le applicazioni di AI edge altamente efficienti e pronte per la produzione.









