Glossaire

Quantification du modèle

Optimise les performances de l'IA grâce à la quantification des modèles. Réduis la taille, augmente la vitesse et améliore l'efficacité énergétique pour les déploiements dans le monde réel.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

La quantification des modèles est une technique cruciale d'optimisation des modèles utilisée dans le deep learning (DL) pour réduire les coûts de calcul et de mémoire des modèles. Elle y parvient en convertissant la précision numérique des paramètres du modèle(poids et activations) à partir de représentations de précision supérieure, généralement des nombres à virgule flottante de 32 bits(FP32), vers des formats de précision inférieure, tels que des nombres à virgule flottante de 16 bits (FP16), des nombres entiers de 8 bits(INT8), ou même des représentations de bits inférieurs. Ce processus rend les modèles d'apprentissage automatique plus petits, plus rapides et plus économes en énergie, ce qui est particulièrement vital pour le déploiement de modèles complexes dans des environnements à ressources limitées tels que les appareils mobiles ou les systèmes d'IA périphériques.

Comment fonctionne la quantification des modèles

À la base, la quantification du modèle consiste à convertir la gamme de valeurs trouvées dans les tenseurs à haute précision (comme les poids et les activations dans FP32) en une gamme plus petite représentable par des types de données à plus faible précision (comme INT8). Cette conversion réduit considérablement la mémoire nécessaire pour stocker le modèle et les ressources informatiques nécessaires à l'inférence, car les opérations sur les nombres de précision inférieure (en particulier les entiers) sont souvent plus rapides et plus économes en énergie sur le matériel moderne comme les GPU, les CPU et les accélérateurs spécialisés comme les TPU ou les NPU. L'objectif est de réaliser ces gains d'efficacité avec un impact minimal sur les performances prédictives du modèle.

Avantages de la quantification des modèles

L'application de la quantification aux modèles d'apprentissage profond offre plusieurs avantages clés :

  • Taille réduite des modèles : Les types de données de moindre précision nécessitent moins d'espace de stockage, ce qui rend les modèles plus faciles à stocker et à distribuer, notamment pour un déploiement sur l'appareil.
  • Vitesse d'inférence plus rapide : Les calculs avec des nombres de faible précision (en particulier les nombres entiers) s'exécutent plus rapidement sur du matériel compatible, ce qui réduit le temps de latence de l'inférence. Ceci est essentiel pour les applications en temps réel.
  • Amélioration de l'efficacité énergétique : Des calculs plus rapides et un accès réduit à la mémoire entraînent une baisse de la consommation d'énergie, ce qui prolonge la durée de vie de la batterie sur les appareils mobiles et périphériques.
  • Compatibilité matérielle améliorée : De nombreux accélérateurs matériels spécialisés(Edge TPUs, NPUs sur les processeurs ARM) sont optimisés pour l'arithmétique des entiers de faible précision, ce qui permet d'augmenter considérablement les performances des modèles quantifiés.

Techniques de quantification

Il existe deux approches principales de la quantification des modèles :

  • Quantification post-entraînement (PTQ) : Cette méthode consiste à quantifier un modèle qui a déjà été formé en utilisant la précision standard de la virgule flottante. Elle est plus simple à mettre en œuvre car elle ne nécessite pas de réentraînement ni d'accès aux données d'entraînement d'origine. Cependant, elle peut parfois entraîner une baisse notable de la précision du modèle. Des outils tels que la boîte à outils d'optimisation des modèlesTensorFlow offrent des capacités de PTQ.
  • Formation consciente de la quantification (QAT): Cette technique simule les effets de la quantification pendant le processus de formation du modèle. En rendant le modèle "conscient" de la réduction de précision à venir, QAT permet souvent d'obtenir une meilleure précision que PTQ, en particulier pour les modèles sensibles à la quantification, bien qu'il faille modifier le flux de travail de la formation et l'accès aux données de formation. PyTorch prend en charge l'EAQ.

Applications dans le monde réel

La quantification des modèles est largement utilisée dans divers domaines :

  • Applications de vision mobile : Permettre des tâches sophistiquées de vision par ordinateur comme la détection d'objets en temps réel (par exemple, en utilisant un modèleYOLO quantifié d'Ultralytics ) ou la segmentation d'images directement sur les smartphones pour des applications comme la réalité augmentée, la retouche photo ou la recherche visuelle. La quantification rend ces modèles exigeants réalisables sur du matériel mobile.
  • Véhicules autonomes et robotique : Déploiement de modèles de perception (pour détecter les piétons, les véhicules, les obstacles) dans les voitures ou les drones où la faible latence et l'efficacité énergétique sont primordiales pour la sécurité et l'endurance opérationnelle. Les modèles quantifiés permettent de répondre à ces exigences strictes de traitement en temps réel.
  • Appareils d'intelligence artificielle de pointe : Exécuter des modèles d'IA pour des tâches telles que la détection des défauts industriels, la domotique intelligente ou la surveillance de la santé des vêtements sur des microcontrôleurs à faible consommation ou des processeurs de périphérie spécialisés.

Considérations et concepts connexes

Bien que très bénéfique, la quantification peut potentiellement avoir un impact sur la précision du modèle. Après la quantification, il est essentiel de procéder à une évaluation minutieuse à l'aide de mesures de performance pertinentes. Des techniques telles que l'utilisation d'architectures de modèles adaptées à la quantification (par exemple, le remplacement de certaines fonctions d'activation comme dans YOLO) peuvent aider à atténuer la dégradation de la précision, comme indiqué dans le déploiement des modèles quantifiés de YOLOv8 .

La quantification des modèles est l'une des nombreuses techniques d'optimisation des modèles. D'autres comprennent :

  • Élagage du modèle: Suppression des connexions (poids) redondantes ou sans importance dans le réseau neuronal.
  • Précision mixte: Utilisation d'une combinaison de différentes précisions numériques (par exemple, FP16 et FP32) pendant la formation ou l'inférence.
  • Distillation des connaissances: Entraîner un modèle "élève" plus petit à imiter le comportement d'un modèle "enseignant" plus grand et pré-entraîné.

Ultralytics prend en charge l'exportation des modèles vers différents formats qui facilitent la quantification et le déploiement, notamment ONNX, OpenVINO (optimisé pour le matérielIntel ), TensorRT (pour les GPUNVIDIA ), CoreML (pour les appareils Apple) et TFLite, ce qui permet un déploiement efficace des modèles sur diverses plates-formes matérielles. Tu peux gérer et déployer tes modèles, y compris les versions quantifiées, à l'aide d'outils comme Ultralytics HUB. Des intégrations comme Neural Magic tirent également parti de la quantification pour optimiser le CPU .

Tout lire