Ultralytics YOLO27 :
Vision par IA

Qu’est-ce que l’optimisation des modèles ? Petit guide

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

ABAbirami Vina11 min read
Techniques d’optimisation des modèles pour la vision par ordinateur

L'optimisation des modèles est un processus visant à améliorer l'efficacité et les performances des modèles de machine learning. En affinant la structure et le fonctionnement d'un modèle, l'optimisation permet aux modèles d'obtenir de meilleurs résultats avec un minimum de ressources de calcul et en réduisant le temps d'entraînement et d'évaluation.

Ce processus est particulièrement important dans des domaines comme la vision par ordinateur, où les modèles nécessitent souvent des ressources importantes pour analyser des images complexes. Dans les environnements aux ressources limitées, comme les appareils mobiles ou les systèmes edge, les modèles optimisés peuvent fonctionner efficacement avec des ressources limitées tout en restant précis.

Plusieurs techniques sont couramment utilisées pour optimiser les 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 examiner ces techniques et les avantages qu'elles apportent aux applications de vision par ordinateur. Commençons !

Comprendre l'optimisation des modèles#

Les modèles de vision par ordinateur possèdent généralement des couches profondes et des structures complexes, particulièrement adaptées à la reconnaissance de motifs détaillés dans les images, mais qui peuvent aussi être très exigeantes en termes de puissance de calcul. Lorsque ces modèles sont [déployés](https://ultralytics-translation-3.invalid sur des appareils aux capacités matérielles limitées, comme les téléphones mobiles ou les appareils edge, ils peuvent rencontrer certaines difficultés ou limitations.

La puissance de calcul, la mémoire et l'énergie limitées de ces appareils peuvent entraîner des baisses notables des performances, car les modèles peinent à suivre. Les techniques d'optimisation des modèles sont essentielles pour répondre à ces problèmes. Elles contribuent à rationaliser le modèle, à réduire ses besoins en calcul et à garantir qu'il continue de fonctionner efficacement, même avec des ressources limitées. L'optimisation des modèles 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 afin de rendre le modèle plus léger et plus rapide.

Schéma des raisons d'optimiser tes modèles

Fig. 1. Raisons d'optimiser tes modèles. Image réalisée par l'auteur.

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

  • Réglage des hyperparamètres : Il consiste à ajuster systématiquement les hyperparamètres, comme le taux d'apprentissage et la taille des lots, afin d'améliorer les performances du modèle.
  • Élagage du modèle : Cette technique supprime les poids et les connexions inutiles du réseau neuronal, 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 diminue considérablement l'empreinte mémoire et les besoins en calcul.
  • Ajustement de la précision : Également appelé entraînement en précision mixte, il consiste à 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 des modèles de machine learning#

Tu peux aider un modèle à apprendre et à mieux fonctionner en réglant ses hyperparamètres, c'est-à-dire les paramètres qui façonnent la manière dont le modèle apprend à partir des données. Le réglage des hyperparamètres est une technique permettant d'optimiser ces paramètres et d'améliorer 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édéfinies qui orientent le processus d'entraînement.

Examinons quelques exemples d'hyperparamètres qui peuvent être réglés :

  • Taux d'apprentissage : Ce paramètre contrôle la taille du pas que le modèle utilise pour ajuster ses poids internes. Un taux d'apprentissage élevé peut accélérer l'apprentissage, mais risque de passer à côté de la solution optimale, tandis qu'un taux plus faible peut être plus précis, mais plus lent.
  • Taille du lot : Elle définit le nombre d'échantillons de données traités à chaque étape d'entraînement. Les lots plus grands offrent un apprentissage plus stable, mais nécessitent davantage de mémoire. Les lots plus petits accélèrent l'entraînement, mais peuvent être moins stables.
  • Époques : Ce paramètre permet de déterminer combien de fois le modèle parcourt l'intégralité du jeu de données. Un plus grand nombre d'époques peut améliorer la précision, mais augmente le risque de surapprentissage.
  • Taille du noyau : Elle définit la taille du filtre dans les réseaux neuronaux convolutifs (CNNs). Les noyaux plus grands capturent des motifs plus larges, mais nécessitent davantage de calculs ; les noyaux plus petits se concentrent sur les détails les 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 afin d'identifier les paramètres qui produisent les meilleures performances.

Les méthodes de réglage courantes comprennent la recherche en grille, la recherche aléatoire et l'optimisation bayésienne. La recherche en grille teste toutes les combinaisons de valeurs possibles dans les plages spécifiées. La recherche aléatoire sélectionne des combinaisons au hasard et trouve souvent plus rapidement des paramètres efficaces. L'optimisation bayésienne utilise un modèle probabiliste pour prédire les valeurs d'hyperparamètres prometteuses à partir des résultats précédents. Cette approche réduit généralement le nombre d'essais nécessaires.

Enfin, 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 et paramètres du modèle#

Lorsque tu travailles sur le réglage des hyperparamètres, tu peux te demander 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 manière dont le modèle apprend, comme le taux d'apprentissage ou la taille du lot. Ces paramètres restent fixes pendant l'entraînement et influencent directement le processus d'apprentissage. Les paramètres du modèle, quant à eux, sont appris par le modèle lui-même pendant l'entraînement. Ils comprennent les poids et les biais, qui s'ajustent au fil de l'entraînement du modèle et orientent finalement ses prédictions. En résumé, les hyperparamètres façonnent le parcours d'apprentissage, tandis que les paramètres du modèle sont le résultat de ce processus d'apprentissage.

Comparaison des paramètres et des hyperparamètres

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

Pourquoi l'élagage des modèles est important en deep learning#

L'élagage du modèle est une technique de réduction de taille qui supprime les poids et paramètres inutiles d'un modèle afin de le rendre plus efficace. En vision par ordinateur, notamment avec les réseaux neuronaux profonds, un grand nombre de paramètres, comme les poids et les activations (sorties intermédiaires qui contribuent au calcul de la sortie finale), peut accroître à la fois la complexité et les besoins en calcul. L'élagage contribue à rationaliser le modèle en identifiant et en supprimant les paramètres qui contribuent peu aux performances, ce qui produit un modèle plus léger et plus efficace.

Réseau neuronal avant et après l'élagage du modèle

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

Après l'entraînement du modèle, 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 peu importants sont ensuite élagués à l'aide de 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 ayant un impact minimal sur la sortie. L'élagage des neurones supprime des neurones entiers dont les sorties contribuent peu au fonctionnement du modèle. L'élagage structuré élimine des sections plus importantes, comme les filtres de convolution ou les neurones des couches entièrement connectées, afin d'optimiser l'efficacité du modèle. Une fois l'élagage terminé, le modèle est réentraîné pour affiner les paramètres restants, ce qui garantit qu'il conserve une grande précision sous une forme réduite.

Réduire la latence des modèles d'IA grâce à la quantification#

La quantification des modèles 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 en virgule flottante de haute précision sur 32 bits en valeurs de précision inférieure, comme des entiers sur 16 ou 8 bits. En réduisant la précision en bits, la quantification diminue considérablement la taille du modèle, son empreinte mémoire et son coût de calcul.

En vision par ordinateur, les nombres flottants sur 32 bits sont la norme, mais leur conversion en valeurs sur 16 ou 8 bits peut améliorer l'efficacité. Il existe deux principaux types 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, en équilibrant la réduction de taille et la précision. La quantification des activations réduit la précision des activations, diminuant davantage les besoins en mémoire et en calcul.

Quantification d'un nombre flottant sur 32 bits en entier sur 8 bits

Fig. 4. Exemple de quantification d'un nombre flottant sur 32 bits en entier sur 8 bits.

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

La précision mixte est une technique qui utilise différentes précisions numériques pour diverses parties d'un réseau neuronal. En combinant des valeurs de précision supérieure, comme les nombres flottants sur 32 bits, avec des valeurs de précision inférieure, comme les nombres flottants sur 16 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 l'entraînement, la précision mixte est obtenue en utilisant une précision inférieure dans certaines couches tout en conservant une précision supérieure là où elle est nécessaire dans le réseau. Cela s'effectue par transtypage et mise à l'échelle de la perte. Le transtypage 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 afin d'éviter le sous-dépassement numérique et de garantir la stabilité de l'entraînement. La précision mixte est particulièrement utile pour les grands modèles et les grandes tailles de lot.

Entraînement en précision mixte avec les types à virgule flottante FP16 et FP32

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é des modèles#

Maintenant que nous avons couvert plusieurs techniques d'optimisation des modèles, voyons comment choisir celle à 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, ainsi que le niveau de précision requis.

Par exemple, les modèles plus petits et plus rapides sont mieux adaptés aux appareils mobiles disposant de ressources limitées, tandis que les modèles plus grands et plus précis peuvent être utilisés sur des systèmes hautes performances. Voici comment chaque technique correspond à différents objectifs :

  • Élagage : Il est idéal pour réduire la taille du modèle sans affecter sensiblement la précision, ce qui le rend parfait pour les appareils aux ressources limitées, comme les téléphones mobiles ou les appareils de l'Internet des objets (IoT).
  • Quantification : C'est 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 disposant d'une mémoire et d'une puissance de calcul limitées. Elle convient bien aux applications dans lesquelles une légère baisse de précision est acceptable.
  • 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 comme les GPU et les TPUs prenant en charge les opérations en précision mixte. Elle est souvent utilisée pour les tâches hautes performances où l'efficacité est importante.
  • Réglage des hyperparamètres : Bien qu'il soit coûteux en calcul, il est essentiel pour les applications qui nécessitent une grande précision, comme l'imagerie médicale ou la conduite autonome.

Points clés à retenir#

L'optimisation des modèles est un élément essentiel du machine learning, en particulier pour déployer l'IA dans des applications concrètes. Des techniques comme le réglage des hyperparamètres, l'élagage des modèles, la quantification et la précision mixte contribuent à améliorer les performances, l'efficacité et l'utilisation des ressources des modèles de vision par ordinateur. Ces optimisations rendent les modèles plus rapides et moins gourmands en ressources, ce qui est idéal pour les appareils disposant d'une mémoire et d'une puissance de calcul limitées. Les modèles optimisés sont également plus faciles à mettre à l'échelle et à déployer sur différentes plateformes, ce qui permet de créer des solutions d'IA à la fois efficaces et adaptables à un large éventail d'utilisations.

Consulte le dépôt GitHub d'Ultralytics et rejoins notre communauté pour en savoir plus sur les applications de l'IA dans l'industrie manufacturière et l'agriculture.

Explore solutions

Vision par ordinateur pour l'imagerie aérienne

Vision par ordinateur pour l'imagerie aérienne

Transforme les images de drones et aériennes en informations en temps réel pour l'agriculture, l'aquaculture, la surveillance environnementale, la conservation et l'analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l'aérospatiale

Vision par ordinateur dans l'aérospatiale

Apporte l'IA de vision à la surveillance aérienne grâce aux modèles Ultralytics YOLO. Alimente les drones, les flux de travail aérospatiaux, la conservation de l'environnement et les industries géospatiales avec des solutions de vision par ordinateur.
En savoir plus

Protège chaque site avec les modèles Ultralytics YOLO. L'IA de vision alimente la surveillance du périmètre, la détection des menaces, la reconnaissance des plaques d'immatriculation et la sécurité au travail.
En savoir plus
Vision par ordinateur en robotique

Vision par ordinateur en robotique

Donne plus d’intelligence à tes machines avec les modèles Ultralytics YOLO. L’IA visuelle en robotique permet la navigation autonome, la perception, le suivi d’objets et le contrôle en temps réel.
En savoir plus
Vision par ordinateur en logistique

Vision par ordinateur en logistique

Optimise la logistique avec les modèles Ultralytics YOLO. L’IA visuelle 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
Vision par ordinateur dans le commerce de détail

Vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. L’IA visuelle permet le suivi des stocks, la surveillance des rayons, la gestion des files d’attente et l’obtention d’informations plus pertinentes sur les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Développe des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans le secteur de la santé accélère l'imagerie médicale, améliore les diagnostics et renforce la surveillance des patients.
En savoir plus
La vision par ordinateur dans l'industrie manufacturière

La vision par ordinateur dans l'industrie manufacturière

Optimise la production industrielle avec les modèles Ultralytics YOLO. L'IA de vision améliore le contrôle qualité, la détection des défauts, le respect des règles relatives aux EPI et l'automatisation des lignes d'assemblage.
En savoir plus
Vision par ordinateur dans l’automobile

Vision par ordinateur dans l’automobile

Applique la vision par ordinateur à l’automobile avec les modèles Ultralytics YOLO. L’IA de vision améliore la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Apporte 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
Vision par ordinateur pour l'imagerie aérienne

Vision par ordinateur pour l'imagerie aérienne

Transforme les images de drones et aériennes en informations en temps réel pour l'agriculture, l'aquaculture, la surveillance environnementale, la conservation et l'analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l'aérospatiale

Vision par ordinateur dans l'aérospatiale

Apporte l'IA de vision à la surveillance aérienne grâce aux modèles Ultralytics YOLO. Alimente les drones, les flux de travail aérospatiaux, la conservation de l'environnement et les industries géospatiales avec des solutions de vision par ordinateur.
En savoir plus

Protège chaque site avec les modèles Ultralytics YOLO. L'IA de vision alimente la surveillance du périmètre, la détection des menaces, la reconnaissance des plaques d'immatriculation et la sécurité au travail.
En savoir plus
Vision par ordinateur en robotique

Vision par ordinateur en robotique

Donne plus d’intelligence à tes machines avec les modèles Ultralytics YOLO. L’IA visuelle en robotique permet la navigation autonome, la perception, le suivi d’objets et le contrôle en temps réel.
En savoir plus
Vision par ordinateur en logistique

Vision par ordinateur en logistique

Optimise la logistique avec les modèles Ultralytics YOLO. L’IA visuelle 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
Vision par ordinateur dans le commerce de détail

Vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. L’IA visuelle permet le suivi des stocks, la surveillance des rayons, la gestion des files d’attente et l’obtention d’informations plus pertinentes sur les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Développe des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans le secteur de la santé accélère l'imagerie médicale, améliore les diagnostics et renforce la surveillance des patients.
En savoir plus
La vision par ordinateur dans l'industrie manufacturière

La vision par ordinateur dans l'industrie manufacturière

Optimise la production industrielle avec les modèles Ultralytics YOLO. L'IA de vision améliore le contrôle qualité, la détection des défauts, le respect des règles relatives aux EPI et l'automatisation des lignes d'assemblage.
En savoir plus
Vision par ordinateur dans l’automobile

Vision par ordinateur dans l’automobile

Applique la vision par ordinateur à l’automobile avec les modèles Ultralytics YOLO. L’IA de vision améliore la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Apporte 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
Vision par ordinateur pour l'imagerie aérienne

Vision par ordinateur pour l'imagerie aérienne

Transforme les images de drones et aériennes en informations en temps réel pour l'agriculture, l'aquaculture, la surveillance environnementale, la conservation et l'analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l'aérospatiale

Vision par ordinateur dans l'aérospatiale

Apporte l'IA de vision à la surveillance aérienne grâce aux modèles Ultralytics YOLO. Alimente les drones, les flux de travail aérospatiaux, la conservation de l'environnement et les industries géospatiales avec des solutions de vision par ordinateur.
En savoir plus

Protège chaque site avec les modèles Ultralytics YOLO. L'IA de vision alimente la surveillance du périmètre, la détection des menaces, la reconnaissance des plaques d'immatriculation et la sécurité au travail.
En savoir plus
Vision par ordinateur en robotique

Vision par ordinateur en robotique

Donne plus d’intelligence à tes machines avec les modèles Ultralytics YOLO. L’IA visuelle en robotique permet la navigation autonome, la perception, le suivi d’objets et le contrôle en temps réel.
En savoir plus
Vision par ordinateur en logistique

Vision par ordinateur en logistique

Optimise la logistique avec les modèles Ultralytics YOLO. L’IA visuelle 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
Vision par ordinateur dans le commerce de détail

Vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. L’IA visuelle permet le suivi des stocks, la surveillance des rayons, la gestion des files d’attente et l’obtention d’informations plus pertinentes sur les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Développe des solutions de santé avec les modèles Ultralytics YOLO. L'IA de vision dans le secteur de la santé accélère l'imagerie médicale, améliore les diagnostics et renforce la surveillance des patients.
En savoir plus
La vision par ordinateur dans l'industrie manufacturière

La vision par ordinateur dans l'industrie manufacturière

Optimise la production industrielle avec les modèles Ultralytics YOLO. L'IA de vision améliore le contrôle qualité, la détection des défauts, le respect des règles relatives aux EPI et l'automatisation des lignes d'assemblage.
En savoir plus
Vision par ordinateur dans l’automobile

Vision par ordinateur dans l’automobile

Applique la vision par ordinateur à l’automobile avec les modèles Ultralytics YOLO. L’IA de vision améliore la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Apporte 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 l'avenir de l'IA !

Commence ton parcours vers l'avenir de l'apprentissage automatique