Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Quantization-Aware Training (QAT)

Ottimizza i modelli di AI per i dispositivi edge con il Quantization-Aware Training (QAT), garantendo elevata precisione ed efficienza in ambienti con risorse limitate.

L'addestramento consapevole della quantizzazione (Quantization-Aware Training, QAT) è una sofisticata tecnica di tecnica di ottimizzazione del modello progettata per preparare le reti neurali per per l'impiego su hardware con risorse computazionali limitate. Mentre i modelli standard di modelli di deep learning standard elaborano i dati utilizzando numeri in virgola mobile a 32 bit ad alta precisione (FP32), molti dispositivi di dispositivi di intelligenza artificiale richiedono una precisione inferiore, come i numeri interi a 8 bit (INT8), per interi a 8 bit (INT8), per risparmiare memoria ed energia. QAT affronta il calo di accuratezza spesso causato da questa conversione simulazione degli effetti della quantizzazione durante la fase di addestramento. Questo approccio proattivo consente al modello di regolare i suoi pesi per compensare la perdita di precisione. di precisione, ottenendo modelli altamente efficienti che mantengono le loro prestazioni predittive.

Come funziona il QAT

Il meccanismo centrale del Quantization-Aware Training prevede l'inserimento di "falsi" nodi di quantizzazione nell'architettura del modello durante l'addestramento. nell'architettura del modello durante l'addestramento. Questi nodi modellano gli errori di arrotondamento e di clamping che si verificano durante la conversione dei valori FP32 in INT8. FP32 in INT8. Durante il passaggio in avanti, il modello funziona come se fosse quantizzato, mentre il passaggio all'indietro, utilizzando la backpropagation backward, che utilizza la retropropagazione, aggiornai pesi in modo alta precisione per compensare gli errori simulati.

Questo processo essenzialmente mette a punto il modello per renderlo robusto contro il rumore introdotto dalla ridotta precisione. I principali framework come PyTorch e TensorFlow forniscono API specializzate API specializzate per facilitare questo flusso di lavoro. Integrando questi vincoli in anticipo, il modello finale esportato è molto meglio allineato alle capacità dell'hardware di destinazione, come quelle dei sistemi embedded. sistemi embedded.

Differenza dalla quantizzazione post-training

È importante distinguere la QAT dalla Quantizzazione post-addestramento (PTQ), in quanto hanno obiettivi simili ma obiettivi simili, ma differiscono nell'esecuzione:

  • Quantizzazione post-addestramento (PTQ): Applicata dopo che il modello è stato completamente addestrato. Analizza un piccolo un piccolo set di dati di calibrazione per mappare i valori in virgola mobile in numeri interi. Sebbene sia veloce e facile da implementare, PTQ può a volte può portare a una significativa riduzione dell 'accuratezza nei modelli sensibili.
  • Formazione consapevole della quantizzazione (QAT): Incorpora la quantizzazione nel processo di addestramento o di nel processo di addestramento o di messa a punto. È più impegnativo dal punto di vista computazionale più intensivo del PTQ, ma in genere produce un'accuratezza superiore, il che lo rende la scelta preferita per l'impiego di modelli modelli all'avanguardia come Ultralytics YOLO11 in scenari mission-critical.

Applicazioni nel mondo reale

QAT è essenziale per i settori in cui latenza dell'inferenza e il consumo di energia sono fattori critici.

  1. Guida autonoma: I veicoli si affidano alla visione computerizzata per compiti come il pedoni e il tracciamento della corsia. Questi sistemi vengono spesso eseguiti su hardware specializzato come NVIDIA Jetson. QAT garantisce che i modelli rimangano sufficientemente precisi per la sicurezza, pur essendo sufficientemente veloci per il processo decisionale in tempo reale.
  2. Assistenza sanitaria mobile: I dispositivi diagnostici portatili utilizzano spesso classificazione delle immagini per analizzare le scansioni mediche. Utilizzando QAT, gli sviluppatori possono implementare modelli di intelligenza artificiale robusti su processori mobili, come i chip Qualcomm Snapdragon. Qualcomm Snapdragon, consentendo una diagnostica avanzata senza diagnostica avanzata senza scaricare la batteria del dispositivo.

Implementazione della quantizzazione con Ultralytics

Mentre le pipeline QAT complete spesso comportano configurazioni di addestramento specifiche, la ultralytics libreria semplifica il processo di esportazione per produrre modelli quantizzati pronti per la distribuzione. Il seguente esempio dimostra come esportare un modello YOLO11 in TFLite con quantizzazione INT8, preparandolo per un'esecuzione efficiente dei bordi.

from ultralytics import YOLO

# Load the YOLO11 model (latest stable version)
model = YOLO("yolo11n.pt")

# Export to TFLite with INT8 quantization
# This creates a compact model optimized for edge devices
model.export(format="tflite", int8=True)

Integrazione con altri metodi di ottimizzazione

Per ottenere la massima efficienza, la QAT viene spesso combinata con altre tecniche di tecniche di distribuzione dei modelli. Il pruning del modello rimuove le connessioni ridondanti prima della quantizzazione, riducendo ulteriormente le dimensioni. quantizzazione, riducendo ulteriormente le dimensioni. Inoltre, distillazione della conoscenza può essere utilizzata per addestrare un modello compatto per studenti, che viene poi perfezionato con QAT. I modelli quantizzati finali sono compatibili con con runtime ad alte prestazioni come ONNX Runtime e OpenVINOgarantendo un'ampia compatibilità con diverse piattaforme hardware da Intel a Google Coral.

Unitevi alla comunità di Ultralytics

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

Iscriviti ora