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 des modèles utilisée en intelligence artificielle (IA) et en apprentissage automatique (ML) pour réduire la taille et la complexité des modèles entraînés. Il 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 considérés comme moins importants ou redondants. L'objectif principal est de créer des modèles plus petits et plus rapides qui nécessitent moins de puissance de calcul et de mémoire, souvent sans baisse significative de la précision. Ce processus est crucial pour un déploiement efficace des modèles, en particulier sur les appareils aux ressources limitées.

Pertinence de la taille

À mesure que les modèles d'apprentissage profond (DL) deviennent plus volumineux pour s'attaquer à des tâches complexes, ils demandent des ressources informatiques importantes. L'élagage permet de relever ce défi en rendant les modèles plus légers. Cette optimisation réduit les besoins en stockage, diminue la consommation d'énergie et réduit la latence d'inférence, ce qui est vital pour les scénarios d'inférence en temps réel. L'élagage est particulièrement bénéfique pour le déploiement de modèles dans des environnements tels que les appareils mobiles, les systèmes embarqués et les applications Edge AI, où l'efficacité est primordiale.

Applications de la taille

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

  1. Vision informatique mobile: Ultralytics YOLO souvent utilisés pour la détection d'objets sur les smartphones, peuvent être élagués pour fonctionner efficacement sans vider la batterie ou nécessiter une mémoire excessive. Cela permet des applications en temps réel comme la réalité augmentée mobile ou l'analyse d'images sur l'appareil. Le déploiement d'un modèle élagué sur du matériel tel qu'un Raspberry Pi équipé d'un Edge TPUGoogle peut considérablement accélérer les performances, comme le montrent des guides tels que le tutoriel Edge TPU on Raspberry Pi.
  2. Systèmes de conduite autonome : Les voitures à conduite autonome s'appuient sur des modèles complexes pour des tâches telles que la détection des piétons et des autres véhicules. L'élagage de ces modèles réduit le temps nécessaire pour prendre des décisions critiques, ce qui améliore la sécurité et la réactivité. Les modèles optimisés peuvent être accélérés à l'aide d'outils tels que NVIDIA TensorRT pour les déployer sur les GPU que l'on trouve couramment dans les véhicules autonomes.

Types et techniques

Les méthodes d'élagage peuvent varier, mais elles entrent généralement dans ces catégories :

  • Élagage non structuré : Supprime les poids individuels en fonction de leur magnitude ou de leur importance, ce qui conduit à des modèles clairsemés qui peuvent nécessiter un matériel ou un logiciel spécialisé comme DeepSparse deNeural Magic pour une exécution efficace. Ultralytics propose des guides d'intégration pour des outils tels que Neural Magic.
  • Élagage structuré : Supprime des structures entières comme les filtres, les canaux ou les couches. Cela permet d'obtenir des modèles plus petits et plus denses qui sont généralement plus faciles à déployer sur du matériel standard. On trouvera plus de détails sur les approches structurées dans des recherches telles que les travaux deNVIDIA sur la rareté structurée.

L'élagage peut être appliqué à différentes étapes : avant la formation (détermination de l'architecture), pendant la formation ou après la formation (affinage d'un modèle pré-entraîné). Des plateformes comme PyTorch fournissent des utilitaires pour faciliter les différentes techniques d'élagage.

L'élagage par rapport à d'autres techniques d'optimisation

L'élagage est l'une des nombreuses stratégies d'optimisation des modèles. Il est important de la distinguer des concepts apparentés :

  • Quantification du modèle: Réduit la précision numérique des poids du modèle (par exemple, de 32 bits flottants à 8 bits entiers), ce qui diminue la taille et accélère le calcul sans supprimer de paramètres.
  • Distillation des connaissances: Entraîne un modèle "étudiant" plus petit à reproduire la sortie d'un modèle "enseignant" plus grand et pré-entraîné.

Ces techniques ne s'excluent pas mutuellement et sont souvent combinées avec l'élagage pour atteindre une efficacité maximale. Pour une vue d'ensemble plus large, voir ce guide sur l'optimisation des modèles. Les modèles optimisés par l'élagage peuvent souvent être exportés dans des formats standard tels que ONNX pour une plus grande compatibilité de déploiement.

En résumé, l'élagage est une technique précieuse pour créer des modèles d'IA efficaces adaptés à divers besoins de déploiement, contribuant de manière significative à l'application pratique de la vision par ordinateur (VA) et d'autres tâches de ML. Les outils et les plateformes comme Ultralytics HUB intègrent ou facilitent souvent ces méthodes d'optimisation.

Tout lire