YOLO Vision 2026 :

Optimisation des inférences YOLO26 avec le moteur DeepSparse de Neural Magic#

Quand tu déploies des modèles de détection d'objets comme Ultralytics YOLO26 sur divers matériels, tu peux rencontrer des problèmes uniques tels que l'optimisation. C'est là qu'intervient l'intégration de YOLO26 avec le DeepSparse Engine de Neural Magic. Il transforme la façon dont les modèles YOLO26 sont exécutés et permet d'atteindre des performances de niveau GPU directement sur les CPU.

Ce guide te montre comment déployer YOLO26 en utilisant DeepSparse de Neural Magic, comment effectuer des inférences, ainsi que comment évaluer les performances pour garantir qu'elles sont optimisées.

Fin de vie de SparseML

Neural Magic a été acquis 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'avis publié dans le fichier Readme du dépôt GitHub sparsify.

DeepSparse de Neural Magic#

Neural Magic's DeepSparse Overview

Neural Magic's DeepSparse est un moteur d'inférence conçu pour optimiser l'exécution de réseaux de neurones sur les CPU. Il applique des techniques avancées telles que la parcimonie, l'élagage et la quantification pour réduire considérablement les exigences de calcul tout en maintenant la précision. DeepSparse offre une solution agile pour une exécution efficace et évolutive des réseaux de neurones sur divers appareils.

Avantages de l'intégration de DeepSparse de Neural Magic avec YOLO26#

Avant de plonger dans le déploiement de YOLO26 avec DeepSparse, comprenons les avantages de son utilisation. Voici quelques points clés :

  • Vitesse d'inférence améliorée : Atteint jusqu'à 525 FPS (sur YOLO11n), accélérant considérablement les capacités d'inférence de YOLO par rapport aux méthodes traditionnelles.

Neural Magic DeepSparse inference acceleration

  • Efficacité du modèle optimisée : Utilise l'élagage et la quantification pour améliorer l'efficacité de YOLO26, réduisant la taille du modèle et les besoins de calcul tout en maintenant la précision.

Neural Magic model optimization and pruning

  • Haute performance sur CPU standard : Offre des performances proches du GPU sur CPU, fournissant une option plus accessible et rentable pour diverses applications.

  • Intégration et déploiement simplifiés : Offre des outils conviviaux pour une intégration facile de YOLO26 dans les applications, y compris des fonctionnalités d'annotation d'images et de vidéos.

  • Support pour divers types de modèles : Compatible avec les modèles YOLO26 standards et ceux optimisés par la sparsité, ajoutant de la flexibilité au déploiement.

  • Solution rentable et évolutive : Réduit les dépenses opérationnelles et offre un déploiement évolutif de modèles de détection d'objets avancés.

Comment fonctionne la technologie DeepSparse de Neural Magic ?#

La technologie DeepSparse de Neural Magic s'inspire de l'efficacité du cerveau humain dans le calcul de réseaux neuronaux. Elle adopte deux principes clés du cerveau comme suit :

  • Parcimonie : Le processus de sparsification implique d'élaguer les informations redondantes des réseaux d'apprentissage profond, ce qui permet d'obtenir 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 matière de calcul.

  • Localité de référence : DeepSparse utilise une méthode d'exécution unique, divisant le réseau en colonnes de tenseurs (Tensor Columns). Ces colonnes sont exécutées en profondeur, s'adaptant entièrement au cache du CPU. Cette approche imite l'efficacité du cerveau, minimisant le mouvement des données et maximisant l'utilisation du cache du CPU.

How Neural Magic's DeepSparse Technology Works

Créer une version éparse (sparse) 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 de modèles YOLO26 pré-sparsifiés. Avec SparseML, intégré de manière transparente à Ultralytics, tu peux facilement affiner ces points de contrôle sparsifiés sur tes jeux de données spécifiques à l'aide d'une interface en 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 le DeepSparse de Neural Magic implique quelques étapes simples. Avant de te plonger dans les instructions d'utilisation, assure-toi de consulter la gamme de modèles YOLO26 proposés par Ultralytics. Cela t'aidera à choisir le modèle le plus adapté aux exigences de ton projet. Voici comment tu peux commencer.

Étape 1 : Installation#

Pour installer les paquets requis, exécute :

Installation
# Install the required packages
pip install deepsparse[yolov8]

Étape 2 : Exportation de YOLO26 au format ONNX#

