Glossaire

Quantification du modèle

Optimise les modèles d'apprentissage profond avec la quantification de modèle. Réduis la taille, booste la vitesse et déploie efficacement sur des appareils aux ressources limitées.

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

En savoir plus

La quantification des modèles est une technique utilisée pour optimiser les modèles d'apprentissage profond en réduisant la précision des nombres utilisés pour représenter leurs paramètres, tels que les poids et les activations. Généralement, les modèles d'apprentissage profond utilisent des nombres à virgule flottante de 32 bits (FP32). La quantification les convertit en types de précision inférieure comme les nombres à virgule flottante de 16 bits (FP16) ou les nombres entiers de 8 bits (INT8). Cette réduction de la précision permet d'obtenir des modèles plus petits, des temps d'inférence plus rapides et une utilisation plus faible de la mémoire, ce qui la rend particulièrement bénéfique pour le déploiement sur des appareils aux ressources limitées, tels que les téléphones portables ou les systèmes embarqués.

Avantages de la quantification des modèles

La quantification de modèle offre plusieurs avantages qui en font une technique précieuse dans le domaine de l'apprentissage automatique. L'un des principaux avantages est la réduction de la taille du modèle. En utilisant des types de données de moindre précision, la taille globale du modèle est considérablement diminuée. Cela est particulièrement utile pour déployer des modèles sur des appareils dont la capacité de stockage est limitée. En outre, les modèles quantifiés conduisent souvent à des temps d'inférence plus rapides. Les calculs de moindre précision sont généralement plus rapides à effectuer, en particulier sur le matériel qui prend en charge ces opérations de manière native. Cette accélération est cruciale pour les applications en temps réel telles que la détection d'objets et la classification d'images. Un autre avantage significatif est la réduction de la bande passante de la mémoire. Des types de données plus petits signifient que moins de données doivent être déplacées, ce qui peut atténuer les goulots d'étranglement dans les environnements où la mémoire est limitée.

Types de quantification de modèles

Il existe plusieurs approches de la quantification des modèles, chacune ayant ses propres compromis. La quantification post-entraînement (PTQ) est l'une des méthodes les plus simples. Elle consiste à quantifier les poids et les activations d'un modèle déjà entraîné sans nécessiter de réentraînement. La quantification post-entraînement peut être subdivisée en quantification à plage dynamique, quantification intégrale et quantification float16. La quantification dynamique quantifie les poids en nombres entiers mais conserve les activations au format flottant. La quantification intégrale convertit les poids et les activations en nombres entiers, tandis que la quantification float16 utilise des nombres à virgule flottante de 16 bits. Une autre méthode est la formation consciente de la quantification (QAT), où le modèle est formé en tenant compte de la quantification. La formation consciente de la quantification simule les effets de la quantification pendant la formation, ce qui permet au modèle de s'adapter et d'atteindre potentiellement une plus grande précision par rapport au PTQ.

Quantification de modèle vs. autres techniques d'optimisation

La quantification du modèle est souvent utilisée parallèlement à d'autres techniques d'optimisation pour obtenir les meilleurs résultats. L'élagage du modèle est une autre méthode populaire qui consiste à supprimer les connexions moins importantes dans le réseau neuronal, ce qui réduit le nombre de paramètres et de calculs. Alors que la quantification du modèle réduit la précision des paramètres, l'élagage du modèle en réduit la quantité. Les deux techniques peuvent être combinées pour une efficacité encore plus grande. L'entraînement à précision mixte est une autre technique connexe qui utilise à la fois des nombres à virgule flottante de 32 bits et de 16 bits pendant l'entraînement afin d'accélérer le processus et de réduire l'utilisation de la mémoire. Cependant, elle diffère de la quantification car elle se concentre principalement sur la phase de formation plutôt que sur l'optimisation du modèle pour l'inférence.

Applications concrètes de la quantification de modèle

La quantification des modèles a de nombreuses applications dans le monde réel, en particulier dans les scénarios où les ressources informatiques sont limitées. Par exemple, le déploiement des modèles Ultralytics YOLO sur des appareils périphériques tels que les smartphones ou les drones peut grandement bénéficier de la quantification. En réduisant la taille du modèle et le temps d'inférence, il devient possible d'exécuter des tâches complexes de vision par ordinateur en temps réel sur ces appareils. Un autre exemple se trouve dans l'industrie automobile, où les voitures auto-conduites nécessitent un traitement rapide des données des capteurs pour prendre des décisions rapides. Les modèles quantifiés peuvent aider à atteindre la vitesse et l'efficacité nécessaires pour ces applications critiques. En outre, dans le domaine de la santé, la quantification des modèles peut permettre le déploiement d'outils de diagnostic avancés sur des appareils portables, ce qui rend les soins de santé plus accessibles et plus efficaces.

Outils et cadres pour la quantification des modèles

Plusieurs outils et cadres de travail prennent en charge la quantification des modèles, ce qui facilite la mise en œuvre de cette technique par les développeurs. TensorFlow Lite offre un support solide pour la quantification post-entraînement et l'entraînement conscient de la quantification, ce qui permet aux utilisateurs de convertir leurs modèles TensorFlow dans des formats optimisés. PyTorch Lite offre également des fonctions de quantification, y compris la quantification dynamique et statique, permettant aux utilisateurs de réduire la taille du modèle et d'améliorer les performances. ONNX Runtime est un autre outil puissant qui prend en charge la quantification des modèles, offrant une exécution optimisée des modèles ONNX sur diverses plates-formes matérielles. Ces outils sont souvent accompagnés d'une documentation détaillée et d'exemples, ce qui aide les utilisateurs à intégrer efficacement la quantification dans leurs flux de travail d'apprentissage automatique.

Les défis de la quantification des modèles

Bien que la quantification de modèle offre de nombreux avantages, elle s'accompagne également de certains défis. L'une des principales préoccupations est la perte potentielle de précision. La réduction de la précision des poids et des activations peut entraîner une baisse des performances du modèle, surtout si elle n'est pas effectuée avec soin. Des techniques telles que la formation consciente de la quantification peuvent aider à atténuer ce problème, mais elles nécessitent plus d'efforts et de ressources informatiques pendant la phase de formation. Le support matériel constitue un autre défi. Toutes les plates-formes matérielles ne prennent pas efficacement en charge les calculs de basse précision. Cependant, la tendance va vers une plus grande prise en charge des modèles quantifiés, avec de nombreux nouveaux appareils et puces optimisés pour les opérations INT8 et FP16. Les développeurs doivent être conscients de ces défis et choisir la méthode de quantification appropriée en fonction de leurs besoins et contraintes spécifiques. Pour plus d'informations sur l'optimisation des modèles, tu peux explorer des techniques comme le réglage des hyperparamètres et les options de déploiement des modèles.

Tout lire