Optimisez les modèles d'IA grâce à l'élagage : réduisez la complexité, améliorez l'efficacité et déployez plus rapidement sur les appareils 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é de calcul d'un réseau neuronal (NN) entraîné. Le processus consiste à identifier et à supprimer les paramètres (poids) ou les 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 maintient un niveau de précision comparable à celui du modèle original. Ceci est particulièrement crucial pour le déploiement de modèles d'IA complexes dans des environnements aux ressources limitées, tels que les appareils périphériques.
Le processus d'élagage commence généralement après qu'un modèle d'apprentissage profond a été entièrement entraîné. Il repose sur le principe que de nombreux grands modèles sont surparamé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 non importants 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 affinage, qui implique de réentraîner le modèle pendant quelques époques supplémentaires. Cette étape aide les paramètres restants à s'adapter aux changements architecturaux et à récupérer toute performance qui aurait pu être perdue pendant l'élagage. Ce processus itératif d'élagage et d'affinage peut être répété pour atteindre un équilibre souhaité entre la taille du modèle et la performance, comme décrit dans des articles de recherche fondamentaux tels que « Deep Compression ».
Les techniques d'élagage peuvent être globalement classées en fonction de ce qui est supprimé du réseau :
Les principaux frameworks d'apprentissage automatique tels que PyTorch et TensorFlow offrent des utilitaires intégrés et des didacticiels pour la mise en œuvre de l'élagage.
L'élagage est essentiel pour déployer des modèles d'IA puissants dans des scénarios pratiques où les ressources de calcul sont limitées.
L'élagage est l'une des nombreuses techniques d'optimisation de modèle et est souvent utilisé en parallèle avec d'autres. Il est important de le distinguer des concepts connexes :
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 vers des formats standard tels que ONNX à l'aide de la fonction d'exportation Ultralytics pour un déploiement étendu sur divers 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.