Optimisez les performances de l'IA grâce à la quantification des modèles. Réduisez la taille, augmentez la vitesse et améliorez l'efficacité énergétique pour les déploiements dans le monde réel.
La quantification de modèle est une technique transformatrice de l'apprentissage l'apprentissage automatique, conçue pour réduire les de calcul et de mémoire des réseaux neuronaux. réseaux neuronaux. En convertissant les paramètres du modèle, notamment les poids et les activations, de nombres à virgule flottante de haute précision (généralement 32 bits, connus sous le nom de FP32) vers des formats de moindre précision comme les entiers de 8 bits (INT8), les développeurs peuvent réduire de manière significative la taille du fichier du modèle. modèle. Ce processus est essentiel pour permettre déploiement efficace de modèles sur du matériel aux sur du matériel aux ressources limitées, garantissant ainsi que des capacités d'IA sophistiquées puissent fonctionner sans problème sur tout type de matériel, des smartphones aux capteurs industriels. capteurs industriels.
Le mécanisme de base de la quantification consiste à faire correspondre une large gamme de valeurs continues à un ensemble plus restreint de valeurs discrètes. discrètes. Dans un modèle d'apprentissage profond typique, les paramètres sont stockés sous forme de nombres à virgule flottante de 32 bits afin de maintenir une précision élevée pendant la phase d'apprentissage. précision pendant la phase d'apprentissage. Cependant, lors de l'inférence - l'étape où le modèle fait des prédictions - ce niveau de précision est souvent inutile.
La quantification comprime ces valeurs, ce qui réduit la largeur de bande de la mémoire nécessaire pour récupérer les poids du modèle et accélère les calculs mathématiques. les poids du modèle et accélère les opérations mathématiques. Le matériel moderne, y compris les CPU et les accélérateurs accélérateurs spécialisés comme les GPU, disposent souvent de jeux d'instructions dédiés à l'arithmétique des nombres entiers. d'instructions dédiées à l'arithmétique des nombres entiers qui sont plus rapides et plus économes en énergie que leurs homologues à virgule flottante. à virgule flottante. Cette optimisation permet de minimiser latence de l'inférence, offrant ainsi une expérience dans les applications en temps réel.
Il existe deux approches principales pour appliquer cette optimisation, chacune servant à des étapes différentes du cycle de développement. développement :
La quantification est la pierre angulaire de l'Edge AI, car elle permet d'effectuer des tâches complexes localement sur les appareils sans dépendre de la connectivité en nuage. d'effectuer des tâches complexes localement sur des appareils sans dépendre de la connectivité au nuage.
Le cadre Ultralytics simplifie le processus d'exportation des modèles vers des formats adaptés à la quantification. L'exemple suivant suivant montre comment exporter un modèle YOLO11 vers TFLite avec la quantification INT8 activée. Ce processus gère automatiquement l'étalonnage à l'aide des données spécifiées.
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")
Il est utile de distinguer la quantification des autres stratégies d'optimisation des modèles. stratégies d'optimisation des modèles, car elles sont souvent utilisées en tandem mais fonctionnent différemment :
Les accélérateurs matériels devenant de plus en plus spécialisés, l'importance de la quantification ne cesse de croître. Les recherches futures Ultralytics comme le prochain projet YOLO26, vise à améliorer encore l'efficacité l'efficacité en concevant des architectures qui sont nativement robustes à la quantification agressive, garantissant ainsi que la vision par ordinateur à haute performance ne sera pas compromise. vision par ordinateur à haute performance haute performance reste accessible même sur les plus petits appareils.
Pour une plus grande compatibilité, les modèles quantifiés sont souvent déployés à l'aide de normes interopérables telles que ONNX ou des moteurs d'inférence optimisés optimisés tels que TensorRT et OpenVINO.