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.
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.
È importante distinguere la QAT dalla Quantizzazione post-addestramento (PTQ), in quanto hanno obiettivi simili ma obiettivi simili, ma differiscono nell'esecuzione:
QAT è essenziale per i settori in cui latenza dell'inferenza e il consumo di energia sono fattori critici.
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)
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.