Le DeepSparse Engine nécessite des modèles YOLO26 au format ONNX. Exporter ton modèle vers ce format est essentiel pour assurer la compatibilité avec DeepSparse. Utilise la commande suivante pour exporter les modèles YOLO26 :

Exportation du modèle
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13

Cette 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 déployer et exécuter des inférences en utilisant DeepSparse. Cela peut être fait facilement avec leur API Python intuitive :

Déploiement et exécution des inférences
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 : Évaluation des performances (Benchmarking)#

Il est important de vérifier que ton modèle YOLO26 fonctionne de manière optimale sur DeepSparse. Tu peux évaluer les performances de ton modèle pour analyser le débit et la latence :

Évaluation des performances
# 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 l'intégration pratique de YOLO26 dans les applications, telles que l'annotation d'images et l'évaluation de jeux de données.

Fonctionnalités supplémentaires
# 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 ton image spécifiée, détecte les objets et enregistre l'image annotée avec des boîtes englobantes et des classifications. L'image annotée sera stockée dans un dossier annotation-results. Cela aide à fournir une représentation visuelle des capacités de détection du modèle.

Neural Magic annotation feature interface

Après avoir exécuté la commande d'évaluation, tu recevras des métriques de sortie détaillées telles que la précision, le rappel et le mAP (moyenne de la précision moyenne). Cela offre une vue d'ensemble des performances de ton modèle sur le jeu de données et est particulièrement utile pour affiner et optimiser tes modèles YOLO26 pour des cas d'utilisation spécifiques, garantissant ainsi une exactitude et une efficacité élevées.

Résumé#

Ce guide a exploré l'intégration de YOLO26 d'Ultralytics avec le moteur DeepSparse de Neural Magic. Il a souligné comment cette intégration améliore les performances de YOLO26 sur les plateformes CPU, offrant une efficacité de niveau GPU et des techniques avancées de sparsité de réseau neuronal.

Pour des informations plus détaillées et une utilisation avancée, visite la documentation DeepSparse de Neural Magic. Tu peux également explorer le guide d'intégration de YOLO26 et regarder une session de présentation sur YouTube.

De plus, pour une compréhension plus large des diverses intégrations de YOLO26, visite la page du guide d'intégration d'Ultralytics, où tu pourras découvrir une gamme d'autres possibilités d'intégration passionnantes.

FAQ#

  • Le DeepSparse Engine de Neural Magic est un moteur d'inférence conçu pour optimiser l'exécution de réseaux de neurones 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 obtenir des performances similaires à 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 maintenant la précision. Pour plus de détails, consulte la section DeepSparse de Neural Magic.

  • L'installation des paquets requis pour déployer YOLO26 avec DeepSparse de Neural Magic est simple. Tu peux facilement les installer en utilisant l'interface CLI. Voici la commande que tu dois exécuter :

    pip install deepsparse[yolov8]

    Une fois installé, suis les étapes fournies dans la section Installation pour configurer ton environnement et commencer à utiliser DeepSparse avec YOLO26.

  • Pour convertir les modèles YOLO26 au format ONNX, qui est requis pour la compatibilité avec DeepSparse, tu peux utiliser la commande CLI suivante :

    yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13

    Cette commande exportera ton modèle YOLO26 (yolo26n.pt) vers un format (yolo26n.onnx) qui peut être utilisé par le DeepSparse Engine. Plus d'informations sur l'exportation de modèles peuvent être trouvées dans la section Exportation de modèles.

  • L'évaluation des performances de YOLO26 sur DeepSparse t'aide à analyser le débit et la latence pour garantir que ton modèle est optimisé. Tu peux utiliser la commande CLI suivante pour effectuer une évaluation :

    deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

    Cette commande te fournira des métriques de performance essentielles. 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 (sur YOLO11n), démontrant les capacités d'optimisation de DeepSparse.
    • Efficacité du modèle optimisée : Utilise des techniques de sparsité, d'élagage et de quantification pour réduire la taille du modèle et les besoins en calcul tout en maintenant la précision.
    • Haute performance sur CPU standard : Offre des performances proches du GPU sur du matériel CPU rentable.
    • Intégration simplifiée : Outils conviviaux pour un déploiement et une intégration faciles.
    • Flexibilité : Prend en charge les modèles YOLO26 standards et ceux optimisés par la sparsité.
    • Rentabilité : Réduit les dépenses opérationnelles grâce à une utilisation efficace des ressources.

    Pour une analyse plus approfondie de ces avantages, visite la section Avantages de l'intégration de DeepSparse de Neural Magic avec YOLO26.

Commentaires