Scopri come la quantizzazione dei modelli ottimizza Ultralytics per l'edge AI. Scopri come ridurre la memoria, diminuire la latenza ed esportare modelli INT8 per un'inferenza più veloce.
La quantizzazione dei modelli è una sofisticata tecnica di ottimizzazione dei modelli utilizzata per ridurre i costi computazionali e di memoria dell'esecuzione dei modelli di deep learning. Nei flussi di lavoro di addestramento standard, le reti neurali in genere memorizzano i parametri (weights and biases) e le mappe di attivazione utilizzando numeri in virgola mobile a 32 bit (FP32). Sebbene questa elevata precisione garantisca calcoli accurati durante l'addestramento, spesso non è necessaria per l'inferenza. La quantizzazione converte questi valori in formati a precisione inferiore, come i numeri in virgola mobile a 16 bit (FP16) o gli interi a 8 bit (INT8), riducendo efficacemente le dimensioni del modello e accelerando la velocità di esecuzione senza compromettere in modo significativo la precisione.
Il fattore principale alla base della quantizzazione è la necessità di implementare un'intelligenza artificiale potente su hardware con risorse limitate. Man mano che i modelli di visione artificiale come YOLO26 diventano più complessi, aumentano anche le loro esigenze computazionali . La quantizzazione affronta tre colli di bottiglia critici:
È importante differenziare la quantizzazione dalle altre tecniche di ottimizzazione, poiché modificano il modello in modi distinti :
La quantizzazione rende possibile la visione artificiale e l'intelligenza artificiale in vari settori in cui l'efficienza è fondamentale.
Ultralytics semplifica il processo di esportazione, consentendo agli sviluppatori di convertire modelli come l'innovativo YOLO26 in formati quantizzati. La Ultralytics fornisce anche strumenti per gestire queste implementazioni in modo trasparente.
L'esempio seguente mostra come esportare un modello in TFLite con quantizzazione INT8 abilitata. Questo processo prevede una fase di calibrazione in cui il modello osserva i dati campione per determinare la gamma dinamica ottimale per i valori quantizzati.
from ultralytics import YOLO
# Load a standard YOLO26 model
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")
I modelli ottimizzati vengono spesso implementati utilizzando standard interoperabili come ONNX o motori di inferenza ad alte prestazioni come OpenVINO, garantendo un'ampia compatibilità tra diversi ecosistemi hardware.