Glossaire

Élagage

Optimisez les modèles d'IA avec l'élagage : réduisez la complexité, augmentez l'efficacité et déployez plus rapidement sur les périphériques sans sacrifier les performances.

L'élagage est une technique d'optimisation de modèle utilisée pour réduire la taille et la complexité informatique d'un réseau neuronal (RN) formé. Le processus consiste à identifier et à supprimer les paramètres (poids) ou structures (neurones, canaux ou couches) redondants ou moins importants du modèle. L'objectif est de créer un modèle plus petit, plus rapide et plus économe en énergie qui conserve un niveau de précision comparable à l'original. Cet aspect est particulièrement important pour le déploiement de modèles d'intelligence artificielle complexes dans des environnements aux ressources limitées, tels que les appareils périphériques.

Comment fonctionne l'élagage

Le processus d'élagage commence généralement après qu'un modèle d'apprentissage profond a été entièrement formé. Il fonctionne sur le principe que de nombreux grands modèles sont sur-paramétrés, ce qui signifie qu'ils contiennent de nombreux poids et neurones qui contribuent très peu à la prédiction finale. Une méthode courante pour identifier ces composants sans importance consiste à analyser leur magnitude ; les paramètres dont les valeurs sont proches de zéro sont considérés comme moins significatifs. Une fois identifiés, ces paramètres sont supprimés ou mis à zéro. Après le processus d'élagage, le réseau désormais plus petit subit généralement un réglage fin, qui consiste à réentraîner le modèle pendant quelques époques supplémentaires. Cette étape permet aux paramètres restants de s'adapter aux changements architecturaux et de récupérer les performances qui ont pu être perdues lors de l'élagage. Ce processus itératif d'élagage et de réglage fin peut être répété pour atteindre l'équilibre souhaité entre la taille du modèle et les performances, comme le décrivent des documents de recherche fondamentaux tels que"Deep Compression".

Types de taille

Les techniques d'élagage peuvent être classées en plusieurs catégories en fonction de ce qui est retiré du réseau :

  • Élagage non structuré (élagage des poids): Cette méthode supprime les poids individuels du réseau sur la base d'un critère spécifique, tel que leur ampleur. Elle aboutit à un modèle peu dense, dans lequel de nombreuses connexions sont réduites à zéro. Bien que cette méthode permette de réduire considérablement le nombre de paramètres, elle n'aboutit pas toujours à une inférence plus rapide sur du matériel standard comme les CPU ou les GPU sans bibliothèques logicielles spécialisées, telles que les outils de NVIDIA pour les modèles clairsemés.
  • Élagage structuré: Cette approche consiste à supprimer des composants structurels entiers du réseau, tels que des neurones, des canaux ou même des couches entières d'un réseau neuronal convolutif (CNN). Comme elle supprime des blocs réguliers du réseau, elle réduit directement la taille du modèle et les exigences de calcul d'une manière que le matériel standard peut facilement exploiter, ce qui conduit souvent à des accélérations plus prévisibles. Des outils tels que DeepSparse de Neural Magic sont conçus pour accélérer l'inférence sur les CPU pour de tels modèles structurés épars.

Les principaux cadres d'apprentissage automatique tels que PyTorch et TensorFlow proposent des utilitaires intégrés et des didacticiels pour la mise en œuvre de l'élagage.

Applications dans le monde réel

L'élagage est essentiel pour déployer des modèles d'IA puissants dans des scénarios pratiques où les ressources informatiques sont limitées.

  1. Optimisation de la détection d'objets sur les appareils périphériques: Des modèles comme Ultralytics YOLO sont utilisés pour la détection d'objets en temps réel. En élaguant un modèle comme YOLOv8, il est possible de le déployer sur des périphériques de faible puissance comme un Raspberry Pi ou un NVIDIA Jetson. Cela permet des applications telles que la surveillance intelligente sur l'appareil, l'optimisation de la gestion du trafic et l'intégration de la vision par ordinateur dans la robotique.
  2. Exécution locale de grands modèles de langage (LLM): L'élagage peut réduire considérablement l'empreinte mémoire des grands modèles de langage (LLM) basés sur des architectures telles que Transformer. Un LLM élagué peut être exécuté directement sur un smartphone ou un ordinateur portable pour des tâches de traitement du langage naturel (NLP) telles que le résumé de texte ou les assistants virtuels locaux. Cela améliore la réactivité et la confidentialité des données en conservant les données de l'utilisateur sur l'appareil, un principe clé pour des organisations telles que l'Electronic Frontier Foundation (EFF).

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

L'élagage est l'une des nombreuses techniques d'optimisation des modèles et est souvent utilisé avec d'autres. Il est important de la distinguer des concepts apparentés :

  • Quantification du modèle: Cette technique réduit la précision numérique des poids et des activations du modèle (par exemple, de 32 bits flottants à 8 bits entiers). Cela permet de réduire la taille du modèle et d'accélérer les calculs, en particulier sur le matériel doté d'un support spécialisé. Contrairement à l'élagage, qui supprime des paramètres, la quantification les comprime.
  • Distillation des connaissances: Dans cette méthode, un modèle "étudiant" plus petit est formé pour reproduire la sortie d'un modèle "enseignant" plus grand et préformé. L'objectif est de transférer les connaissances acquises vers une architecture plus compacte, tandis que l'élagage modifie l'architecture existante.

Ces techniques ne s'excluent pas mutuellement. Un flux de travail courant consiste d'abord à élaguer un modèle pour supprimer les paramètres redondants, puis à appliquer la quantification au modèle élagué pour une efficacité maximale. Les modèles optimisés peuvent ensuite être exportés dans des formats standards comme ONNX en utilisant la fonction d'exportation d'Ultralytics pour un large déploiement dans différents moteurs d'inférence. Des plateformes comme Ultralytics HUB peuvent aider à gérer l'ensemble du cycle de vie, de l'entraînement au déploiement de modèles optimisés.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers