Glossaire

Taille des modèles

Optimise les modèles d'apprentissage automatique avec l'élagage des modèles : réduis la taille, augmente la vitesse et économise de l'énergie pour des déploiements efficaces sur n'importe quel appareil.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

L'élagage des modèles est une technique d'optimisation puissante utilisée dans l'apprentissage automatique pour réduire la taille et la complexité des modèles sans avoir d'impact significatif sur leurs performances. Ce processus consiste à supprimer les paramètres redondants ou moins importants, tels que les poids et les connexions, d'un réseau neuronal entraîné. En rationalisant l'architecture du modèle, l'élagage peut conduire à des temps d'inférence plus rapides, à une moindre utilisation de la mémoire et à une réduction de la consommation d'énergie, ce qui le rend particulièrement précieux pour le déploiement de modèles sur des appareils aux ressources limitées tels que les smartphones ou les systèmes embarqués.

Pourquoi utiliser l'élagage par modélisation ?

L'élagage des modèles offre plusieurs avantages clés aux praticiens de l'apprentissage automatique. Tout d'abord, il peut réduire considérablement la taille d'un modèle entraîné, ce qui le rend plus facile à stocker et à déployer, en particulier sur les appareils dont la capacité de stockage est limitée. Deuxièmement, les modèles plus petits conduisent généralement à des vitesses d'inférence plus rapides, car il y a moins de calculs à effectuer pendant la prédiction. Ceci est crucial pour les applications en temps réel telles que la détection d'objets dans les véhicules autonomes ou l'analyse de vidéos en direct. Troisièmement, l'élagage peut contribuer à réduire la consommation d'énergie, ce qui est particulièrement important pour les appareils alimentés par batterie et les centres de données à grande échelle.

Types d'élagage des modèles

Il existe deux catégories principales d'élagage de modèles :

  • Élagage non structuré : Cette approche supprime les poids individuels ou les connexions du réseau en fonction de leur importance. Bien qu'elle permette d'atteindre des niveaux élevés d'éparpillement, elle nécessite souvent un matériel ou un logiciel spécialisé pour réaliser les avantages en termes de performances en raison de la structure irrégulière du modèle élagué.
  • Élagage structuré : Cette méthode supprime du réseau des groupes entiers de poids, tels que des neurones ou des canaux. Cela permet de conserver une structure plus régulière, ce qui facilite l'accélération sur du matériel standard. L'élagage structuré est souvent préféré pour les applications pratiques en raison de sa compatibilité avec les optimisations matérielles et logicielles existantes.

Techniques de taille des modèles

Plusieurs techniques peuvent être utilisées pour déterminer les paramètres à élaguer :

  • Élagage basé sur l'amplitude : Il s'agit de l'approche la plus simple, qui consiste à supprimer les poids dont la valeur absolue est la plus faible. L'idée est que les poids proches de zéro contribuent moins au calcul global.
  • Élagage basé sur la sensibilité : Cette méthode analyse l'impact de la suppression d'un poids sur la fonction de perte du modèle. Les poids qui ont un impact minimal sur la perte sont considérés comme moins importants et sont élagués.
  • Élagage itératif : Cette technique consiste à élaguer de façon répétée un petit pourcentage de poids, puis à réentraîner le modèle pour récupérer toute précision perdue. Ce processus se poursuit jusqu'à ce que le niveau d'éparpillement souhaité soit atteint.

L'élagage des modèles par rapport à d'autres techniques d'optimisation

L'élagage des modèles est souvent utilisé en conjonction avec d'autres techniques d'optimisation telles que la quantification des modèles et la distillation des connaissances. Alors que l'élagage se concentre sur la réduction de la taille du modèle en supprimant des paramètres, la quantification réduit la précision des paramètres restants (par exemple, de 32 bits à 8 bits). La distillation des connaissances, quant à elle, consiste à former un modèle "élève" plus petit pour qu'il imite le comportement d'un modèle "enseignant" plus grand. Ces techniques peuvent être combinées pour atteindre des niveaux d'optimisation encore plus élevés.

Applications concrètes de l'élagage des modèles

L'élagage des modèles a trouvé des applications dans divers domaines, en particulier lorsque le déploiement de grands modèles est difficile :

  • Appareils mobiles : L'élagage permet de déployer des modèles complexes de vision par ordinateur sur des smartphones pour des tâches telles que la reconnaissance d'images et la réalité augmentée. Par exemple, un modèle élagué Ultralytics YOLO peut fonctionner efficacement sur un appareil mobile, offrant des capacités de détection d'objets en temps réel sans épuiser la batterie. Apprends à utiliser les modèlesUltralytics YOLO sur les appareils mobiles.
  • Dispositifs de périphérie : Dans les applications de l'Internet des objets (IoT ), l'élagage permet de déployer des modèles d'IA sur des appareils de périphérie aux ressources limitées, comme les caméras et les capteurs. Cela permet un traitement en temps réel des données à la source, ce qui réduit le besoin de communication constante avec le cloud et améliore la confidentialité. Par exemple, un modèle élagué peut être utilisé pour la détection d'anomalies en temps réel dans les milieux industriels, en s'exécutant directement sur les systèmes embarqués des machines.

Conclusion

L'élagage des modèles est une technique précieuse pour optimiser les modèles d'apprentissage automatique, en particulier pour le déploiement dans des environnements à ressources limitées. En réduisant la taille et la complexité des modèles, l'élagage peut permettre une inférence plus rapide, une utilisation moindre de la mémoire et une réduction de la consommation d'énergie. Le site Web Ultralytics propose une gamme de solutions et d'outils pour aider les utilisateurs à optimiser leurs modèles, y compris des options pour l'élagage et d'autres techniques. Que tu déploies des modèles sur des appareils mobiles, des appareils périphériques ou dans le cloud, la compréhension et l'application de l'élagage des modèles peuvent considérablement améliorer l'efficacité et la praticité de tes applications d'apprentissage automatique.

Tout lire