Qu’est-ce que l’optimisation de modèle ? Petit guide
Découvre comment des techniques d’optimisation de modèles comme le réglage des hyperparamètres, l’élagage et la quantification peuvent améliorer l’efficacité d’exécution des modèles de vision par ordinateur.
Abirami Vina10 min de lecture
L’optimisation des modèles est un processus qui vise à 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 ont souvent besoin de ressources considérables pour analyser des images complexes. Dans les environnements aux ressources limitées, comme les appareils mobiles ou les systèmes périphériques, les modèles optimisés peuvent fonctionner efficacement avec peu de ressources 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.
Comprendre l’optimisation de modèle#
Les modèles de vision par ordinateur comportent généralement des couches profondes et des structures complexes, idéales pour reconnaître des motifs complexes dans les images, mais ils peuvent aussi être très gourmands en puissance de calcul. Lorsque ces modèles sont déployés sur des appareils aux capacités matérielles limitées, comme les téléphones mobiles ou les appareils périphériques, 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 une baisse notable des performances, car les modèles peinent à suivre. Les techniques d’optimisation des modèles sont essentielles pour résoudre ces problèmes. Elles permettent d’alléger le modèle, de réduire ses besoins en calcul et de garantir qu’il fonctionne efficacement malgré des ressources limitées. On peut optimiser un modèle en simplifiant son architecture, en réduisant la précision numérique des calculs ou en supprimant les composants superflus pour le rendre 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 des modèles les plus courantes, que nous examinerons plus en détail dans les sections suivantes :
- Réglage des hyperparamètres : cette méthode consiste à ajuster systématiquement les hyperparamètres, comme le taux d’apprentissage et la taille de lot, afin d’améliorer les performances du modèle.
- Élagage de modèle : cette technique supprime les poids et les connexions inutiles du réseau neuronal, ce qui en réduit la complexité et le coût de calcul.
- Quantification des modèles : la quantification consiste à réduire la précision des poids et des activations du modèle, généralement de 32 bits à 16 ou 8 bits, ce qui réduit considérablement l’empreinte mémoire et les besoins en calcul.
- Ajustement de la précision : également appelé entraînement à 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 des hyperparamètres dans les modèles d’apprentissage automatique#
Tu peux aider un modèle à apprendre et à mieux fonctionner en réglant ses hyperparamètres, c’est-à-dire les paramètres qui déterminent comment 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 appris par le modèle pendant l’entraînement, les hyperparamètres sont des valeurs prédéfinies qui orientent le processus d’entraînement.
Voyons quelques exemples d’hyperparamètres que tu peux régler :
- Taux d’apprentissage : ce paramètre détermine la taille des pas effectués par le modèle pour ajuster ses poids internes. Un taux d’apprentissage plus élevé peut accélérer l’apprentissage, mais risque de faire manquer la solution optimale ; un taux plus faible peut donner des résultats plus précis, mais prend plus de temps.
- Taille de lot : elle définit le nombre d’échantillons de données traités à chaque étape d’entraînement. Les lots plus grands assurent 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’ensemble du jeu de données. Un plus grand nombre d’époques peut améliorer la précision, mais comporte un risque de surapprentissage.
- Taille du noyau : elle définit la taille du filtre dans les réseaux de neurones convolutifs (CNNs). Les noyaux plus grands capturent des motifs plus larges, mais nécessitent davantage de calcul ; les noyaux plus petits se concentrent sur les détails plus fins.
Fonctionnement du 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 dans ces plages afin de trouver les paramètres qui offrent 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 de valeurs possibles dans les plages définies. 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, les performances du modèle sont évaluées pour chaque combinaison d’hyperparamètres. Le processus est répété jusqu’à l’obtention des résultats souhaités.
Hyperparamètres et paramètres du modèle#
Lorsque tu règles les 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 façon 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 évoluent au fil de l’entraînement et orientent finalement les prédictions du modèle. En bref, les hyperparamètres façonnent le parcours d’apprentissage, tandis que les paramètres du modèle sont le résultat de ce processus.

Fig. 2. Comparaison des paramètres et des hyperparamètres.
Pourquoi l’élagage de modèle est important en apprentissage profond#
L’élagage des modèles est une technique de réduction de taille qui supprime les poids et paramètres superflus d’un modèle pour le rendre plus efficace. En vision par ordinateur, en particulier dans 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 accroître à la fois la complexité et les besoins en calcul. L’élagage allège le modèle en repérant et en supprimant les paramètres qui contribuent peu aux performances, ce qui permet d’obtenir un modèle plus léger et plus efficace.

Fig. 3 Avant et après l’élagage du modèle.
Une fois le modèle entraîné, des techniques comme l’élagage fondé sur l’amplitude ou l’analyse de sensibilité permettent d’évaluer l’importance de chaque paramètre. Les paramètres peu importants sont ensuite élagués selon l’une des trois principales techniques : l’élagage des poids, l’élagage des neurones ou l’élagage structuré.
L’élagage des poids supprime les connexions individuelles qui ont un impact minimal sur la sortie. L’élagage des neurones supprime les neurones entiers dont les sorties contribuent peu au fonctionnement du modèle. L’élagage structuré élimine des sections plus importantes, comme les filtres convolutifs 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 et garantir 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 les valeurs à virgule flottante de haute précision sur 32 bits en valeurs de précision inférieure, comme des flottants sur 16 bits ou des entiers sur 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 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 celle 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 encore davantage les besoins en mémoire et en calcul.

Fig. 4 Exemple de quantification d’un flottant 32 bits en entier 8 bits.
Comment la précision mixte accélère les inférences en 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 des flottants sur 32 bits, avec des valeurs de précision inférieure, comme des 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 consiste à utiliser une précision inférieure dans certaines couches tout en conservant une précision supérieure aux endroits où elle est nécessaire dans le réseau. Pour cela, on utilise le transtypage et la 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 pour éviter le sous-dépassement numérique et garantir un entraînement stable. La précision mixte est particulièrement utile pour les grands modèles et les grandes tailles de lot.

Fig. 5 L’entraînement en précision mixte utilise des types à virgule flottante 16 bits (FP16) et 32 bits (FP32).
Équilibrer la précision et l’efficacité des modèles#
Maintenant que nous avons passé en revue plusieurs techniques d’optimisation des modèles, voyons comment choisir celle qui répond à tes besoins spécifiques. Le choix dépend de facteurs comme 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 aux 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 répond à différents objectifs :
- Élagage : idéal pour réduire la taille du modèle sans nuire considérablement à sa précision, ce qui en fait une solution parfaite pour les appareils aux ressources limitées, comme les téléphones mobiles 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 aux capacités de mémoire et de calcul limitées. Elle convient bien aux applications qui tolèrent une légère baisse de précision.
- 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 TPU qui prennent en charge les opérations en précision mixte. Elle est souvent utilisée pour les tâches hautes performances où l’efficacité compte.
- Réglage des hyperparamètres : bien que gourmand en calcul, il est essentiel pour les applications qui exigent une grande précision, comme l’imagerie médicale ou la conduite autonome.
Points clés à retenir#
L’optimisation des modèles est un aspect essentiel de l’apprentissage automatique, 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 de peu de mémoire et de puissance de calcul. 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 efficaces et adaptables à un large éventail 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 l’industrie manufacturière et l’agriculture.
Écrit par
Commentaires
Pose une question, partage tes résultats ou aide quelqu’un.










