Découvre YOLO26 : l'IA de vision de nouvelle génération.
Ultralytics
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 Vina
5 min read
Techniques d'optimisation de modèles pour la vision par ordinateur

L'optimisation de modèle 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 aux modèles de fournir de meilleurs résultats avec un minimum de ressources computationnelles et un temps réduit de training et d'evaluation.

Ce processus est particulièrement important dans des domaines comme la computer vision, où les models nécessitent souvent des ressources substantielles pour analyser des complex images. Dans des environnements aux ressources limitées comme les mobile devices ou les systèmes en périphérie, 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 parvenir à l'optimisation de modèle, notamment le réglage des hyperparamètres, l'élagage de modèle, la quantification de modèle et la précision mixte. Dans cet article, nous explorerons ces techniques et les avantages qu'elles apportent aux computer vision applications. Commençons !

Link to this sectionComprendre l'optimisation de modèle#

Les computer vision models possèdent généralement des deep layers et des structures complexes qui sont excellentes pour reconnaître des motifs complexes dans les images, mais elles peuvent aussi être très exigeantes en termes de processing power. Lorsque ces modèles sont deployed sur des appareils avec un matériel limité, comme des mobile phones ou des edge devices, ils peuvent faire face à certains défis ou limitations.

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

Diagramme des raisons pour optimiser tes modèles

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

Voici certaines des techniques d'optimization de modèle les plus courantes, que nous explorerons plus en détail dans les sections suivantes :

  • Hyperparameter tuning : Cela implique d'ajuster systématiquement les hyperparamètres, tels que le taux d'apprentissage et la taille du lot (batch size), pour améliorer la performance du modèle.
  • Model pruning : Cette technique supprime les poids et connexions inutiles du réseau neuronal, réduisant ainsi sa complexité et son coût computationnel.
  • Model quantization : La quantification implique de 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 exigences computationnelles.
  • Precision adjustments : Également connu sous le nom de training en précision mixte, cela implique l'utilisation de différents formats de précision pour différentes parties du modèle et l'optimisation de l'utilisation des ressources sans compromettre la précision.

Link to this sectionExplication : Les hyperparamètres dans les modèles de machine learning#

Tu peux aider un modèle à apprendre et à être plus performant en réglant ses hyperparamètres - des paramètres qui façonnent la façon dont le modèle apprend à partir des données. Le hyperparameter tuning est une technique pour optimiser ces paramètres, améliorant l'efficacité et la accuracy du modèle. Contrairement aux paramètres que le modèle apprend pendant le training, les hyperparamètres sont des valeurs prédéfinies qui guident le processus de training.

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

  • Learning rate : 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 manquer la solution optimale, tandis qu'un taux plus bas peut être plus précis mais plus lent.
  • Batch size : Il définit combien d'échantillons de données sont traités à chaque étape de training. Des tailles de lot 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.
  • Epochs : Tu peux déterminer combien de fois le modèle voit l'ensemble du dataset en utilisant ce paramètre. Plus d'époques peuvent améliorer la précision mais risquent le overfitting.
  • Taille du noyau (Kernel size) : Il définit la taille du filtre dans les Convolutional Neural Networks (CNNs). 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.

Link to this sectionComment fonctionne le réglage des hyperparamètres#

L'ajustement 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 réglages qui produisent la meilleure performance.

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, la performance du modèle est évaluée. Le processus est répété jusqu'à ce que les résultats souhaités soient atteints.

Link to this sectionHyperparamètres vs. paramètres de modèle#

Pendant que tu travailles sur l'ajustement 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, comme le taux d'apprentissage ou la taille du lot. Ces réglages 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 au cours de l'entraînement. Ils incluent les poids et les biais, qui s'ajustent à mesure que le modèle s'entraîne et guident finalement ses prédictions. En substance, 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.

Comparaison des paramètres et hyperparamètres

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

Link to this sectionPourquoi l'élagage de modèle est important dans le deep learning#

Model pruning est une technique de réduction de taille qui supprime les poids et paramètres inutiles d'un modèle, le rendant plus efficace. Dans la computer vision, surtout avec des neural networks profonds, un grand nombre de paramètres, comme les poids et les activations (sorties intermédiaires qui aident à calculer la sortie finale), peuvent augmenter à la fois la complexité et les exigences computationnelles. L'élagage aide à rationaliser le modèle en identifiant et en supprimant les paramètres qui contribuent minimalement à la performance, ce qui résulte en un modèle plus léger et efficace.

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

Fig3. Avant et après élagage de 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 larges, comme les filtres de convolution ou les neurones dans les couches entièrement connectées, optimisant l'efficacité du modèle. Une fois l'élagage terminé, le modèle est réentraîné pour fine-tune les paramètres restants, garantissant qu'il conserve une grande précision sous une forme réduite.

Link to this sectionRéduire la latence dans les modèles IA avec la quantification#

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

Dans la computer vision, les flottants 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 abaisse la précision des poids du modèle, équilibrant la réduction de taille avec la précision. La quantification des activations réduit la précision des activations, diminuant davantage les demandes de mémoire et de calcul.

Quantification de flottant 32 bits à entier 8 bits

Fig 4. Un exemple de quantification de flottant 32 bits à entier 8 bits.

Link to this sectionComment la précision mixte accélère les inférences IA#

Mixed precision est une technique qui utilise différentes précisions numériques pour diverses parties d'un neural network. En combinant des valeurs de précision supérieure, comme les flottants 32 bits, avec des valeurs de précision inférieure, comme les flottants 16 bits ou 8 bits, la précision mixte permet aux computer vision models d'accélérer le training 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.

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

Fig 5. Le training en précision mixte utilise à la fois des types de flottants 16 bits (FP16) et 32 bits (FP32).

Link to this sectionÉquilibrer la précision et l'efficacité du modèle#

Maintenant que nous avons couvert plusieurs techniques d'optimisation de modèle, discutons de la façon de décider laquelle utiliser en fonction de tes besoins spécifiques. Le choix dépend de facteurs comme le hardware disponible, les contraintes computationnelles et de mémoire de l'deployment environment, et le niveau de précision requis.

Par exemple, les modèles plus petits et plus rapides sont mieux adaptés aux appareils mobiles avec des 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 avec different goals :

  • 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).
  • Quantization : Une excellente option pour réduire la taille du modèle et accélérer l'inference, particulièrement sur les appareils mobiles et les embedded systems avec une mémoire et une puissance de traitement limitées. Cela fonctionne bien pour les applications où de légères réductions de précision sont acceptables.
  • Mixed precision : Conçue pour les modèles à grande échelle, cette technique réduit l'utilisation de la mémoire et accélère le training sur du matériel comme les GPU et les TPUs qui supportent les opérations en précision mixte. Elle est souvent utilisée dans les tâches haute performance où l'efficacité est importante.
  • Hyperparameter tuning : Bien qu'intensive en calcul, elle est essentielle pour les applications qui nécessitent une grande précision, comme l'medical imaging ou la autonomous driving.

Link to this sectionPoints 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 GitHub repository d'Ultralytics et rejoins notre community pour en savoir plus sur les applications de l'IA dans le manufacturing 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