YOLO Vision 2026 :
IA de vision

Qu'est-ce que l'optimisation de modèles ? Un guide rapide

Découvre comment les techniques d'optimisation de modèles comme le réglage des hyperparamètres, l'élagage de modèles et la quantification de modèles peuvent aider les modèles de vision par ordinateur à fonctionner plus efficacement.

ABAbirami Vina5 min read
Techniques d'optimisation de modèles pour la vision par ordinateur

L'optimisation des modèles est un processus qui vise à améliorer l'efficacité et la performance des modèles de machine learning. En affinant la structure et la fonction d'un modèle, l'optimisation permet d'obtenir de meilleurs résultats avec des ressources de calcul minimales et un temps d'entraînement et d'évaluation réduit.

Ce processus est particulièrement important dans des domaines tels que la vision par ordinateur, où les modèles requièrent souvent des ressources substantielles pour analyser des images complexes. Dans des environnements aux ressources limitées comme les appareils mobiles ou les systèmes de périphérie, les modèles optimisés peuvent fonctionner efficacement avec des ressources restreintes tout en restant précis.

Plusieurs techniques sont couramment utilisées pour réaliser l'optimisation des modèles, notamment le réglage des hyperparamètres, l'élagage des modèles, la quantification des modèles et la précision mixte. Dans cet article, nous allons explorer ces techniques et les avantages qu'elles apportent aux applications de vision par ordinateur. C'est parti !

Comprendre l'optimisation de modèle#

Les modèles de vision par ordinateur possèdent généralement des couches profondes et des structures complexes qui sont idéales pour reconnaître des motifs complexes dans les images, mais ils peuvent aussi s'avérer très exigeants en termes de puissance de calcul. Lorsque ces modèles sont déployés sur des appareils dotés d'un matériel limité, comme les téléphones portables ou les appareils de périphérie, ils peuvent faire face à certains défis ou limitations.

La puissance de calcul, la mémoire et l'énergie limitées de ces appareils peuvent entraîner des baisses notables de performance, car les modèles ont du mal à suivre le rythme. Les techniques d'optimisation des modèles sont essentielles pour relever ces défis. Elles aident à rationaliser le modèle, à réduire ses besoins de calcul et à garantir qu'il continue de fonctionner efficacement, même avec des ressources limitées. L'optimisation d'un modèle peut être réalisée en simplifiant l'architecture du modèle, en réduisant la précision des calculs ou en supprimant les composants inutiles pour rendre le modèle plus léger et plus rapide.

Diagram of reasons to optimize your models

Fig 1. Raisons d'optimiser tes modèles. Image de l'auteur.

Voici quelques-unes des techniques d'optimisation de modèles les plus courantes, que nous allons explorer plus en détail dans les sections suivantes :

  • Réglage des hyperparamètres : il s'agit d'ajuster systématiquement les hyperparamètres, tels que le taux d'apprentissage et la taille des lots, pour améliorer les performances du modèle.
  • Élagage du modèle : cette technique supprime les poids et les connexions inutiles du réseau de neurones, réduisant ainsi sa complexité et son coût de calcul.
  • Quantification du modèle : la quantification consiste à réduire la précision des poids et des activations du modèle, généralement de 32 bits à 16 bits ou 8 bits, ce qui réduit considérablement l'empreinte mémoire et les besoins de calcul.
  • Ajustements de précision : également connus sous le nom d'entraînement en précision mixte, ils consistent à utiliser différents formats de précision pour différentes parties du modèle et à optimiser l'utilisation des ressources sans compromettre la précision.

Explication : Les hyperparamètres dans les modèles de machine learning#

Tu peux aider un modèle à apprendre et à être plus performant en ajustant ses hyperparamètres, c'est-à-dire les paramètres qui façonnent la façon dont le modèle apprend à partir des données. Le réglage des hyperparamètres est une technique permettant d'optimiser ces paramètres, améliorant ainsi l'efficacité et la précision du modèle. Contrairement aux paramètres que le modèle apprend pendant l'entraînement, les hyperparamètres sont des valeurs préréglées qui guident le processus d'apprentissage.

