Guide de démarrage rapide : NVIDIA DGX Spark avec Ultralytics YOLO26

Ce guide complet fournit une procédure détaillée pour déployer Ultralytics YOLO26 sur NVIDIA DGX Spark, le superordinateur IA de bureau compact de NVIDIA. De plus, il présente des benchmarks de performance pour démontrer les capacités de YOLO26 sur ce système puissant.

NVIDIA DGX Spark AI workstation overview

Remarque

Ce guide a été testé avec l'édition NVIDIA DGX Spark Founders Edition exécutant DGX OS basé sur Ubuntu. Il devrait fonctionner avec les dernières versions de DGX OS.

Qu'est-ce que NVIDIA DGX Spark ?

NVIDIA DGX Spark est un superordinateur IA de bureau compact alimenté par la superpuce NVIDIA GB10 Grace Blackwell. Il offre jusqu'à 1 pétaFLOP de performance de calcul IA avec une précision FP4, ce qui le rend idéal pour les développeurs, les chercheurs et les data scientists ayant besoin de capacités IA puissantes dans un format de bureau.



Watch: How to Get up to 1000 FPS with Ultralytics YOLO26 on NVIDIA DGX Spark | TensorRT & Batch Inference

Spécifications clés

SpécificationDétails
Performance IAJusqu'à 1 PFLOP (FP4)
GPUArchitecture NVIDIA Blackwell avec cœurs Tensor de 5e génération, cœurs RT de 4e génération
CPUProcesseur Arm 20 cœurs (10 Cortex-X925 + 10 Cortex-A725)
Mémoire128 Go de mémoire système unifiée LPDDR5x, interface 256 bits, 4266 MHz, bande passante 273 Go/s
Stockage1 To ou 4 To NVMe M.2 avec auto-chiffrement
Réseau1x RJ-45 (10 GbE), carte réseau intelligente ConnectX-7, Wi-Fi 7, Bluetooth 5.4
Connectivité4x USB Type-C, 1x HDMI 2.1a, audio multicanal HDMI
Traitement vidéo1x NVENC, 1x NVDEC

DGX OS

NVIDIA DGX OS est une distribution Linux personnalisée qui fournit une base de système d'exploitation stable, testée et prise en charge pour exécuter des applications d'IA, de machine learning et d'analyse sur les systèmes DGX. Il inclut :

  • Une base Linux robuste optimisée pour les charges de travail IA
  • Pilotes et paramètres système préconfigurés pour le matériel NVIDIA
  • Mises à jour de sécurité et capacités de maintenance du système
  • Compatibilité avec l'écosystème logiciel NVIDIA plus large

DGX OS suit un calendrier de publication régulier avec des mises à jour généralement fournies deux fois par an (vers février et août), avec des correctifs de sécurité supplémentaires fournis entre les versions majeures.

Tableau de bord DGX

DGX Spark est livré avec un DGX Dashboard intégré qui fournit :

  • Surveillance du système en temps réel : Aperçu des métriques opérationnelles actuelles du système
  • Mises à jour du système : Possibilité d'appliquer des mises à jour directement depuis le tableau de bord
  • Paramètres système : Modifier le nom de l'appareil et d'autres configurations
  • JupyterLab intégré : Accès aux Jupyter Notebooks locaux pour le développement

NVIDIA DGX management dashboard interface

Accéder au tableau de bord

Clique le bouton « Afficher les applications » dans le coin inférieur gauche du bureau Ubuntu, puis sélectionne « DGX Dashboard » pour l'ouvrir dans ton navigateur.

JupyterLab intégré

Le tableau de bord inclut une instance JupyterLab intégrée qui crée automatiquement un environnement virtuel et installe les packages recommandés au démarrage. Chaque compte utilisateur se voit attribuer un port dédié pour l'accès à JupyterLab.

Démarrage rapide avec Docker

Le moyen le plus rapide pour commencer avec Ultralytics YOLO26 sur NVIDIA DGX Spark est d'utiliser des images docker pré-construites. La même image Docker qui prend en charge Jetson AGX Thor (JetPack 7.0) fonctionne sur DGX Spark avec DGX OS.

t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia --gpus all $t

Une fois cela fait, passe à la section Utiliser TensorRT sur NVIDIA DGX Spark.

Commencer par une installation native

Pour une installation native sans Docker, suis ces étapes.

Installer le package Ultralytics

