Optimisation des 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 divers matériels, tu peux rencontrer des problèmes uniques comme l'optimisation. C'est là qu'intervient l'intégration de YOLO26 avec le moteur DeepSparse de Neural Magic. Elle transforme la manière dont les modèles YOLO26 sont exécutés et permet d'atteindre des performances de niveau GPU directement sur des processeurs (CPU).

Ce guide te montre comment déployer YOLO26 en utilisant DeepSparse de Neural Magic, comment effectuer des inférences, et 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 sparseml.

DeepSparse de Neural Magic

Neural Magic's DeepSparse Overview

DeepSparse de Neural Magic est un moteur d'exécution d'inférence conçu pour optimiser l'exécution des réseaux neuronaux sur CPU. Il applique des techniques avancées comme la sparsification (ou parcimonie), l'élagage (pruning) 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 neuronaux 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 l'utilisation de DeepSparse. Parmi les points clés, on trouve :

  • 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é optimale du modèle : Utilise l'élagage et la quantification pour améliorer l'efficacité de YOLO26, réduisant la taille du modèle et les besoins en calcul tout en maintenant la précision.

Neural Magic model optimization and pruning

  • Haute performance sur CPU standard : Offre des performances comparables à celles d'un GPU sur des processeurs, 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.

  • Prise en charge de divers types de modèles : Compatible avec les modèles YOLO26 standard et ceux optimisés par sparsification, ajoutant une flexibilité de déploiement.

  • Solution rentable et évolutive : Réduit les dépenses opérationnelles et offre un 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 le calcul des réseaux neuronaux. Elle adopte deux principes clés du cerveau comme suit :

  • Sparsité (Parcimonie) : Le processus de sparsification consiste à élaguer les informations redondantes des réseaux de deep learning, conduisant à 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é 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'intégrant entièrement dans le cache du processeur. 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éation d'une version sparse de YOLO26 entraînée sur un jeu de données personnalisé

SparseZoo, un référentiel de modèles open-source de Neural Magic, propose une collection de points de contrôle (checkpoints) de modèles YOLO26 pré-sparsifiés. Avec SparseML, parfaitement intégré à Ultralytics, tu peux facilement affiner (fine-tune) ces checkpoints sparsifiés sur tes propres jeux de données en utilisant une interface de ligne de commande simple.

Consulte la documentation SparseML YOLO26 de Neural Magic pour plus de détails.

Utilisation : Déploiement de YOLO26 avec DeepSparse

Le déploiement de YOLO26 avec DeepSparse de Neural Magic implique quelques étapes simples. Avant de te lancer 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 approprié aux exigences de ton projet. Voici comment commencer.

Étape 1 : Installation

Pour installer les packages requis, exécute :

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

Étape 2 : Exportation de YOLO26 vers le format ONNX

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

Exportation de 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 : Analyse comparative des performances

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

Benchmarking
# 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 l'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 permet d'obtenir 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 eval, tu recevras des mesures de sortie détaillées telles que la précision, le rappel et la mAP (précision moyenne moyenne). Cela donne une vue complète 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, assurant une précision 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 sparsification de réseaux neuronaux.

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 YOLO26 et regarder une session de démonstration sur YouTube.

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

FAQ

Qu'est-ce que le moteur DeepSparse de Neural Magic et comment optimise-t-il les performances de YOLO26 ?

Le moteur DeepSparse de Neural Magic est un moteur d'exécution d'inférence conçu pour optimiser l'exécution des réseaux neuronaux sur CPU grâce à des techniques avancées telles que la sparsification, l'élagage et la quantification. En intégrant DeepSparse à YOLO26, tu peux obtenir des performances de type GPU sur des processeurs standards, améliorant 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.

Comment puis-je installer les paquets nécessaires pour déployer YOLO26 en utilisant 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.

Comment convertir les modèles YOLO26 au format ONNX pour les utiliser avec DeepSparse ?

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) pouvant être utilisé par le moteur DeepSparse. Plus d'informations sur l'exportation de modèles peuvent être trouvées dans la section Exportation de modèle.

Comment benchmarker les performances de YOLO26 sur le moteur DeepSparse ?

L'analyse comparative (benchmarking) 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 lancer un benchmark :

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

Cette commande te fournira des mesures de performance essentielles. Pour plus de détails, consulte la section Analyse comparative des performances.

Pourquoi devrais-je utiliser DeepSparse de Neural Magic avec YOLO26 pour les tâches de détection d'objets ?

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é optimale du modèle : Utilise des techniques de sparsification, 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 comparables à celles d'un 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 standard et optimisés par sparsification.
  • Rentable : Réduit les dépenses opérationnelles grâce à une utilisation efficace des ressources.

Pour une plongée plus profonde dans ces avantages, visite la section Avantages de l'intégration de DeepSparse de Neural Magic avec YOLO26.

Commentaires