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 essentielle de l'apprentissage l 'apprentissage automatique visant à réduire la taille et la complexité informatique d'un réseau neuronal (RN) en supprimant les paramètres paramètres inutiles. À l'instar de l'élagage des branches mortes d'un arbre pour favoriser une croissance saine, l'élagage du modèle identifie et élimine les poids ou les connexions du modèle qui ne sont pas nécessaires à l'apprentissage automatique. et élimine les poids ou les connexions du modèle qui qui contribuent de manière minimale à la sortie du système. L'objectif principal est de créer un modèle clairsemé qui maintient une précision tout en réduisant de manière significative l'utilisation de la mémoire et en améliorant le temps de latence de l'inférence. l'utilisation de la mémoire et en améliorant la latence de l'inférence. Ce processus est Ce processus est essentiel pour le déploiement d'architectures sophistiquées, telles que Ultralytics YOLO11sur des appareils à ressources limitées où la où le stockage et la puissance de traitement sont limités.
Le processus commence généralement par un modèle pré-entraîné. Des algorithmes analysent le réseau pour trouver des paramètres souvent représentés sous forme de tenseurs - dont les valeurs sont proches de zéro ou dont l'impact sur la prédiction finale est limité. Ces paramètres sont Ces paramètres sont ensuite supprimés ou "mis à zéro". Étant donné que la suppression de connexions peut temporairement dégrader les performances, le modèle est généralement soumis à un processus appelé "affinage". subit généralement un processus appelé " fine-tuning", au cours duquel il est ré-entraîné pendant quelques semaines. quelques époques pour permettre aux poids restants de s'ajuster et de récupérer la d'ajuster les poids restants et de récupérer la précision perdue.
Il existe deux grandes catégories de taille :
Il est important de distinguer l'élagage des autres stratégies d'optimisation des modèles. stratégies d'optimisation des modèles, bien qu'elles soient souvent utilisées en tandem :
L'élagage joue un rôle essentiel dans la mise en œuvre de l'Edge AI dans diverses industries :
Bien que Ultralytics YOLO d'Ultralytics sont hautement optimisés dès leur sortie de l'emballage, les développeurs peuvent expérimenter l'élagage en utilisant les utilitaires standards de PyTorch . L'exemple suivant montre comment comment appliquer un élagage non structuré à une couche convolutionnelle standard que l'on trouve dans les modèles de vision par ordinateur.
import torch
import torch.nn.utils.prune as prune
from ultralytics.nn.modules import Conv
# Initialize a standard convolutional block used in YOLO models
layer = Conv(c1=64, c2=128)
# Apply L1 unstructured pruning to remove 30% of the lowest magnitude weights
prune.l1_unstructured(layer.conv, name="weight", amount=0.3)
# Verify the sparsity (percentage of zero weights)
sparsity = float(torch.sum(layer.conv.weight == 0)) / layer.conv.weight.nelement()
print(f"Layer sparsity achieved: {sparsity:.2%}")
Les futures avancées en matière d'architecture efficace, telles que le futur YOLO26, visent à intégrer ces principes d'optimisation de manière native, en créant des modèles plus petits, plus rapides et plus précis dès leur conception. principes d'optimisation, créant ainsi des modèles plus petits, plus rapides et plus précis de par leur conception.