Ici, nous allons installer le package Ultralytics sur DGX Spark avec les dépendances optionnelles afin de pouvoir exporter les modèles PyTorch vers d'autres formats. Nous nous concentrerons principalement sur les exports NVIDIA TensorRT car TensorRT garantira d'obtenir les performances maximales du DGX Spark.

  1. Mettre à jour la liste des packages, installer pip et passer à la dernière version

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installer le package pip ultralytics avec les dépendances optionnelles

    pip install ultralytics[export]
  3. Redémarrer l'appareil

    sudo reboot

Installer PyTorch et Torchvision

L'installation d'ultralytics ci-dessus installera Torch et Torchvision. Cependant, ces packages installés via pip peuvent ne pas être entièrement optimisés pour l'architecture ARM64 du DGX Spark avec CUDA 13. Par conséquent, nous recommandons d'installer les versions compatibles avec CUDA 13 :

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130
Info

Lors de l'exécution de PyTorch 2.9.1 sur NVIDIA DGX Spark, tu pourrais rencontrer le UserWarning suivant lors de l'initialisation de CUDA (par exemple en exécutant yolo checks, yolo predict, etc.) :

UserWarning: Found GPU0 NVIDIA GB10 which is of cuda capability 12.1.
Minimum and Maximum cuda capability supported by this version of PyTorch is (8.0) - (12.0)

Cet avertissement peut être ignoré en toute sécurité. Pour résoudre cela de manière permanente, un correctif a été soumis dans la PR PyTorch #164590 qui sera inclus dans la version PyTorch 2.10.

Installer onnxruntime-gpu

Le package onnxruntime-gpu hébergé sur PyPI ne possède pas de binaires aarch64 pour les systèmes ARM64. Nous devons donc installer ce package manuellement. Ce package est nécessaire pour certains exports.

Ici, nous allons télécharger et installer onnxruntime-gpu 1.24.0 avec la prise en charge de Python3.12.

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whl

Utiliser TensorRT sur NVIDIA DGX Spark

Parmi tous les formats d'export de modèle pris en charge par Ultralytics, TensorRT offre les meilleures performances d'inférence sur NVIDIA DGX Spark, ce qui en fait notre recommandation principale pour les déploiements. Pour les instructions de configuration et l'utilisation avancée, consulte notre guide d'intégration TensorRT dédié.

Convertir le modèle en TensorRT et exécuter l'inférence

Le modèle YOLO26n au format PyTorch est converti en TensorRT pour exécuter l'inférence avec le modèle exporté.

Exemple
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model to TensorRT
model.export(format="engine")  # creates 'yolo26n.engine'

# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
Remarque

Visite la page Export pour accéder à des arguments supplémentaires lors de l'exportation de modèles vers différents formats.

Benchmarks YOLO11 sur NVIDIA DGX Spark

Les benchmarks YOLO11 ont été exécutés par l'équipe Ultralytics sur plusieurs formats de modèles pour mesurer la vitesse et la précision : PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Les benchmarks ont été exécutés sur NVIDIA DGX Spark avec une précision FP32 et une taille d'image d'entrée par défaut de 640.

Tableau de comparaison détaillé

Le tableau ci-dessous représente les résultats des benchmarks pour cinq modèles différents (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) à travers plusieurs formats, nous donnant le statut, la taille, la métrique mAP50-95(B) et le temps d'inférence pour chaque combinaison.

Performance
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
PyTorch5.40.50712.67
TorchScript10.50.50832.62
ONNX10.20.50745.92
OpenVINO10.40.505814.95
TensorRT (FP32)12.80.50851.95
TensorRT (FP16)7.00.50681.01
TensorRT (INT8)18.60.48801.62
TF SavedModel25.70.507636.39
TF GraphDef10.30.507641.06
TF Lite10.30.507564.36
MNN10.10.507512.14
NCNN10.20.504112.31
ExecuTorch10.20.507527.61

Benchmarké avec Ultralytics 8.3.249

Reproduis nos résultats

Pour reproduire les benchmarks Ultralytics ci-dessus sur tous les formats d'exportation, exécute ce code :

Exemple
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)

Note que les résultats des benchmarks peuvent varier en fonction de la configuration matérielle et logicielle exacte d'un système, ainsi que de la charge de travail actuelle du système au moment où les benchmarks sont exécutés. Pour des résultats les plus fiables, utilise un jeu de données avec un grand nombre d'images, par exemple data='coco.yaml' (5000 images de validation).

