Contrôle vert
Lien copié dans le presse-papiers

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

Apprends comment les techniques d'optimisation des modèles telles que l'ajustement 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.

L'optimisation des modèles est un processus qui vise à améliorer l'efficacité et les performances des modèles d'apprentissage automatique. En affinant la structure et la fonction d'un modèle, l'optimisation permet aux modèles de fournir de meilleurs résultats avec un minimum de ressources informatiques et un temps de formation et d'évaluation réduit.

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 à ressources limitées comme les appareils mobiles ou les systèmes périphériques, les modèles optimisés peuvent fonctionner correctement avec des ressources limitées tout en restant précis.

Plusieurs techniques sont couramment utilisées pour réaliser l'optimisation des modèles, notamment l'ajustement 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 des modèles

Les modèles de vision par ordinateur comportent généralement des couches profondes et des structures complexes qui sont parfaites pour reconnaître des motifs complexes dans les images, mais ils peuvent aussi être assez exigeants en termes de puissance de traitement. Lorsque ces modèles sont déployés sur des appareils au matériel limité, comme les téléphones portables ou les appareils périphériques, ils peuvent être confrontés à certains défis ou limitations. 

La puissance de traitement, la mémoire et l'énergie limitées de ces appareils peuvent entraîner des baisses de performance notables, car les modèles ont du mal à suivre. Les techniques d'optimisation des modèles sont essentielles pour résoudre ces problèmes. Elles permettent de rationaliser le modèle, de réduire ses besoins en calcul et de s'assurer qu'il peut toujours fonctionner efficacement, même avec des ressources limitées. L'optimisation du modèle peut se faire 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.

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 explorerons 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 du lot, afin d'améliorer les performances du modèle.
  • Taille des modèles: Cette technique permet de supprimer les poids et les connexions inutiles du réseau neuronal, ce qui réduit 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 permet de réduire considérablement l'empreinte mémoire et les besoins de calcul.
  • Ajustements de précision: Également connu sous le nom d'entraînement à la précision mixte, il s'agit d'utiliser différents formats de précision pour différentes parties du modèle et d'optimiser l'utilisation des ressources sans compromettre la précision.

Expliqué : Hyperparamètres dans les modèles d'apprentissage automatique

Tu peux aider un modèle à apprendre et à être plus performant en réglant ses hyperparamètres - des paramètres qui déterminent la façon dont le modèle apprend à partir des données. Le réglage des hyperparamètres est une technique qui permet 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 au cours de la formation, les hyperparamètres sont des valeurs prédéfinies qui guident le processus de formation.

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

  • Taux d'apprentissage: Ce paramètre contrôle la taille du pas que prend le modèle pour ajuster ses poids internes. Un taux d'apprentissage plus élevé peut accélérer l'apprentissage mais risque de manquer 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 de la formation. Les lots plus importants offrent un apprentissage plus stable mais nécessitent plus de mémoire. Les lots plus petits permettent un apprentissage plus rapide mais peuvent être moins stables.
  • Époques: ce paramètre te permet de déterminer combien de fois le modèle voit l'ensemble des données à l'aide de ce paramètre. Un plus grand nombre d'époques peut améliorer la précision mais risque d'entraîner un surajustement.
  • Taille du noyau : Elle définit la taille du filtre dans les réseaux neuronaux convolutifs (CNN). Des noyaux plus grands capturent des modèles 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 à l'intérieur de ces fourchettes pour identifier les paramètres qui produisent les meilleures performances. 

Les méthodes de réglage courantes comprennent la recherche par grille, la recherche aléatoire et l'optimisation bayésienne. La recherche par grille teste toutes les combinaisons possibles de valeurs dans les plages spécifiées. La recherche aléatoire sélectionne des combinaisons au hasard, ce qui permet souvent de trouver des paramètres efficaces plus rapidement. L'optimisation bayésienne utilise un modèle probabiliste pour prédire les valeurs prometteuses des hyperparamètres en fonction 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, la performance du modèle est évaluée. Le processus est répété jusqu'à ce que les résultats souhaités soient atteints.

Hyperparamètres et paramètres du modèle

En travaillant 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 la formation qui contrôlent la façon dont le modèle apprend, comme le taux d'apprentissage ou la taille du lot. Ces paramètres sont fixés pendant la formation 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 la formation. Il s'agit notamment des poids et des biais, qui s'ajustent au fur et à mesure que le modèle s'entraîne et qui, en fin de compte, guident ses prédictions. Essentiellement, 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.

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

Pourquoi l'élagage des modèles est important dans l'apprentissage profond.

L'élagage des modèles est une technique de réduction de la taille qui supprime les poids et les paramètres inutiles d'un modèle, le rendant ainsi plus efficace. Dans le domaine de la vision par ordinateur, en particulier avec les réseaux neuronaux profonds, un grand nombre de paramètres, comme les poids et les activations (sorties intermédiaires qui aident à calculer la sortie finale), peut augmenter à la fois la complexité et les demandes de calcul. L'élagage permet de rationaliser le modèle en identifiant et en supprimant les paramètres qui contribuent de façon minimale aux performances, ce qui permet d'obtenir un modèle plus léger et plus efficace.

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

Une fois le modèle formé, des techniques telles que l'élagage basé sur l'amplitude ou l'analyse de sensibilité permettent d'évaluer l'importance de chaque paramètre. Les paramètres de faible importance sont ensuite élagués, à l'aide de l'une des trois techniques principales : l'élagage par le poids, l'élagage par les 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 à la fonction du modèle. L'élagage structuré élimine des sections plus importantes, comme les filtres convolutifs 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 affiner les paramètres restants, ce qui lui permet de conserver une grande précision sous une forme réduite.

Réduire la latence dans les modèles d'IA grâce à 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 de 32 bits de haute précision en valeurs de moindre précision, telles que des nombres entiers de 16 bits ou de 8 bits. En réduisant la précision des bits, la quantification diminue considérablement la taille du modèle, l'empreinte mémoire et le coût de calcul.

Dans le domaine de la vision par ordinateur, les nombres flottants de 32 bits sont la norme, mais la conversion en 16 bits ou 8 bits peut améliorer l'efficacité. Il existe deux principaux types de quantification : la quantification de poids et la quantification d'activation. La quantification du poids réduit la précision des poids du modèle, ce qui permet d'équilibrer la réduction de la taille et la précision. La quantification de l'activation réduit la précision des activations, ce qui permet de réduire encore davantage les besoins en mémoire et en calcul.

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

Comment la précision mixte accélère les inférences de l'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 plus haute précision, comme les nombres flottants de 32 bits, avec des valeurs de plus faible précision, comme les nombres flottants de 16 ou 8 bits, la précision mixte permet aux modèles de vision par ordinateur d'accélérer la formation et de réduire l'utilisation de la mémoire sans sacrifier la précision.

Pendant la formation, la précision mixte est obtenue en utilisant une précision plus faible dans des couches spécifiques tout en conservant une précision plus élevée là où c'est nécessaire dans l'ensemble du réseau. Cela se fait par le biais du moulage et de la mise à l'échelle des pertes. Le moulage convertit les types de données entre les différentes précisions requises par le modèle. La mise à l'échelle des pertes ajuste la précision réduite afin d'éviter tout débordement numérique, ce qui garantit une formation stable. La précision mixte est particulièrement utile pour les grands modèles et les lots de grande taille.

Fig 5. La formation à la précision mixte utilise à la fois des types de virgule flottante de 16 bits (FP16) et de 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, voyons comment 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, les modèles plus petits et plus rapides conviennent mieux aux appareils mobiles dont les ressources sont limitées, tandis que les modèles plus grands et plus précis peuvent être utilisés sur des systèmes très performants. Voici comment chaque technique s'aligne sur différents objectifs:

  • Élagage : Il est idéal pour réduire la taille des modèles sans avoir un impact significatif sur la précision, ce qui le rend parfait pour les appareils à 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 dont la mémoire et la puissance de traitement sont 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 la formation sur du matériel comme 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 de haute performance où l'efficacité compte.
  • Réglage des hyperparamètres: Bien qu'il soit très gourmand en calculs, il est essentiel pour les applications qui nécessitent une grande précision, comme l'imagerie médicale ou la conduite autonome.

Principaux enseignements

L'optimisation des modèles est une partie essentielle de l'apprentissage automatique, en particulier pour le déploiement de l'IA dans les applications du monde réel. Des techniques comme le réglage des hyperparamètres, l'élagage des modèles, la quantification et la précision mixte permettent d'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 dont la mémoire et la puissance de traitement sont 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 mettre en place des solutions d'IA à la fois efficaces et adaptables à un large éventail d'utilisations.

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

Logo FacebookLogo de TwitterLogo LinkedInSymbole du lien de copie

Lire la suite dans cette catégorie

Construisons ensemble le futur
de l'IA !

Commence ton voyage avec le futur de l'apprentissage automatique.