Model Quantization
Découvre comment la quantification des modèles optimise Ultralytics YOLO26 pour l’IA en périphérie. Apprends à réduire la mémoire et la latence, et à exporter des modèles INT8 pour accélérer l’inférence.
La quantification des modèles est une technique sophistiquée d'optimisation des modèles utilisée pour réduire les coûts de calcul et de mémoire liés à l'exécution de modèles de deep learning. Dans les workflows d'entraînement standard, les réseaux neuronaux stockent généralement les paramètres (poids et biais) ainsi que les cartes d'activation sous forme 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 inutile lors de l'inférence. La quantification convertit ces valeurs dans des formats de précision inférieure, tels que les nombres à virgule flottante sur 16 bits (FP16) ou les entiers sur 8 bits (INT8), ce qui réduit efficacement la taille du modèle et accélère son exécution sans compromettre significativement l'exactitude.
Pourquoi la quantification est importante#
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 comme YOLO26 deviennent plus complexes, leurs besoins en calcul augmentent. La quantification répond à trois goulets d'étranglement critiques :
- Empreinte mémoire : En réduisant la largeur en bits des poids (par exemple, de 32 bits à 8 bits), l'espace de stockage requis par le modèle est réduit jusqu'à 4 fois. Cela est essentiel pour les applications mobiles dont la taille est limitée.
- Latence d'inférence : Les opérations en précision réduite sont moins coûteuses sur le plan du calcul. Les processeurs modernes, en particulier ceux dotés d'unités de traitement neuronal (NPUs) spécialisées, peuvent exécuter les opérations INT8 bien plus rapidement que les opérations FP32, ce qui réduit considérablement la latence d'inférence.
- Consommation d'énergie : Le transfert d'une moindre quantité de données en mémoire et l'exécution d'opérations arithmétiques plus simples consomment moins d'énergie, ce qui prolonge l'autonomie des appareils portables et des véhicules autonomes.
Comparaison avec des concepts associés#
Il est important de distinguer la quantification des autres techniques d'optimisation, car elles modifient le modèle de façons différentes :
- Quantification et élagage : Alors que la quantification réduit la taille du fichier en diminuant la largeur en bits des paramètres, l'élagage des modèles consiste à supprimer entièrement les connexions (poids) inutiles afin de créer un réseau parcimonieux. L'élagage modifie la structure du modèle, tandis que la quantification modifie la représentation des données.
- Quantification et distillation des connaissances : La distillation des connaissances est une technique d'entraînement dans laquelle un petit modèle « élève » apprend à imiter un grand modèle « enseignant ». La quantification est souvent appliquée au modèle élève après la distillation afin d'améliorer davantage les performances de l'IA en périphérie.
Applications concrètes#
La quantification permet d'utiliser la vision par ordinateur et l'IA dans divers secteurs où l'efficacité est primordiale.
-
Systèmes autonomes : Dans l'industrie automobile, les voitures autonomes doivent traiter en temps réel les données visuelles provenant de caméras et de capteurs LiDAR. 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 quantifiés de détection d'objets pour identifier les maladies des cultures ou surveiller les stades de croissance. L'exécution locale de ces modèles sur les systèmes embarqués du drone élimine le besoin de connexions cellulaires peu fiables dans les champs isolés.
Mise en œuvre de la quantification avec Ultralytics#
La bibliothèque Ultralytics simplifie le processus d'exportation, permettant aux développeurs de convertir des modèles comme le très récent YOLO26 dans des formats quantifiés. L'Ultralytics Platform fournit également des outils pour gérer ces déploiements en toute simplicité.
L'exemple suivant montre comment exporter un modèle vers TFLite avec la quantification INT8 activée. Ce processus comprend une étape de calibration au cours de laquelle le modèle observe des données d'exemple 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 fréquemment déployés à l'aide de standards interopérables comme ONNX ou de moteurs d'inférence haute performance tels que OpenVINO, ce qui garantit une large compatibilité entre divers écosystèmes matériels.