Meilleures pratiques pour NVIDIA DGX Spark

Lorsque tu utilises NVIDIA DGX Spark, il y a quelques meilleures pratiques à suivre afin de permettre des performances maximales lors de l'exécution de YOLO26.

  1. Surveille les performances du système

    Utilise les outils de surveillance de NVIDIA pour suivre l'utilisation du GPU et du CPU :

    nvidia-smi
  2. Optimise l'utilisation de la mémoire

    Avec 128 Go de mémoire unifiée, DGX Spark peut gérer de grandes tailles de lots et des modèles. Envisage d'augmenter la taille du lot pour un meilleur débit :

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.engine")
    results = model.predict(source="path/to/images", batch=16)
  3. Utilise TensorRT avec FP16 ou INT8

    Pour de meilleures performances, exporte les modèles avec une précision FP16 ou INT8 :

    yolo export model=yolo26n.pt format=engine half=True # FP16
    yolo export model=yolo26n.pt format=engine int8=True # INT8

Mises à jour du système (Founders Edition)

Garder ton DGX Spark Founders Edition à jour est crucial pour les performances et la sécurité. NVIDIA fournit deux méthodes principales pour mettre à jour le système d'exploitation, les pilotes et le firmware.

Utiliser le DGX Dashboard (Recommandé)

Le DGX Dashboard est le moyen recommandé pour effectuer les mises à jour du système en assurant la compatibilité. Il te permet de :

  • Voir les mises à jour système disponibles
  • Installer les correctifs de sécurité et les mises à jour système
  • Gérer les mises à jour des pilotes NVIDIA et du firmware

Mises à jour manuelles du système

Pour les utilisateurs avancés, les mises à jour peuvent être effectuées manuellement via le terminal :

sudo apt update
sudo apt dist-upgrade
sudo fwupdmgr refresh
sudo fwupdmgr upgrade
sudo reboot
Avertissement

Assure-toi que ton système est connecté à une source d'alimentation stable et que tu as sauvegardé les données critiques avant d'effectuer les mises à jour.

Étapes suivantes

Pour en apprendre davantage et obtenir du support, consulte la documentation Ultralytics YOLO26.

FAQ

Comment déployer Ultralytics YOLO26 sur NVIDIA DGX Spark ?

Déployer Ultralytics YOLO26 sur NVIDIA DGX Spark est simple. Tu peux utiliser l'image Docker pré-construite pour une configuration rapide ou installer manuellement les paquets requis. Les étapes détaillées pour chaque approche se trouvent dans les sections Démarrage rapide avec Docker et Démarrer avec une installation native.

Quelle performance puis-je attendre de YOLO26 sur NVIDIA DGX Spark ?

Les modèles YOLO26 offrent d'excellentes performances sur DGX Spark grâce au GB10 Grace Blackwell Superchip. Le format TensorRT offre la meilleure performance d'inférence. Consulte la section Tableau de comparaison détaillé pour des résultats de benchmark spécifiques selon les différentes tailles et formats de modèles.

Pourquoi utiliser TensorRT pour YOLO26 sur DGX Spark ?

TensorRT est hautement recommandé pour déployer des modèles YOLO26 sur DGX Spark en raison de sa performance optimale. Il accélère l'inférence en exploitant les capacités du GPU Blackwell, assurant une efficacité et une vitesse maximales. Apprends-en plus dans la section Utiliser TensorRT sur NVIDIA DGX Spark.

Comment DGX Spark se compare-t-il aux appareils Jetson pour YOLO26 ?

DGX Spark offre beaucoup plus de puissance de calcul que les appareils Jetson avec jusqu'à 1 PFLOP de performance IA et 128 Go de mémoire unifiée, contre 2070 TFLOPS et 128 Go de mémoire pour le Jetson AGX Thor. DGX Spark est conçu comme un superordinateur IA de bureau, tandis que les appareils Jetson sont des systèmes embarqués optimisés pour le déploiement en périphérie.

Puis-je utiliser la même image Docker pour DGX Spark et Jetson AGX Thor ?

Oui ! L'image Docker ultralytics/ultralytics:latest-nvidia-arm64 prend en charge à la fois NVIDIA DGX Spark (avec DGX OS) et Jetson AGX Thor (avec JetPack 7.0), car tous deux utilisent l'architecture ARM64 avec CUDA 13 et des piles logicielles similaires.

Commentaires