Passons en revue quelques exemples d'hyperparamètres qui peuvent être ajustés :

  • Taux d'apprentissage : ce paramètre contrôle la taille du pas que le modèle effectue pour ajuster ses poids internes. Un taux d'apprentissage plus élevé peut accélérer l'apprentissage mais risque de rater la solution optimale, tandis qu'un taux plus faible peut être plus précis mais plus lent.
  • Taille des lots : elle définit le nombre d'échantillons de données traités à chaque étape d'entraînement. Des tailles de lots plus grandes offrent un apprentissage plus stable mais nécessitent plus de mémoire. Des lots plus petits s'entraînent plus rapidement mais peuvent être moins stables.
  • Époques : tu peux déterminer le nombre de fois que le modèle voit le jeu de données complet à l'aide de ce paramètre. Un plus grand nombre d'époques peut améliorer la précision mais risque de provoquer un surapprentissage.
  • Taille du noyau : elle définit la taille du filtre dans les réseaux de neurones convolutifs (CNN). Des noyaux plus grands capturent des motifs plus larges mais nécessitent plus de traitement ; des noyaux plus petits se concentrent sur des détails plus fins.

Comment fonctionne le réglage des hyperparamètres#

Le réglage des hyperparamètres commence généralement par la définition d'une plage de valeurs possibles pour chaque hyperparamètre. Un algorithme de recherche explore ensuite différentes combinaisons au sein de ces plages pour identifier les paramètres qui produisent les meilleures performances.

Les méthodes de réglage courantes incluent la recherche par grille (grid search), la recherche aléatoire (random search) et l'optimisation bayésienne. La recherche par grille teste chaque combinaison possible de valeurs dans les plages spécifiées. La recherche aléatoire sélectionne des combinaisons au hasard, trouvant souvent des paramètres efficaces plus rapidement. L'optimisation bayésienne utilise un modèle probabiliste pour prédire des valeurs d'hyperparamètres prometteuses basées sur des résultats précédents. Cette approche réduit généralement le nombre d'essais nécessaires.

En fin de compte, pour chaque combinaison d'hyperparamètres, les performances du modèle sont évaluées. Le processus est répété jusqu'à l'obtention des résultats souhaités.

Hyperparamètres vs. paramètres de modèle#

En travaillant sur le réglage des hyperparamètres, tu te demandes peut-être quelle est la différence entre les hyperparamètres et les paramètres du modèle.

Les hyperparamètres sont des valeurs définies avant l'entraînement qui contrôlent la façon dont le modèle apprend, telles que le taux d'apprentissage ou la taille des lots. Ces paramètres sont fixes pendant l'entraînement et influencent directement le processus d'apprentissage. Les paramètres du modèle, en revanche, sont appris par le modèle lui-même pendant l'entraînement. Il s'agit notamment des poids et des biais, qui s'ajustent à mesure que le modèle s'entraîne et guident finalement ses prédictions. En somme, les hyperparamètres façonnent le parcours d'apprentissage, tandis que les paramètres du modèle sont les résultats de ce processus d'apprentissage.

Comparison of parameters and hyperparameters

Fig 2. Comparaison des paramètres et des hyperparamètres.

Pourquoi l'élagage de modèle est important dans le deep learning#

L'élagage du modèle est une technique de réduction de taille qui supprime les poids et les paramètres inutiles d'un modèle, le rendant ainsi plus efficace. En vision par ordinateur, en particulier avec les réseaux de neurones profonds, un grand nombre de paramètres, tels que les poids et les activations (sorties intermédiaires qui aident à calculer la sortie finale), peuvent augmenter à la fois la complexité et les exigences de calcul. L'élagage aide à rationaliser le modèle en identifiant et en supprimant les paramètres qui contribuent peu aux performances, ce qui donne un modèle plus léger et plus efficace.

Neural network before and after model pruning

Fig3. Avant et après l'élagage du modèle.

Une fois le modèle entraîné, des techniques telles que l'élagage basé sur l'amplitude ou l'analyse de sensibilité peuvent évaluer l'importance de chaque paramètre. Les paramètres de faible importance sont ensuite élagués, en utilisant l'une des trois techniques principales : l'élagage des poids, l'élagage des neurones ou l'élagage structuré.

L'élagage des poids supprime les connexions individuelles avec un impact minimal sur la sortie. L'élagage des neurones supprime des neurones entiers dont les sorties contribuent peu à la fonction du modèle. L'élagage structuré élimine des sections plus grandes, telles que les filtres de convolution ou les neurones dans les couches entièrement connectées, optimisant ainsi l'efficacité du modèle. Une fois l'élagage terminé, le modèle est réentraîné pour ajuster finement les paramètres restants, garantissant ainsi qu'il conserve une grande précision sous une forme réduite.

Réduire la latence dans les modèles IA avec la quantification#

La quantification du modèle réduit le nombre de bits utilisés pour représenter les poids et les activations d'un modèle. Elle convertit généralement des valeurs à virgule flottante haute précision sur 32 bits en une précision inférieure, telle que des entiers sur 16 bits ou 8 bits. En réduisant la précision en bits, la quantification diminue considérablement la taille du modèle, l'empreinte mémoire et le coût de calcul.

