Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Élagage (Pruning)

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.

Fonctionnement de l'élagage

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 :

  • Élagage non structuré : Cette méthode permet de supprimer des poids individuels n'importe où dans le réseau sur la base de leur l'ampleur. Bien qu'elle soit efficace pour réduire le nombre de paramètres, elle crée des schémas d'accès à la mémoire irréguliers qui ne peuvent pas pas d'amélioration de la vitesse sur les unités centrales standard sans logiciel ou matériel spécialisé, tel que les fonctions de sparsity deNVIDIA.
  • Élagage structuré : Cette approche consiste à supprimer des composants structurels entiers, tels que les neurones, les canaux, ou des couches au sein d'un réseau neuronal convolutif (CNN). En conservant la structure de la matrice, cette méthode est plus conviviale pour le matériel standard et se traduit généralement par des accélérations immédiates lors de l'inférence l'inférence en temps réel.

Élagage vs. quantification vs. distillation

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 :

  • Quantification du modèle: Au lieu de supprimer des paramètres, la quantification réduit la précision des poids (par ex. Au lieu de supprimer des paramètres, la quantification réduit la précision des poids (par exemple, en convertissant des nombres flottants de 32 bits en nombres entiers de 8 bits). à virgule flottante de 32 bits à des entiers de 8 bits).
  • Distillation des connaissances: Il s'agit de former un modèle "étudiant" plus petit à imiter le comportement d'un modèle "enseignant" plus grand, plutôt que de modifier directement le modèle plus grand. plutôt que de modifier directement le grand modèle.
  • Élagage : Il s'agit spécifiquement de supprimer des connexions ou des structures afin d'induire un manque de densité.

Applications concrètes

L'élagage joue un rôle essentiel dans la mise en œuvre de l'Edge AI dans diverses industries :

  1. Robotique autonome : Les robots utilisant pour la navigation doivent traiter les données visuelles les données visuelles localement pour éviter les temps de latence. L'élagage permet aux modèles de détection d'objets complexes de fonctionner sur le des drones ou des robots de livraison, garantissant ainsi la sécurité et l'efficacité. Pour en savoir plus l 'intégration de la vision par ordinateur dans la robotique.
  2. Diagnostic mobile dans le domaine de la santé : Les applications médicales nécessitent souvent l'analyse de scans haute résolution haute résolution directement sur des tablettes ou des des données des patients. Les modèles élagués permettent à ces appareils d'effectuer des tâches telles que la détection de tumeurs sans télécharger de données sensibles dans le nuage. Découvrez comment l l 'IA dans les soins de santé transforme les diagnostics.

Exemple pratique

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.

Concepts clés et ressources

  • Sparsité : La condition dans laquelle une matrice contient principalement des valeurs nulles, résultat direct d'un élagage agressif. de l'élagage agressif.
  • Hypothèse du billet de loterie : Concept fondateur de chercheurs du chercheurs du MIT suggérant que les réseaux denses contiennent des sous-réseaux plus petits (billets gagnants) qui peuvent égaler la précision originale lorsqu'ils sont formés isolément. sous-réseaux plus petits (billets gagnants) qui peuvent égaler la précision originale lorsqu'ils sont formés de manière isolée.
  • Mise au point : Le processus de réentraînement du modèle élagué modèle élagué afin d'adapter ses ses poids restants à la nouvelle structure simplifiée.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant