Découvrez comment la quantification des modèles optimise Ultralytics pour l'IA en périphérie. Découvrez comment réduire la mémoire, diminuer la latence et exporter des modèles INT8 pour une inférence plus rapide.
La quantification de modèle est une technique sophistiquée d'optimisation de modèle utilisée pour réduire les coûts de calcul et de mémoire liés à l'exécution de modèles d'apprentissage profond. Dans les workflows de formation standard, les réseaux neuronaux stockent généralement les paramètres (weights and biases) et les cartes d'activation à l'aide de nombres à virgule flottante 32 bits (FP32). Si cette haute précision garantit des calculs précis pendant la formation, elle est souvent inutile pour l'inférence. La quantification convertit ces valeurs en formats de moindre précision, tels que les nombres à virgule flottante 16 bits (FP16) ou les entiers 8 bits (INT8), réduisant ainsi efficacement la taille du modèle et accélérant la vitesse d'exécution sans compromettre de manière significative la précision.
Le principal moteur de la quantification est la nécessité de déployer une IA puissante sur du matériel aux ressources limitées. À mesure que les modèles de vision par ordinateur tels que YOLO26 deviennent plus complexes, leurs besoins en calcul augmentent. La quantification permet de résoudre trois goulots d'étranglement critiques :
Il est important de différencier la quantification des autres techniques d'optimisation, car elles modifient le modèle de manière distincte :
La quantification permet la vision par ordinateur et l'IA dans divers secteurs où l'efficacité est primordiale.
Ultralytics simplifie le processus d'exportation, permettant aux développeurs de convertir des modèles comme le très récent YOLO26 en formats quantifiés. La Ultralytics fournit également des outils pour gérer ces déploiements de manière transparente.
L'exemple suivant montre comment exporter un modèle vers TFLite avec la quantification INT8 activée. Ce processus implique une étape de calibrage au cours de laquelle le modèle observe des données échantillonnées afin de déterminer la plage dynamique optimale pour les valeurs quantifiées.
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")
Les modèles optimisés sont souvent déployés à l'aide de normes interopérables telles que ONNX ou des moteurs d'inférence haute performance tels que OpenVINO, garantissant une large compatibilité entre divers écosystèmes matériels.