Pruning
Le pruning (élagage) est une technique de compression de modèles qui consiste à supprimer les paramètres, neurones ou composants d’un réseau de neurones jugés non essentiels pour ses performances. L’objectif : réduire la taille du modèle, accélérer l’inférence et diminuer la consommation mémoire, tout en préservant la qualité des prédictions.
- Catégorie
- Compression de modèles / Deep Learning
- Principe
- Supprimer les poids ou structures non essentiels d’un réseau de neurones
- Deux types principaux
- Non structuré (poids individuels) et structuré (neurones, têtes d’attention, couches entières)
- Critères d’élagage
- Magnitude des poids, gradient, activations, impact sur la perte
- Complémentaire à
- Quantization, distillation, LoRA
- Réduction typique
- 2x à 10x en taille, selon le type et le taux de sparsité
Qu’est-ce que le pruning ?
Un réseau de neurones entraîné contient typiquement beaucoup plus de paramètres que nécessaire pour accomplir sa tâche. C’est la sur-paramétrisation : le réseau est volontairement surdimensionné pendant l’entraînement pour faciliter l’optimisation, mais une grande partie de ses poids sont redondants ou contribuent très peu au résultat final.
Le pruning exploite cette redondance en identifiant et en supprimant les éléments non essentiels. L’analogie est celle de l’élagage d’un arbre : couper les branches mortes ou improductives pour renforcer les branches saines. Le réseau résultant est plus compact, plus rapide, et consomme moins de ressources, sans perte significative de performance.
L’idée remonte aux premiers travaux sur les réseaux de neurones (LeCun et al., 1990, « Optimal Brain Damage »), mais elle a connu un renouveau majeur avec l’explosion de la taille des modèles modernes. Les LLMs de dizaines à centaines de milliards de paramètres rendent le pruning plus pertinent que jamais pour rendre ces modèles déployables.
Les deux types fondamentaux de pruning
Pruning non structuré (weight pruning)
Le pruning non structuré opère au niveau le plus granulaire : les poids individuels. Les poids dont la valeur absolue est inférieure à un seuil sont mis à zéro. Le résultat est une matrice de poids « sparse » (éparse) avec beaucoup de zéros dispersés de manière irrégulière.
La méthode la plus simple et la plus ancienne est le magnitude pruning (Han et al., 2015) : les poids les plus petits en valeur absolue sont considérés comme les moins importants et sont supprimés. C’est intuitivement logique : un poids proche de zéro a peu d’influence sur le résultat.
Le pruning non structuré peut atteindre des taux de sparsité très élevés (90-95 %) tout en préservant les performances du modèle. C’est son avantage principal.
Son défaut majeur : les zéros sont dispersés de manière irrégulière dans les matrices de poids. Les GPU et TPU modernes sont optimisés pour les opérations sur des matrices denses et contiguës. Une matrice avec 90 % de zéros dispersés aléatoirement ne se calcule pas 10x plus vite sur du matériel standard. Il faut des formats de matrices éparses spécialisés (CSR, CSC) et des kernels dédiés, qui ne deviennent avantageux qu’à des taux de sparsité très élevés (>95 %). En pratique, le pruning non structuré réduit la taille du modèle en stockage mais offre souvent des accélérations d’inférence décevantes sur GPU standard.
Parmi les méthodes non structurées modernes pour les LLMs :
SparseGPT élague les poids itérativement en utilisant une matrice de Hessian pré-calculée pour quantifier la sensibilité de chaque neurone. Il fonctionne sans réentraînement (one-shot pruning).
Wanda (Weights and Activations) utilise une métrique simple basée sur la magnitude des poids multipliée par la norme des activations d’entrée. C’est plus simple que SparseGPT et souvent comparable en performance.
Pruning structuré (structured pruning)
Le pruning structuré supprime des composants entiers du réseau : neurones complets (et toutes leurs connexions), têtes d’attention dans les Transformers, couches entières, ou canaux de convolution dans les CNN.
L’avantage décisif : après le pruning structuré, les matrices de poids restent denses et régulières. Aucun format sparse n’est nécessaire. Le modèle élagué est directement accéléré sur du matériel standard (GPU, CPU, TPU) car il est simplement plus petit. C’est pour cette raison que le pruning structuré est préféré pour les déploiements en production.
Le compromis : la suppression de composants entiers est plus agressive que la suppression de poids individuels. Une tête d’attention supprimée emporte tous ses poids, y compris ceux qui pouvaient être utiles. Le pruning structuré dégrade généralement plus les performances que le pruning non structuré pour un même taux de compression.
Les méthodes structurées pour LLMs incluent :
LLM-Pruner utilise les informations de gradient pour évaluer l’importance des structures couplées dans les LLMs et les élague en one-shot.
Sheared LLaMA formule le pruning comme un problème d’optimisation sous contrainte avec des multiplicateurs de Lagrange. Il réduit à la fois la largeur (neurones, têtes) et la profondeur (couches) du modèle.
ShortGPT montre que certaines couches des LLMs sont plus redondantes qu’on ne le pense et peuvent être supprimées avec un impact minimal sur les performances.
| Critère | Pruning non structuré | Pruning structuré |
|---|---|---|
| Granularité | Poids individuels | Neurones, têtes d’attention, couches |
| Sparsité maximale | Très élevée (90-95 %) | Modérée (20-50 %) |
| Impact sur la précision | Faible à sparsité élevée | Modéré (composants entiers supprimés) |
| Accélération matérielle | Nécessite matériel/kernels spécialisés | Fonctionne sur matériel standard |
| Réduction effective de latence | Faible sans support sparse | Directe et mesurable |
| Utilisation en production | Moins courant | Privilégié pour le déploiement |
Pruning semi-structuré (N:M sparsity)
Le pruning semi-structuré est un compromis entre les deux approches. Le pattern N:M élimine N poids sur chaque groupe de M poids consécutifs. Le format 2:4 sparsity (2 poids sur 4 mis à zéro) est supporté nativement par les GPU NVIDIA Ampere et Hopper, offrant une accélération de ~2x avec une dégradation de performance minimale.
Quand pruner dans le cycle de vie du modèle
Le pruning peut intervenir à trois moments différents :
Pruning après l’entraînement (post-training). Le réseau est d’abord entraîné jusqu’à convergence, puis élagué, et optionnellement fine-tuné pour récupérer les performances perdues. C’est l’approche la plus courante et la plus simple. SparseGPT et Wanda fonctionnent en post-training one-shot (sans fine-tuning).
Pruning pendant l’entraînement. L’élagage et l’entraînement se font simultanément. Le modèle apprend quels poids garder tout en optimisant la tâche. Plus efficace mais plus complexe à implémenter.
Pruning avant l’entraînement (pruning at initialization). Le réseau est élagué avant même d’être entraîné, inspiré par la Lottery Ticket Hypothesis (Frankle et Carlin, 2019). Cette hypothèse stipule que les réseaux sur-paramétrisés contiennent un sous-réseau « gagnant » (winning ticket) qui, entraîné seul depuis son initialisation originale, atteint des performances comparables au réseau complet.
Critères d’importance pour l’élagage
Le choix du critère pour décider quels éléments supprimer est fondamental :
Magnitude. Supprimer les poids de plus faible valeur absolue. Simple, rapide, et étonnamment efficace. C’est la baseline que toute autre méthode doit battre.
Gradient. Mesurer l’impact de chaque poids sur la fonction de perte via son gradient. Les poids avec un faible gradient contribuent peu à l’optimisation et peuvent être supprimés. LLM-Pruner utilise cette approche.
Activations. Utiliser un dataset de calibration pour mesurer les activations de chaque neurone. Les neurones rarement activés sont candidats à la suppression. Wanda combine magnitude et activations.
Impact sur la perte (loss-based). Mesurer directement combien la suppression d’un poids dégrade la perte. C’est le critère le plus précis mais aussi le plus coûteux computationnellement (requiert des calculs de Hessian ou des approximations).
Analyse fonctionnelle. Des travaux récents (2025) proposent d’analyser les LLMs comme un « cerveau numérique » en utilisant des techniques inspirées de la neuro-imagerie (ICA, analyse de composantes indépendantes) pour identifier des « réseaux fonctionnels » cohérents au sein du modèle. Le pruning préserve ces réseaux fonctionnels pour minimiser la disruption architecturale.
Le pruning pour les LLMs
Le pruning des LLMs pose des défis spécifiques liés à leur taille massive :
Width pruning vs depth pruning. La recherche NVIDIA (Minitron) montre que le width pruning (réduire le nombre de neurones/têtes par couche) préserve mieux la précision que le depth pruning (supprimer des couches entières). En revanche, le depth pruning réduit plus la latence d’inférence pour un même nombre de paramètres. Le choix dépend du compromis précision/latence souhaité.
Le pipeline pruning + distillation. NVIDIA recommande un pipeline combiné : pruner le modèle (structuré) puis distiller pour récupérer les performances perdues. C’est l’approche Minitron qui a produit des modèles 6B à partir de modèles 8B avec une perte de performance minimale. NVIDIA TensorRT Model Optimizer automatise ce pipeline.
Pruning sans réentraînement. Pour les très grands LLMs, le réentraînement après pruning est prohibitivement coûteux. SparseGPT et Wanda offrent du pruning one-shot (sans réentraînement) qui fonctionne de manière surprenante sur des modèles de dizaines de milliards de paramètres.
Applications concrètes
Déploiement de LLMs en production. Le pruning structuré permet de passer d’un modèle 8B à un modèle 6B déployable avec moins de ressources. Combiné avec la quantization, on peut faire tourner un LLM compétitif sur un seul GPU consumer (RTX 4090) au lieu d’un GPU serveur (A100).
Déploiement embarqué et mobile. Les modèles élagués sont essentiels pour les applications sur smartphone, IoT, et edge devices. La réduction de taille et de latence rend possible l’exécution locale de modèles d’IA sans connexion cloud.
Réduction de l’empreinte carbone. Un modèle élagué consomme moins d’énergie à l’inférence. Pour les applications à fort volume (millions de requêtes/jour), le pruning est un levier de sobriété numérique significatif.
Vision par ordinateur en temps réel. Le pruning de CNN et de Vision Transformers est largement utilisé pour les applications temps réel : détection d’objets sur drones, analyse vidéo embarquée, contrôle qualité industriel.
Le pruning en 2026
Le pipeline combiné est la norme. Le pruning n’est presque jamais utilisé seul. Le workflow standard est : pruning structuré → distillation (pour récupérer les performances) → quantization (pour réduire la mémoire). Ce pipeline peut atteindre des réductions de 10x à 50x en taille et en coût d’inférence.
Le semi-structuré N:M gagne du terrain. Le support matériel natif de la sparsité 2:4 sur les GPU NVIDIA Ampere/Hopper rend le pruning semi-structuré de plus en plus attractif. C’est le meilleur compromis entre le taux de compression du non structuré et l’accélération matérielle du structuré.
NAS + pruning. La recherche d’architecture neuronale (Neural Architecture Search) est combinée avec le pruning pour trouver automatiquement l’architecture optimale après élagage. Au lieu de décider manuellement quoi pruner, un algorithme NAS explore l’espace des sous-réseaux possibles et identifie celui qui maximise le rapport performance/efficacité.
Questions fréquentes sur le pruning
Quelle est la différence entre pruning structuré et non structuré ?
Le pruning non structuré supprime des poids individuels, créant des matrices éparses avec des zéros dispersés irrégulièrement. Il peut atteindre des taux de sparsité très élevés (90-95 %) mais nécessite du matériel ou des kernels spécialisés pour une accélération réelle. Le pruning structuré supprime des composants entiers (neurones, têtes d’attention, couches), gardant des matrices denses qui s’accélèrent directement sur du matériel standard. Le structuré est préféré pour la production, le non structuré pour la recherche et les cas où la sparsité matérielle est disponible.
Le pruning peut-il fonctionner sans réentraîner le modèle ?
Oui. Des méthodes comme SparseGPT et Wanda réalisent du pruning « one-shot » sur des LLMs sans réentraînement, avec des résultats surprenamment bons jusqu’à des taux de sparsité modérés (50-60 %). Pour des taux plus élevés ou pour un pruning structuré agressif, un réentraînement (ou une distillation) est généralement nécessaire pour récupérer les performances perdues.
Quelle est la différence entre pruning et quantization ?
Le pruning supprime des poids ou des structures du modèle, rendant le réseau plus petit. La quantization réduit la précision numérique de tous les poids (par exemple, de float32 à int8 ou int4) sans changer l’architecture. Le pruning réduit le nombre de paramètres, la quantization réduit la taille de chaque paramètre. Les deux sont complémentaires et souvent combinés dans les pipelines de compression.
Qu’est-ce que la Lottery Ticket Hypothesis ?
La Lottery Ticket Hypothesis (Frankle et Carlin, 2019) stipule qu’un réseau de neurones dense contient un sous-réseau sparse (le « ticket gagnant ») qui, entraîné seul depuis son initialisation originale, peut atteindre les mêmes performances que le réseau complet. Cette découverte suggère que la sur-paramétrisation aide à trouver ces bons sous-réseaux pendant l’entraînement, mais qu’en théorie, un réseau bien plus petit suffirait. C’est une motivation théorique majeure pour le pruning.
Quel est le meilleur pipeline de compression pour un LLM en 2026 ?
Le pipeline recommandé (NVIDIA Minitron) est : 1) pruning structuré du modèle (width et/ou depth), 2) distillation pour récupérer les performances (le modèle original sert de teacher), 3) quantization (4-bit ou 8-bit) pour réduire la mémoire. Ce pipeline, automatisable avec NVIDIA TensorRT Model Optimizer, peut transformer un modèle 8B en un modèle 6B quantifié en 4-bit déployable sur un GPU consumer. La perte de performance est typiquement de 2 à 5 % pour une réduction de 5x à 10x en taille et en coût.