Model Quantization
Apprends comment la quantification des modèles optimise Ultralytics YOLO26 pour l'IA en périphérie. Découvre 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 flux d'entraînement standard, les réseaux de neurones stockent généralement les paramètres (poids et biais) et les cartes d'activation à l'aide de nombres à virgule flottante sur 32 bits (FP32). Bien que cette haute précision garantisse des calculs exacts pendant l'entraînement, elle est souvent superflue pour l'inférence. La quantification convertit ces valeurs en formats de plus basse précision, tels que les nombres à virgule flottante sur 16 bits (FP16) ou les entiers sur 8 bits (INT8), réduisant ainsi efficacement la taille du modèle et accélérant sa vitesse d'exécution sans compromettre significativement l'précision.
Pourquoi la quantification est importante#
Le principal moteur de la quantification est le besoin de déployer une IA puissante sur du matériel aux ressources limitées. À mesure que les modèles de vision par ordinateur comme YOLO26 gagnent en complexité, leurs exigences de calcul augmentent. La quantification répond à trois goulets d'étranglement essentiels :
- Empreinte mémoire : En réduisant la largeur de bit des poids (par exemple, de 32 bits à 8 bits), le besoin en stockage du modèle est réduit jusqu'à 4x. C'est vital pour les applications mobiles où la taille de l'application est limitée.
- Latence d'inférence : Les opérations en plus basse précision sont moins coûteuses en termes de calcul. Les processeurs modernes, en particulier ceux équipés d'unités de traitement neural (NPUs) spécialisées, peuvent exécuter des opérations INT8 beaucoup plus rapidement que les opérations FP32, ce qui réduit considérablement la latence d'inférence.
- Consommation d'énergie : Déplacer moins de données à travers la mémoire et effectuer des opérations arithmétiques plus simples consomme moins d'énergie, ce qui prolonge l'autonomie de la batterie des appareils portables et des véhicules autonomes.
Comparaison avec des concepts associés#
Il est important de différencier la quantification des autres techniques d'optimisation, car elles modifient le modèle de manières distinctes :
- Quantification vs. Élagage : Alors que la quantification réduit la taille du fichier en abaissant la largeur de bit des paramètres, l'élagage de modèle consiste à supprimer entièrement les connexions (poids) inutiles pour créer un réseau creux. L'élagage modifie la structure du modèle, tandis que la quantification modifie la représentation des données.
- Quantification vs. Distillation des connaissances : La distillation des connaissances est une technique d'entraînement où un petit modèle « étudiant » apprend à imiter un grand modèle « enseignant ». La quantification est souvent appliquée au modèle étudiant après la distillation pour améliorer encore les performances en matière d'edge AI.
Applications concrètes#
La quantification permet l'utilisation de la vision par ordinateur et de l'IA dans diverses industries où l'efficacité est primordiale.
-
Systèmes autonomes : Dans l'industrie automobile, les voitures autonomes doivent traiter les données visuelles provenant des caméras et du LiDAR en temps réel. Les modèles quantifiés déployés sur des moteurs NVIDIA TensorRT permettent à ces véhicules de détecter les piétons et les obstacles avec une latence de l'ordre de la milliseconde, garantissant ainsi la sécurité des passagers.
-
Agriculture intelligente : Les drones équipés de caméras multispectrales utilisent des modèles de détection d'objets quantifiés pour identifier les maladies des cultures ou surveiller les stades de croissance. L'exécution de ces modèles localement sur les systèmes embarqués du drone supprime le besoin de connexions cellulaires peu fiables dans les champs isolés.
Implémenter la quantification avec Ultralytics#
La bibliothèque Ultralytics simplifie le processus d'exportation, permettant aux développeurs de convertir des modèles tels que le pointe de technologie YOLO26 en formats quantifiés. La Plateforme Ultralytics fournit également des outils pour gérer ces déploiements en toute transparence.
L'exemple suivant montre comment exporter un modèle vers TFLite avec la quantification INT8 activée. Ce processus implique une étape de calibration où le modèle observe des données d'échantillon pour 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 fréquemment déployés à l'aide de standards interopérables tels que ONNX ou de moteurs d'inférence haute performance tels que OpenVINO, garantissant une large compatibilité à travers divers écosystèmes matériels.