En vision par ordinateur, les nombres à virgule flottante sur 32 bits sont la norme, mais la conversion en 16 bits ou 8 bits peut améliorer l'efficacité. Il existe deux types principaux de quantification : la quantification des poids et la quantification des activations. La quantification des poids réduit la précision des poids du modèle, équilibrant la réduction de taille et la précision. La quantification des activations réduit la précision des activations, diminuant davantage la mémoire et les besoins de calcul.

Quantization from 32-bit float to 8-bit integer

Fig 4. Un exemple de quantification d'un nombre à virgule flottante sur 32 bits vers un entier sur 8 bits.

Comment la précision mixte accélère les inférences IA#

La précision mixte est une technique qui utilise différentes précisions numériques pour diverses parties d'un réseau de neurones. En combinant des valeurs de plus haute précision, telles que les nombres à virgule flottante sur 32 bits, avec des valeurs de plus basse précision, telles que les nombres à virgule flottante sur 16 bits ou 8 bits, la précision mixte permet aux modèles de vision par ordinateur d'accélérer l'entraînement et de réduire l'utilisation de la mémoire sans sacrifier la précision.

Pendant le training, la précision mixte est obtenue en utilisant une précision inférieure dans des couches spécifiques tout en conservant une précision supérieure là où c'est nécessaire à travers le réseau. Cela se fait via le cast (conversion de type) et la mise à l'échelle de la perte (loss scaling). Le cast convertit les types de données entre différentes précisions selon les besoins du modèle. La mise à l'échelle de la perte ajuste la précision réduite pour éviter le sous-dépassement numérique, assurant un training stable. La précision mixte est particulièrement utile pour les grands modèles et les grandes tailles de lot.

Mixed precision training using FP16 and FP32 floating-point types

Fig 5. L'entraînement en précision mixte utilise à la fois des types à virgule flottante sur 16 bits (FP16) et sur 32 bits (FP32).

Équilibrer la précision et l'efficacité du modèle#

Maintenant que nous avons abordé plusieurs techniques d'optimisation de modèles, discutons de la manière de décider laquelle utiliser en fonction de tes besoins spécifiques. Le choix dépend de facteurs tels que le matériel disponible, les contraintes de calcul et de mémoire de l'environnement de déploiement, et le niveau de précision requis.

Par exemple, des modèles plus petits et plus rapides conviennent mieux aux appareils mobiles aux ressources limitées, tandis que des modèles plus grands et plus précis peuvent être utilisés sur des systèmes haute performance. Voici comment chaque technique s'aligne sur différents objectifs :

  • Pruning : C'est idéal pour réduire la taille du modèle sans impacter significativement la précision, ce qui le rend parfait pour les appareils aux ressources limitées comme les téléphones portables ou les appareils de l'Internet des objets (IoT).
  • Quantification : une excellente option pour réduire la taille du modèle et accélérer l'inférence, en particulier sur les appareils mobiles et les systèmes embarqués dotés d'une mémoire et d'une puissance de traitement limitées. Elle fonctionne bien pour les applications où de légères réductions de précision sont acceptables.
  • Précision mixte : conçue pour les modèles à grande échelle, cette technique réduit l'utilisation de la mémoire et accélère l'entraînement sur du matériel tel que les GPU et les TPU qui prennent en charge les opérations en précision mixte. Elle est souvent utilisée dans les tâches haute performance où l'efficacité importe.
  • Réglage des hyperparamètres : bien qu'intensif en termes de calcul, il est essentiel pour les applications qui nécessitent une grande précision, telles que l'imagerie médicale ou la conduite autonome.

Points clés#

L'optimisation de modèle est une partie vitale du machine learning, surtout pour déployer l'IA dans des applications du monde réel. Des techniques comme le réglage des hyperparamètres, l'élagage de modèle, la quantification et la précision mixte aident à améliorer la performance, l'efficacité et l'utilisation des ressources des modèles de computer vision. Ces optimisations rendent les modèles plus rapides et moins gourmands en ressources, ce qui est idéal pour les appareils avec une mémoire et une puissance de traitement limitées. Les modèles optimisés sont également plus faciles à mettre à l'échelle et à déployer sur différentes plateformes, permettant des solutions IA à la fois efficaces et adaptables à une large gamme d'utilisations.

Visite le dépôt GitHub d'Ultralytics et rejoins notre communauté pour en savoir plus sur les applications de l'IA dans la fabrication et l'agriculture.

Explore solutions

Real-time AI that works with your team

IA dans la robotique

