Optimiser les inférences de YOLO26 avec le moteur DeepSparse de Neural Magic#
Lors du déploiement de modèles de détection d’objets comme Ultralytics YOLO26 sur différents matériels, tu peux rencontrer des problèmes particuliers, notamment en matière d’optimisation. C’est là que l’intégration de YOLO26 avec le moteur DeepSparse de Neural Magic intervient. Elle transforme la manière dont les modèles YOLO26 sont exécutés et permet d’atteindre directement sur les CPU des performances de niveau GPU.
Ce guide t’explique comment déployer YOLO26 avec DeepSparse de Neural Magic, comment exécuter des inférences et comment évaluer les performances pour vérifier que le modèle est optimisé.
Neural Magic a été rachetée par Red Hat en janvier 2025 et déprécie les versions communautaires de ses bibliothèques deepsparse, sparseml, sparsezoo et sparsify. Pour plus d’informations, consulte l’avis publié dans le fichier Readme du dépôt GitHub sparsify.
DeepSparse de Neural Magic#
DeepSparse de Neural Magic est un environnement d’exécution d’inférence conçu pour optimiser l’exécution des réseaux neuronaux sur les CPU. Il applique des techniques avancées comme la parcimonie, l’élagage et la quantification afin de réduire considérablement les besoins en calcul tout en préservant la précision. DeepSparse offre une solution agile pour exécuter efficacement et de manière évolutive des réseaux neuronaux sur différents appareils.
Avantages de l’intégration de DeepSparse de Neural Magic avec YOLO26#
Avant d’examiner comment déployer YOLO26 avec DeepSparse, voyons les avantages de son utilisation. Voici quelques atouts clés :
- Vitesse d’inférence améliorée : atteint jusqu’à 525 FPS (avec YOLO11n), accélérant considérablement les capacités d’inférence de YOLO par rapport aux méthodes traditionnelles.
- Efficacité optimisée du modèle : utilise l’élagage et la quantification pour améliorer l’efficacité de YOLO26, en réduisant la taille du modèle et les besoins en calcul tout en préservant la précision.
-
Haute performance sur les CPU standards : offre des performances similaires à celles d’un GPU sur les CPU, pour une option plus accessible et économique dans diverses applications.
-
Intégration et déploiement simplifiés : fournit des outils conviviaux pour intégrer facilement YOLO26 dans les applications, notamment des fonctionnalités d’annotation d’images et de vidéos.
-
Prise en charge de différents types de modèles : compatible avec les modèles YOLO26 standards et optimisés pour la parcimonie, offrant une plus grande flexibilité de déploiement.
-
Solution économique et évolutive : réduit les coûts d’exploitation et permet le déploiement évolutif de modèles avancés de détection d’objets.
Comment fonctionne la technologie DeepSparse de Neural Magic ?#
La technologie DeepSparse de Neural Magic s’inspire de l’efficacité du cerveau humain dans les calculs des réseaux neuronaux. Elle reprend deux principes clés du cerveau :
-
Parcimonie : le processus de parcimonisation consiste à élaguer les informations redondantes des réseaux d’apprentissage profond, ce qui produit des modèles plus petits et plus rapides sans compromettre la précision. Cette technique réduit considérablement la taille du réseau et ses besoins en calcul.
-
Localité des références : DeepSparse utilise une méthode d’exécution unique qui divise le réseau en colonnes Tensor. Ces colonnes sont exécutées en profondeur et tiennent entièrement dans le cache du CPU. Cette approche reproduit l’efficacité du cerveau, en réduisant les mouvements de données et en maximisant l’utilisation du cache du CPU.
Créer une version parcimonieuse de YOLO26 entraînée sur un jeu de données personnalisé#
SparseZoo, un dépôt de modèles open source développé par Neural Magic, propose une collection de points de contrôle de modèles YOLO26 préalablement parcimonisés. Avec SparseML, intégré de manière transparente à Ultralytics, tu peux facilement affiner ces points de contrôle parcimonieux sur tes jeux de données spécifiques à l’aide d’une interface de ligne de commande simple.
Consulte la documentation SparseML YOLO26 de Neural Magic pour plus de détails.
Utilisation : déployer YOLO26 avec DeepSparse#
Le déploiement de YOLO26 avec DeepSparse de Neural Magic se fait en quelques étapes simples. Avant de consulter les instructions d’utilisation, découvre la gamme de modèles YOLO26 proposés par Ultralytics. Cela t’aidera à choisir le modèle le plus adapté aux besoins de ton projet. Voici comment commencer.
Étape 1 : installation#
Pour installer les packages requis, exécute :
# Install the required packages
pip install deepsparse[yolov8]Étape 2 : exporter YOLO26 au format ONNX#
Le moteur DeepSparse nécessite des modèles YOLO26 au format ONNX. L’exportation de ton modèle dans ce format est essentielle pour assurer sa compatibilité avec DeepSparse. Utilise la commande suivante pour exporter les modèles YOLO26 :
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13Cette commande enregistre le modèle yolo26n.onnx sur ton disque.
Étape 3 : déployer et exécuter des inférences#
Une fois ton modèle YOLO26 au format ONNX, tu peux le déployer et exécuter des inférences avec DeepSparse. Cela se fait facilement grâce à son API Python intuitive :
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)Étape 4 : évaluer les performances#
Il est important de vérifier que ton modèle YOLO26 fonctionne de manière optimale avec DeepSparse. Tu peux évaluer ses performances afin d’analyser le débit et la latence :
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Étape 5 : fonctionnalités supplémentaires#
DeepSparse fournit des fonctionnalités supplémentaires pour intégrer YOLO26 dans des applications, notamment l’annotation d’images et l’évaluation de jeux de données.
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"L’exécution de la commande annotate traite l’image spécifiée, détecte les objets et enregistre l’image annotée avec les cadres englobants et les classes. L’image annotée est stockée dans un dossier annotation-results. Cela fournit une représentation visuelle des capacités de détection du modèle.
Après l’exécution de la commande eval, tu obtiendras des métriques détaillées telles que la précision, le rappel et la mAP (précision moyenne). Cela donne une vue d’ensemble des performances de ton modèle sur le jeu de données et s’avère particulièrement utile pour affiner et optimiser tes modèles YOLO26 selon des cas d’utilisation spécifiques, tout en garantissant une précision et une efficacité élevées.
Résumé#
Ce guide a présenté l’intégration de YOLO26 d’Ultralytics avec le moteur DeepSparse de Neural Magic. Il a montré comment cette intégration améliore les performances de YOLO26 sur les plateformes CPU, en offrant une efficacité de niveau GPU et des techniques avancées de parcimonie des réseaux neuronaux.
Pour des informations plus détaillées et une utilisation avancée, visite le dépôt DeepSparse par Neural Magic. Tu peux également explorer le guide d'intégration de YOLO26 et regarder une session de présentation sur YouTube.
Pour mieux comprendre les différentes intégrations de YOLO26, consulte également la page du guide d’intégration d’Ultralytics, où tu découvriras de nombreuses autres possibilités d’intégration.
FAQ#
Le moteur DeepSparse de Neural Magic est un environnement d’exécution d’inférence conçu pour optimiser l’exécution des réseaux neuronaux sur les CPU grâce à des techniques avancées telles que la parcimonie, l’élagage et la quantification. En intégrant DeepSparse à YOLO26, tu peux atteindre des performances similaires à celles d’un GPU sur des CPU standards, ce qui améliore considérablement la vitesse d’inférence, l’efficacité du modèle et les performances globales tout en préservant la précision. Pour plus de détails, consulte la section consacrée à DeepSparse de Neural Magic.
Pour convertir des modèles YOLO26 au format ONNX, requis pour assurer leur compatibilité avec DeepSparse, tu peux utiliser la commande CLI suivante :
yolo detect export model=yolo26n.pt format=onnx opset=13Cette commande exporte ton modèle YOLO26 (
yolo26n.pt) vers un format (yolo26n.onnx) utilisable par le moteur DeepSparse. Tu trouveras plus d’informations sur l’exportation des modèles dans la section Exportation du modèle.L’évaluation des performances de YOLO26 avec DeepSparse t’aide à analyser le débit et la latence afin de vérifier que ton modèle est optimisé. Tu peux utiliser la commande CLI suivante pour lancer une évaluation :
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Cette commande fournit des métriques essentielles sur les performances. Pour plus de détails, consulte la section Évaluation des performances.
L’intégration de DeepSparse de Neural Magic avec YOLO26 offre plusieurs avantages :
- Vitesse d’inférence améliorée : atteint jusqu’à 525 FPS (avec YOLO11n), démontrant les capacités d’optimisation de DeepSparse.
- Efficacité optimisée du modèle : utilise des techniques de parcimonie, d’élagage et de quantification pour réduire la taille du modèle et les besoins en calcul tout en préservant la précision.
- Haute performance sur les CPU standards : offre des performances similaires à celles d’un GPU sur du matériel CPU économique.
- Intégration simplifiée : fournit des outils conviviaux pour faciliter le déploiement et l’intégration.
- Flexibilité : prend en charge les modèles YOLO26 standards et optimisés pour la parcimonie.
- Solution économique : réduit les coûts d’exploitation grâce à une utilisation efficace des ressources.
Pour approfondir ces avantages, consulte la section consacrée aux avantages de l’intégration de DeepSparse de Neural Magic avec YOLO26.
L’installation des packages requis pour déployer YOLO26 avec DeepSparse de Neural Magic est simple. Tu peux facilement les installer à l’aide de la CLI. Voici la commande à exécuter :
Une fois l’installation terminée, suis les étapes de la section Installation pour configurer ton environnement et commencer à utiliser DeepSparse avec YOLO26.