Le mot anglais pruning signifie littéralement « élagage ». Dans le domaine de l’apprentissage profond, le véritable pruning consiste à supprimer, neutraliser ou rendre inutiles certains paramètres ou certaines connexions d’un réseau neuronal considérés comme peu importants.
L’objectif peut être de réduire :
- la taille du modèle ;
- la quantité de mémoire nécessaire ;
- la quantité de calcul ;
- le temps de chargement ;
- et, dans certains cas, le temps d’inférence.
Le terme « pruned » peut cependant recouvrir plusieurs réalités
Dans l’univers des modèles génératifs, un checkpoint pruned n’est pas nécessairement un modèle auquel on aurait supprimé une partie importante de ses neurones.
Historiquement, certaines distributions de Stable Diffusion ont par exemple utilisé des noms comme :
v1-5-pruned.ckpt
v1-5-pruned-emaonly.ckpt
Dans ce type de cas, le fichier pouvait surtout avoir été débarrassé d’éléments nécessaires à l’entraînement mais inutiles pour produire des images.
Il faut donc distinguer :
- le pruning structurel, qui modifie réellement la structure ou les paramètres utilisés par le réseau ;
- et le nettoyage d’un checkpoint, qui retire principalement des informations inutiles pour l’inférence.
Dans ce second cas, le terme pruned ne signifie donc pas nécessairement :
« Une partie des capacités du modèle a été supprimée. »
Il peut simplement signifier :
« Le fichier a été débarrassé de données dont on n’a pas besoin pour générer des images ou des vidéos. »
Un checkpoint unpruned n’est pas automatiquement meilleur
Un checkpoint unpruned peut conserver davantage d’informations liées à son entraînement :
CHECKPOINT COMPLET
│
├── poids nécessaires à l'inférence
├── poids EMA
├── éventuellement poids non-EMA
├── états liés à l'entraînement
└── autres informations
Une version préparée exclusivement pour l’inférence peut être plus compacte :
CHECKPOINT PRUNED
│
└── poids nécessaires
↓
génération
Le second fichier peut donc être nettement plus léger sans produire une image ou une vidéo sensiblement moins bonne.
Quelles conséquences sur les performances ?
Un checkpoint allégé peut apporter plusieurs avantages :
- moins d’espace disque ;
- un téléchargement plus rapide ;
- un chargement parfois plus rapide ;
- une consommation de RAM potentiellement inférieure ;
- moins d’informations inutiles lorsque la machine est uniquement destinée à l’inférence.
En revanche, diviser la taille d’un fichier par deux ne signifie pas nécessairement diviser le temps de génération par deux.
Si le réseau réellement exécuté sur le GPU reste identique, la quantité de calcul peut être quasiment la même :
CHECKPOINT 10 Go
↓
même Transformer
↓
GPU
CHECKPOINT 20 Go
↓
même Transformer
↓
GPU
Un véritable pruning structurel peut permettre de réduire les calculs, mais seulement si le moteur d’inférence et le matériel savent exploiter cette nouvelle structure.
Il faut donc toujours lire la documentation du modèle concerné avant d’interpréter la seule mention « pruned » ou « unpruned ».










