Optimise les modèles d'IA avec l'élagage : réduis la complexité, stimule l'efficacité et déploie plus rapidement sur les appareils périphériques sans sacrifier les performances.
L'élagage est une technique d'optimisation de modèle utilisée en intelligence artificielle (IA) et en apprentissage automatique (ML) pour réduire la taille et la complexité informatique des modèles entraînés. Elle consiste à supprimer de manière sélective les paramètres, tels que les poids ou les connexions au sein d'un réseau neuronal (NN), qui sont identifiés comme moins importants ou redondants pour la tâche du modèle. L'objectif principal est de créer des modèles plus petits et plus rapides qui nécessitent moins de ressources informatiques et de mémoire, idéalement sans diminution significative des performances ou de la précision. Ce processus est un élément clé du déploiement efficace des modèles, en particulier sur les appareils aux capacités limitées. Si "élagage" est le terme général,"élagage des modèles" fait spécifiquement référence à l'application de cette technique aux modèles ML.
À mesure que les modèles d'apprentissage profond (DL) deviennent plus grands et plus complexes pour s'attaquer à des tâches sophistiquées, leur demande en puissance de calcul, en stockage et en énergie augmente considérablement. L'élagage s'attaque directement à ce défi en rendant les modèles plus légers et plus efficaces. Cette optimisation présente plusieurs avantages : réduction des besoins en stockage, réduction de la consommation d'énergie pendant le fonctionnement et diminution de la latence de l'inférence, ce qui est essentiel pour les applications nécessitant une inférence en temps réel. L'élagage est particulièrement utile pour déployer des modèles dans des environnements à ressources limitées tels que les appareils mobiles, les systèmes embarqués et divers scénarios d'Edge AI où l'efficacité est une préoccupation majeure. Il peut également contribuer à atténuer l'overfitting en simplifiant le modèle.
Les techniques d'élagage sont largement appliquées dans de nombreux domaines de l'intelligence artificielle. Voici deux exemples concrets :
Les méthodes d'élagage varient mais se classent généralement dans ces grandes catégories :
L'élagage peut être mis en œuvre à différentes étapes : avant l'entraînement (en influençant la conception de l'architecture), pendant le processus d'entraînement, ou après l'entraînement sur un modèle pré-entraîné, souvent suivi d'un réglage fin pour retrouver la précision perdue. Les principaux cadres d'apprentissage profond comme PyTorch et TensorFlow fournissent des outils et des tutoriels, tels que le PyTorch Pruning Tutorial, pour mettre en œuvre diverses stratégies d'élagage.
L'élagage est l'une des nombreuses techniques utilisées pour l'optimisation des modèles. Il est utile de la distinguer des concepts apparentés :
Ces techniques ne s'excluent pas mutuellement et sont souvent utilisées en combinaison avec l'élagage pour atteindre des niveaux d'optimisation plus élevés. Par exemple, un modèle peut être d'abord élagué, puis quantifié pour une efficacité maximale. Les modèles optimisés peuvent souvent être exportés dans des formats standard tels que ONNX à l'aide d'outils tels que la fonction d'exportation d'Ultralytics , pour une large compatibilité de déploiement entre les différents moteurs d'inférence.
En résumé, l'élagage est une technique puissante pour créer des modèles d'IA efficaces adaptés à divers besoins de déploiement, jouant un rôle important dans l'application pratique de la vision par ordinateur (VA) et d'autres tâches de ML. Des plateformes comme Ultralytics HUB fournissent des outils et une infrastructure, y compris la formation dans le cloud, qui peuvent faciliter le développement et l'optimisation de modèles tels que. YOLOv8 ou YOLO11.