Équipe tes machines plus intelligentes avec les modèles Ultralytics YOLO. La vision par IA dans la robotique propulse la navigation autonome, la perception, le suivi d'objets et le contrôle en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans la logistique

Simplifie la logistique avec les modèles Ultralytics YOLO. La vision par IA permet l'inspection des colis, le tri, le suivi des véhicules et la surveillance de la sécurité des entrepôts en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA alimente le suivi des stocks, la surveillance des étagères, la gestion des files d'attente et des informations plus intelligentes sur les clients.
En savoir plus
Real-time AI that works with your team

IA dans la santé

Construis des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans la santé permet une imagerie médicale plus rapide, des diagnostics plus intelligents et une surveillance des patients.
En savoir plus
Real-time AI that works with your team

IA dans la fabrication

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA favorise le contrôle qualité, la détection des défauts, la conformité aux EPI et l'automatisation des chaînes de montage.
En savoir plus
Real-time AI that works with your operation

IA dans l'automobile

Applique la vision par ordinateur dans l'automobile avec les modèles Ultralytics YOLO. L'IA de vision améliore la sécurité routière, l'assistance à la conduite et l'automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Real-time AI tailored to your operation

IA en agriculture

Intègre l'IA de vision à l'agriculture intelligente avec les modèles Ultralytics YOLO. Optimise la surveillance des cultures, le suivi du bétail et l'agriculture de précision pour des rendements plus élevés et plus intelligents.
En savoir plus
Real-time AI that works with your team

IA dans la robotique

Équipe tes machines plus intelligentes avec les modèles Ultralytics YOLO. La vision par IA dans la robotique propulse la navigation autonome, la perception, le suivi d'objets et le contrôle en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans la logistique

Simplifie la logistique avec les modèles Ultralytics YOLO. La vision par IA permet l'inspection des colis, le tri, le suivi des véhicules et la surveillance de la sécurité des entrepôts en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA alimente le suivi des stocks, la surveillance des étagères, la gestion des files d'attente et des informations plus intelligentes sur les clients.
En savoir plus
Real-time AI that works with your team

IA dans la santé

Construis des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans la santé permet une imagerie médicale plus rapide, des diagnostics plus intelligents et une surveillance des patients.
En savoir plus
Real-time AI that works with your team

IA dans la fabrication

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA favorise le contrôle qualité, la détection des défauts, la conformité aux EPI et l'automatisation des chaînes de montage.
En savoir plus
Real-time AI that works with your operation

IA dans l'automobile

Applique la vision par ordinateur dans l'automobile avec les modèles Ultralytics YOLO. L'IA de vision améliore la sécurité routière, l'assistance à la conduite et l'automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Real-time AI tailored to your operation

IA en agriculture

Intègre l'IA de vision à l'agriculture intelligente avec les modèles Ultralytics YOLO. Optimise la surveillance des cultures, le suivi du bétail et l'agriculture de précision pour des rendements plus élevés et plus intelligents.
En savoir plus
Real-time AI that works with your team

IA dans la robotique

Équipe tes machines plus intelligentes avec les modèles Ultralytics YOLO. La vision par IA dans la robotique propulse la navigation autonome, la perception, le suivi d'objets et le contrôle en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans la logistique

Simplifie la logistique avec les modèles Ultralytics YOLO. La vision par IA permet l'inspection des colis, le tri, le suivi des véhicules et la surveillance de la sécurité des entrepôts en temps réel.
En savoir plus
Real-time AI that works with your team

IA dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA alimente le suivi des stocks, la surveillance des étagères, la gestion des files d'attente et des informations plus intelligentes sur les clients.
En savoir plus
Real-time AI that works with your team

IA dans la santé

Construis des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans la santé permet une imagerie médicale plus rapide, des diagnostics plus intelligents et une surveillance des patients.
En savoir plus
Real-time AI that works with your team

IA dans la fabrication

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA favorise le contrôle qualité, la détection des défauts, la conformité aux EPI et l'automatisation des chaînes de montage.
En savoir plus
Real-time AI that works with your operation

IA dans l'automobile

Applique la vision par ordinateur dans l'automobile avec les modèles Ultralytics YOLO. L'IA de vision améliore la sécurité routière, l'assistance à la conduite et l'automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Real-time AI tailored to your operation

IA en agriculture

Intègre l'IA de vision à l'agriculture intelligente avec les modèles Ultralytics YOLO. Optimise la surveillance des cultures, le suivi du bétail et l'agriculture de précision pour des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble le futur de l'IA !

Commence ton aventure avec le futur de l'apprentissage automatique