Ottimizza le prestazioni dell'IA con la quantizzazione del modello. Riduci le dimensioni, aumenta la velocità e migliora l'efficienza energetica per le implementazioni nel mondo reale.
La quantizzazione del modello è una tecnica di trasformazione apprendimento automatico, progettata per ridurre i costi costi computazionali e di memoria dell'esecuzione reti neurali. Convertendo i parametri del modello del modello, in particolare pesi e attivazioni, da numeri in virgola mobile ad alta precisione (di solito a 32 bit, noti come FP32) a formati a bassa precisione come gli interi a 8 bit (INT8), gli sviluppatori possono ridurre significativamente le dimensioni del file del modello. modello. Questo processo è essenziale per consentire efficiente dei modelli su hardware con risorse limitate, garantendo risorse limitate, assicurando che le sofisticate funzionalità di IA possano essere eseguite senza problemi su qualsiasi dispositivo, dagli smartphone ai sensori industriali. sensori industriali.
Il meccanismo centrale della quantizzazione prevede la mappatura di un'ampia gamma di valori continui in un insieme più piccolo di valori discreti. valori discreti. In un tipico modello di apprendimento profondo, i parametri sono memorizzati come numeri in virgola mobile a 32 bit per mantenere un'elevata precisione durante la fase di formazione. precisione durante la fase di addestramento. Tuttavia, durante inferenza - la fase in cui il modello fa previsioni - questo livello di precisione è spesso superfluo.
La quantizzazione comprime questi valori, riducendo la larghezza di banda della memoria necessaria per recuperare i pesi del modello e accelerando la matematica. pesi del modello e accelera le operazioni matematiche. operazioni matematiche. L'hardware moderno, comprese le CPU e gli acceleratori acceleratori specializzati come le GPU, spesso hanno set di istruzioni dedicate per l'aritmetica intera che sono più veloci e più efficienti dal punto di vista energetico rispetto alle loro controparti in virgola mobile. a virgola mobile. Questa ottimizzazione aiuta a minimizzare la latenza dell'inferenza, offrendo all'utente un'esperienza più più veloce nelle applicazioni in tempo reale.
Esistono due approcci principali all'applicazione di questa ottimizzazione, ognuno dei quali serve a diverse fasi del ciclo di vita dello sviluppo. ciclo di vita dello sviluppo:
La quantizzazione è una pietra miliare dell'Edge AI, che consente di eseguire compiti complessi in di eseguire attività complesse localmente sui dispositivi senza affidarsi alla connettività cloud.
Il framework Ultralytics semplifica il processo di esportazione dei modelli in formati facili da quantizzare. Il seguente esempio mostra come esportare un modello YOLO11 in TFLite con quantizzazione INT8 abilitata. Questo processo gestisce automaticamente la calibrazione utilizzando i dati specificati.
from ultralytics import YOLO
# Load the standard YOLO11 model
model = YOLO("yolo11n.pt")
# Export to TFLite format with INT8 quantization
# The 'data' argument provides calibration images
model.export(format="tflite", int8=True, data="coco8.yaml")
È utile distinguere la quantizzazione da altre strategie di ottimizzazione del modello, perché spesso vengono usate insieme, ma funzionano in modo diverso:
Man mano che gli acceleratori hardware diventano sempre più specializzati, l'importanza della quantizzazione continua a crescere. La futura Ultralytics come l'imminente YOLO26, mira a spingere ulteriormente l'efficienza progettando architetture l'efficienza progettando architetture robuste alla quantizzazione aggressiva, garantendo che visione computerizzata ad alte prestazioni ad alte prestazioni anche sui dispositivi più piccoli.
Per una più ampia compatibilità, i modelli quantizzati sono spesso distribuiti utilizzando standard interoperabili come ONNX o motori di inferenza ottimizzati ottimizzati come TensorRT e OpenVINO.