Glossaire

Élagage

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.

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

En savoir plus

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.

Pertinence de la taille

À 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.

Applications de la taille

Les techniques d'élagage sont largement appliquées dans de nombreux domaines de l'intelligence artificielle. Voici deux exemples concrets :

  1. Déployer des modèles de détection d'objets sur des appareils périphériques : Une Ultralytics YOLO Un modèle formé pour la détection d'objets peut être trop grand ou trop lent pour être déployé sur un appareil de faible puissance comme un Raspberry Pi ou un Google Edge TPU. L'élagage peut réduire la taille et la charge de calcul du modèle, ce qui lui permet de fonctionner efficacement sur ce type de matériel pour des tâches telles que les systèmes de sécurité ou la surveillance de la faune locale. Tu trouveras des exemples de déploiement dans des guides tels que le tutoriel Edge TPU on Raspberry Pi ou le guideNVIDIA Jetson.
  2. Optimiser les modèles pour les systèmes autonomes : Dans les véhicules autonomes, les modèles de perception complexes pour des tâches telles que la segmentation d'images ou la fusion de capteurs doivent s'exécuter avec une latence minimale. L'élagage permet d'optimiser ces réseaux neuronaux convolutifs (CNN) pour répondre à des exigences strictes de traitement en temps réel, ce qui garantit un fonctionnement sûr et réactif du véhicule. Des frameworks comme NVIDIA TensorRT prennent souvent en charge les modèles élagués pour une inférence optimisée.

Types et techniques

Les méthodes d'élagage varient mais se classent généralement dans ces grandes catégories :

  • Élagage non structuré : Il s'agit de supprimer des poids ou des neurones individuels sur la base de critères tels qu'une faible magnitude ou une contribution à la sortie. Il en résulte des modèles clairsemés avec des modèles irréguliers de connexions supprimées. Bien qu'ils puissent potentiellement atteindre des taux de compression élevés, ces modèles peuvent nécessiter du matériel spécialisé ou des bibliothèques logicielles (comme DeepSparse deNeural Magic) pour une exécution efficace. Voir l'intégrationUltralytics Neural Magic .
  • Élagage structuré : Cette technique permet de supprimer des composants structurels entiers du réseau, tels que les filtres, les canaux ou même les couches. Cela permet de conserver une structure régulière, ce qui rend le modèle élagué plus compatible avec les accélérateurs matériels standard et les bibliothèques telles que le support de sparsité structuré deNVIDIA.

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 par rapport à d'autres techniques d'optimisation

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 :

  • Quantification du modèle: Réduit la précision des poids et des activations du modèle (par exemple, de 32 bits flottants à 8 bits entiers), ce qui diminue la taille du modèle et accélère souvent le calcul, en particulier sur le matériel spécialisé.
  • Distillation des connaissances: Implique la formation d'un modèle "étudiant" plus petit pour imiter le comportement d'un modèle "enseignant" plus grand et préformé, en transférant les connaissances sans hériter de la complexité.

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.

Tout lire