Optimiser les inférences 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 difficultés particulières, notamment en matière d'optimisation. L'intégration de YOLO26 au moteur DeepSparse de Neural Magic apporte une solution. Elle transforme l'exécution des modèles YOLO26 et offre directement sur les CPU des performances comparables à celles des GPU.
Ce guide t'explique comment déployer YOLO26 avec DeepSparse de Neural Magic, exécuter des inférences et mesurer les performances pour vérifier qu'elles sont optimisées.
Neural Magic a été racheté par Red Hat en janvier 2025 et abandonne les versions communautaires de ses bibliothèques deepsparse, sparseml, sparsezoo et sparsify. Pour plus d'informations, consulte l'annonce publiée dans le fichier Readme du dépôt GitHub sparsify.
DeepSparse de Neural Magic#
DeepSparse de Neural Magic est un moteur 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 à grande échelle des réseaux neuronaux sur divers appareils.
Avantages de l'intégration de DeepSparse de Neural Magic à YOLO26#
Avant d'aborder le déploiement de YOLO26 avec DeepSparse, voyons les avantages de DeepSparse. Voici quelques-uns de ses principaux atouts :
- Vitesse d'inférence accrue : atteint jusqu'à 525 FPS (avec YOLOv8n) et accélère considérablement l'inférence 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, réduire la taille du modèle et les besoins en calcul tout en préservant la précision.
-
Hautes performances sur les CPU standard : offre des performances comparables à celles d'un GPU sur les CPU, constituant une option plus accessible et économique pour diverses applications.
-
Intégration et déploiement simplifiés : fournit des outils conviviaux qui facilitent l'intégration de YOLO26 dans les applications, notamment grâce aux 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 YOLO standard et ceux optimisés par parcimonie, pour une plus grande flexibilité de déploiement.
-
Solution économique et évolutive : réduit les frais 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 de deep learning, ce qui permet d'obtenir des modèles plus petits et plus rapides sans compromettre leur précision. Cette technique réduit considérablement la taille du réseau et les besoins en calcul.
-
Localité des références : DeepSparse utilise une méthode d'exécution unique qui découpe le réseau en colonnes de tenseurs. Ces colonnes sont exécutées en profondeur et tiennent entièrement dans le cache du CPU. Cette approche reproduit l'efficacité du cerveau, minimise les déplacements de données et optimise 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 de Neural Magic, propose une collection de points de contrôle YOLOv8 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 propres jeux de données à l'aide d'une interface en ligne de commande simple.
Consulte la documentation SparseML YOLOv8 de Neural Magic pour plus de détails.
Utilisation : déployer YOLO26 avec DeepSparse#
Le déploiement de YOLO26 avec DeepSparse de Neural Magic ne nécessite que quelques étapes simples. Avant de commencer, consulte 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 paquets 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'export de ton modèle dans ce format est indispensable pour assurer sa compatibilité avec DeepSparse. Utilise la commande suivante pour exporter des modèles YOLO26 :
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13Cette commande enregistrera le modèle yolo26n.onnx sur ton disque.
Étape 3 : Déploiement et exécution des inférences#
Avec ton modèle YOLO26 au format ONNX, tu peux le déployer et exécuter des inférences avec DeepSparse. C'est facile grâce à son API Python intuitive :
from deepsparse import Pipeline
# Indique le chemin vers ton modèle YOLO26 ONNX
model_path = "path/to/yolo26n.onnx"
# Configure le pipeline DeepSparse
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Exécute le modèle sur tes images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)Étape 4 : Évaluation des performances#
Il est important de vérifier que ton modèle YOLO26 fonctionne de manière optimale avec DeepSparse. Tu peux évaluer les performances de ton modèle 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 offre des fonctionnalités supplémentaires pour intégrer YOLO26 concrètement dans des applications, comme 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 indiquée, détecte les objets et enregistre l'image annotée avec les boîtes englobantes et les classifications. L'image annotée est stockée dans un dossier annotation-results. Cela permet de visualiser les 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, comme la précision, le rappel et la mAP (précision moyenne). Ces résultats donnent une vue d'ensemble des performances de ton modèle sur le jeu de données et sont particulièrement utiles pour affiner et optimiser tes modèles YOLO26 en fonction de cas d'usage spécifiques, afin de garantir une grande précision et une bonne efficacité.
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é comparable à celle d'un GPU et des techniques avancées de parcimonie des réseaux neuronaux.
Pour obtenir plus d'informations et découvrir des utilisations avancées, consulte le dépôt DeepSparse de Neural Magic. Tu peux également consulter le guide d'intégration de YOLOv8 et regarder une démonstration sur YouTube.
Pour mieux comprendre les différentes intégrations de YOLO26, consulte également la page du guide des intégrations Ultralytics, où tu trouveras d'autres possibilités d'intégration intéressantes.
FAQ#
Le moteur DeepSparse de Neural Magic est un environnement d'exécution pour l'inférence conçu pour optimiser l'exécution des réseaux neuronaux sur CPU grâce à des techniques avancées comme la parcimonie, l'élagage et la quantification. En intégrant DeepSparse à YOLO26, tu peux obtenir des performances comparables à celles d'un GPU sur des CPU standard, 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 en savoir plus, consulte la section DeepSparse de Neural Magic.
L'installation des packages nécessaires au déploiement de YOLO26 avec DeepSparse de Neural Magic est simple. Tu peux les installer facilement avec la CLI. Voici la commande à exécuter :
pip install deepsparse[yolov8]Une fois l'installation terminée, suis les étapes de la section Installation pour configurer ton environnement et commencer à utiliser DeepSparse avec YOLO26.
Pour convertir des modèles YOLO26 au format ONNX, nécessaire à 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) dans un format (yolo26n.onnx) utilisable par le moteur DeepSparse. Pour en savoir plus sur l'exportation de modèles, consulte la section Exportation de modèles.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 lancer un benchmark avec la commande CLI suivante :
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Cette commande te fournira des métriques essentielles sur les performances. Pour en savoir plus, consulte la section Évaluation des performances.
L'intégration de DeepSparse de Neural Magic à YOLO26 présente plusieurs avantages :
- Inférence plus rapide : jusqu'à 525 FPS (avec YOLOv8n), ce qui démontre 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.
- Performances élevées sur les CPU standard : offre des performances comparables à celles d'un GPU sur du matériel CPU économique.
- Intégration simplifiée : outils faciles à utiliser pour un déploiement et une intégration aisés.
- Flexibilité : prend en charge les modèles YOLO standard et ceux optimisés par parcimonie.
- Rentabilité : réduit les coûts d'exploitation grâce à une utilisation efficace des ressources.
Pour approfondir ces avantages, consulte la section Avantages de l'intégration de DeepSparse de Neural Magic à YOLO26.