Glossario

Formazione consapevole della quantizzazione (QAT)

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

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

Il Quantization-Aware Training (QAT) è una potente tecnica utilizzata per ottimizzare i modelli di deep learning (DL), come ad esempio Ultralytics YOLO di Ulralytics, per essere utilizzati su dispositivi con risorse computazionali limitate, come i telefoni cellulari o i sistemi embedded. I modelli standard utilizzano spesso numeri ad alta precisione (come quelli in virgola mobile a 32 bit o FP32) per i calcoli, che richiedono una notevole potenza di elaborazione e memoria. QAT mira a ridurre questa richiesta preparando il modello durante la fase di addestramento per ottenere buone prestazioni anche quando utilizza numeri a bassa precisione (ad esempio, numeri interi a 8 bit o INT8), colmando così il divario tra l'alta precisione e le prestazioni efficienti sui dispositivi edge. Questa ottimizzazione è fondamentale per consentire l'esecuzione di complesse attività di intelligenza artificiale direttamente su hardware come smartphone o sensori IoT.

Come funziona la formazione consapevole della quantizzazione

A differenza dei metodi che quantizzano un modello dopo che è stato completamente addestrato, QAT integra la simulazione degli effetti della quantizzazione direttamente nel processo di addestramento. Durante l'addestramento, infatti, introduce nell'architettura del modello delle operazioni chiamate nodi di "quantizzazione fittizia". Questi nodi simulano l'effetto di una precisione inferiore (ad esempio, precisione INT8) sui pesi e sulle attivazioni del modello durante il passaggio in avanti, arrotondando i valori come farebbero in un modello realmente quantizzato. Tuttavia, durante il passaggio all'indietro (in cui il modello apprende per retropropagazione), i gradienti vengono tipicamente calcolati e gli aggiornamenti applicati utilizzando numeri in virgola mobile ad alta precisione. In questo modo i parametri del modello si adattano e imparano a essere robusti alla perdita di precisione che si verificherà durante l'inferenza quantizzata. "Vedendo" gli effetti della quantizzazione durante l'addestramento, il modello riduce al minimo il calo di precisione spesso associato all'utilizzo di modelli in formati a bassa precisione, un aspetto chiave discusso nelle strategie di ottimizzazione dei modelli. Framework come TensorFlow Lite e PyTorch forniscono strumenti per implementare QAT.

Distinzione dai concetti correlati

QAT vs. Quantizzazione del modello (post-formazione)

La differenza principale sta nel momento in cui viene applicata la quantizzazione. La quantizzazione del modello, spesso indicata con il termine Post-Training Quantization (PTQ), converte un modello pre-addestrato a precisione piena in un formato a precisione inferiore al termine dell'addestramento. La PTQ è generalmente più semplice da implementare perché non richiede una riqualificazione o l'accesso al set di dati di formazione originale. Tuttavia, a volte può portare a una notevole diminuzione dell'accuratezza del modello, soprattutto per i modelli complessi che svolgono attività come il rilevamento di oggetti o la segmentazione di immagini. Il QAT, invece, simula la quantizzazione durante l'addestramento, rendendo il modello intrinsecamente più robusto alla riduzione della precisione. Questo comporta spesso un'accuratezza maggiore per il modello quantizzato finale rispetto al PTQ, anche se richiede più risorse computazionali e accesso ai dati di addestramento. Per modelli come YOLO, che incorpora blocchi che favoriscono la quantizzazione, la QAT può offrire vantaggi significativi in termini di prestazioni con una perdita di precisione minima.

QAT vs. Precisione mista

Sebbene entrambe le tecniche prevedano la precisione numerica, i loro obiettivi differiscono. L'addestramento a precisione mista mira principalmente a velocizzare il processo di addestramento stesso e a ridurre l'utilizzo della memoria durante l'addestramento, utilizzando una combinazione di formati a bassa precisione (ad esempio, float a 16 bit o FP16) e a precisione standard (float a 32 bit) per i calcoli e la memorizzazione. QAT si concentra in particolare sull'ottimizzazione del modello per un'inferenza efficiente utilizzando formati interi a bassa precisione (come INT8) dopo la distribuzione del modello. Mentre la precisione mista è utile durante l'addestramento, QAT assicura che il modello finale funzioni bene sotto i vincoli dell'hardware di inferenza quantizzato, come le NPU (Neural Processing Unit) o le TPU.

Applicazioni reali del QAT

L'addestramento consapevole della quantizzazione è fondamentale per implementare sofisticati modelli di intelligenza artificiale in ambienti con risorse limitate, dove l'efficienza è fondamentale.

  1. Visione computerizzata su dispositivo: Esecuzione di modelli di computer vision complessi come Ultralytics YOLOv8 direttamente sugli smartphone per applicazioni come il rilevamento di oggetti in tempo reale nelle applicazioni di realtà aumentata o la classificazione delle immagini negli strumenti di gestione delle foto. QAT permette di eseguire questi modelli in modo efficiente, senza scaricare la batteria o avere una latenza significativa.
  2. Edge AI nel settore automobilistico e nella robotica: Implementazione di modelli per attività come il rilevamento di pedoni o l'assistenza al mantenimento della corsia nei veicoli autonomi o per la manipolazione di oggetti nella robotica. QAT permette a questi modelli di essere eseguiti su hardware specializzato come le TPUGoogle Edge o NVIDIA Jetson, garantendo una bassa latenza di inferenza per le decisioni critiche in tempo reale. Questo è fondamentale per applicazioni come i sistemi di allarme di sicurezza o la gestione dei parcheggi.

Ultralytics supporta l'esportazione dei modelli in vari formati, come ad esempio ONNX, TensorRTe TFLite, che sono compatibili con i flussi di lavoro QAT e consentono una distribuzione efficiente su hardware diversi. Puoi gestire e distribuire i tuoi modelli ottimizzati per QAT utilizzando piattaforme come Ultralytics HUB. Valutare le prestazioni del modello utilizzando le metriche pertinenti dopo QAT è essenziale per garantire il rispetto dei requisiti di accuratezza.

Leggi tutto