Passer au contenu

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

Ce guide complet fournit une présentation détaillée du déploiement d'Ultralytics YOLO26 sur NVIDIA DGX Spark, le superordinateur d'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.

Présentation de la station de travail NVIDIA Spark AI

Remarque

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

Qu'est-ce que NVIDIA DGX Spark ?

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

Spécifications clés

SpécificationDétails
Performance de l'IAJusqu'à 1 PFLOP (FP4)
GPUArchitecture NVIDIA Blackwell avec cœurs Tensor de 5ème génération, cœurs RT de 4ème génération
CPUProcesseur Arm à 20 cœurs (10 Cortex-X925 + 10 Cortex-A725)
MémoireMémoire système unifiée LPDDR5x de 128 Go, interface 256 bits, 4266 MHz, bande passante de 273 Go/s
Stockage1 To ou 4 To NVMe M.2 avec auto-chiffrement
Réseau1x RJ-45 (10 GbE), ConnectX-7 Smart NIC, 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 supportée pour l'exécution d'applications d'IA, d'apprentissage automatique et d'analyse sur les systèmes DGX. Il comprend :

  • Une base Linux robuste optimisée pour les charges de travail d'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 tableau de bord DGX intégré qui fournit :

  • Surveillance du système en temps réel : Vue d'ensemble des métriques opérationnelles actuelles du système
  • Mises à jour du système : Possibilité d'appliquer les 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éder aux notebooks Jupyter locaux pour le développement

Interface du tableau de bord de gestion NVIDIA

Accéder au tableau de bord

Cliquez sur le bouton « Afficher les applications » dans le coin inférieur gauche du bureau Ubuntu, puis sélectionnez « DGX Dashboard » pour l'ouvrir dans votre navigateur.

# Open an SSH tunnel
ssh -L 11000:localhost:11000 username@spark-abcd.local

# Then open in browser
# http://localhost:11000

Après vous être connecté avec NVIDIA Sync, cliquez sur le bouton « DGX Dashboard » pour ouvrir le tableau de bord à l'adresse http://localhost:11000.

JupyterLab intégré

Le tableau de bord comprend une instance JupyterLab intégrée qui crée automatiquement un environnement virtuel et installe les paquets recommandés lors de son 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 de démarrer 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 cette étape terminée, passez à la section Utiliser TensorRT sur NVIDIA DGX Spark.

Commencer avec l'installation native

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

Installer le paquet Ultralytics

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

  1. Mettre à jour la liste des paquets, installer pip et mettre à niveau vers la dernière version

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. Installer ultralytics Paquet pip avec des dépendances optionnelles

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

    sudo reboot
    

Installer PyTorch et Torchvision

L'installation d'Ultralytics ci-dessus installera Torch et Torchvision. Cependant, ces paquets installés via pip pourraient 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 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, vous pourriez rencontrer le message suivant UserWarning 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 ce problème 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

L'argument onnxruntime-gpu package hébergé dans PyPI n'a pas aarch64 binaires pour les systèmes ARM64. Nous devons donc installer ce paquet manuellement. Ce paquet est nécessaire pour certaines exportations.

Ici, nous allons télécharger et installer onnxruntime-gpu 1.24.0 avec Python3.12 support.

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'exportation de modèles pris en charge par Ultralytics, TensorRT offre les performances d'inférence les plus élevées sur NVIDIA DGX Spark, ce qui en fait notre principale recommandation pour les déploiements. Pour les instructions de configuration et l'utilisation avancée, consultez 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")
# Export a YOLO26n PyTorch model to TensorRT format
yolo export model=yolo26n.pt format=engine # creates 'yolo26n.engine'

# Run inference with the exported model
yolo predict model=yolo26n.engine source='https://ultralytics.com/images/bus.jpg'

Remarque

Consultez la page d’exportation pour accéder à des arguments supplémentaires lors de l’exportation de modèles vers différents formats de modèles.

Benchmarks YOLO11 sur NVIDIA DGX Spark

Des benchmarks YOLO11 ont été exécutés par l'équipe Ultralytics sur plusieurs formats de modèles, mesurant 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 comparatif détaillé

Le tableau ci-dessous présente les résultats des benchmarks pour cinq modèles différents (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) sur plusieurs formats, nous fournissant 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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
PyTorch18.40.57675.38
TorchScript36.50.57815.48
ONNX36.30.57848.17
OpenVINO36.40.580927.12
TensorRT (FP32)39.80.57833.59
TensorRT (FP16)20.10.58001.85
TensorRT (INT8)17.50.56641.88
TF SavedModel90.80.578266.63
TF GraphDef36.30.578271.67
TF Lite36.30.5782187.36
MNN36.20.577527.05
NCNN36.20.580626.26
ExecuTorch36.20.578254.73
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
PyTorch38.80.625411.14
TorchScript77.30.630412.00
ONNX76.90.630413.83
OpenVINO77.10.628462.44
TensorRT (FP32)79.90.63056.96
TensorRT (FP16)40.60.63133.14
TensorRT (INT8)26.60.62043.30
TF SavedModel192.40.6306139.85
TF GraphDef76.90.6306146.76
TF Lite76.90.6306568.18
MNN76.80.630667.67
NCNN76.80.630860.49
ExecuTorch76.90.6306120.37
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
PyTorch49.00.636613.95
TorchScript97.60.639915.67
ONNX97.00.639916.62
OpenVINO97.30.637778.80
TensorRT (FP32)99.20.64078.86
TensorRT (FP16)50.80.63503.85
TensorRT (INT8)32.50.62244.52
TF SavedModel242.70.6409187.45
TF GraphDef97.00.6409193.92
TF Lite97.00.6409728.61
MNN96.90.636985.21
NCNN96.90.637377.62
ExecuTorch97.00.6409153.56
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
PyTorch109.30.699223.19
TorchScript218.10.690025.75
ONNX217.50.690027.43
OpenVINO217.80.6872149.44
TensorRT (FP32)222.70.690213.87
TensorRT (FP16)111.10.68836.19
TensorRT (INT8)62.90.67936.62
TF SavedModel543.90.6900335.10
TF GraphDef217.50.6900348.86
TF Lite217.50.69001578.66
MNN217.30.6874168.95
NCNN217.40.6901132.13
ExecuTorch217.40.6900297.17

Benchmarké avec Ultralytics 8.3.249

Reproduire nos résultats

Pour reproduire les benchmarks Ultralytics ci-dessus sur tous les formats d’exportation, exécutez 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)
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
yolo benchmark model=yolo26n.pt data=coco128.yaml imgsz=640

Notez que les résultats de benchmarking 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 de l'exécution des benchmarks. Pour les résultats les plus fiables, utilisez un jeu de données avec un grand nombre d'images, par exemple, data='coco.yaml' (5000 images de validation).

Bonnes pratiques pour NVIDIA DGX Spark

Lors de l'utilisation de NVIDIA DGX Spark, il existe quelques bonnes pratiques à suivre afin d'obtenir des performances maximales avec YOLO26.

  1. Surveiller les performances du système

    Utilisez les outils de surveillance de NVIDIA pour track l'utilisation du GPU et du CPU :

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

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

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

    Pour des performances optimales, exportez 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 (Édition Fondateurs)

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

Le DGX Dashboard est la méthode recommandée pour effectuer les mises à jour du système tout en garantissant la compatibilité. Il vous permet de :

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

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

Assurez-vous que votre système est connecté à une source d'alimentation stable et que vous avez sauvegardé les données critiques avant d'effectuer les mises à jour.

Prochaines étapes

Pour plus d'informations et de support, consultez la documentation Ultralytics YOLO26.

FAQ

Comment déployer Ultralytics YOLO26 sur NVIDIA DGX Spark ?

Le déploiement d'Ultralytics YOLO26 sur NVIDIA DGX Spark est simple. Vous pouvez 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émarrage avec installation native.

Quelles performances puis-je attendre de YOLO26 sur NVIDIA DGX Spark ?

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

Pourquoi devrais-je utiliser TensorRT pour YOLO26 sur DGX Spark ?

TensorRT est fortement recommandé pour le déploiement des modèles YOLO26 sur DGX Spark en raison de ses performances optimales. Il accélère l'inférence en tirant parti des capacités du GPU Blackwell, garantissant une efficacité et une rapidité maximales. Apprenez-en davantage dans la section Utiliser TensorRT sur NVIDIA DGX Spark.

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

DGX Spark offre une puissance de calcul nettement supérieure à celle des appareils Jetson, avec jusqu'à 1 PFLOP de performances d'IA et 128 Go de mémoire unifiée, contre 2070 TFLOPS et 128 Go de mémoire pour Jetson AGX Thor. DGX Spark est conçu comme un superordinateur d'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' ultralytics/ultralytics:latest-nvidia-arm64 image Docker prend en charge à la fois NVIDIA DGX Spark (avec DGX OS) et Jetson AGX Thor (avec JetPack 7.0), car les deux utilisent l'architecture ARM64 avec CUDA 13 et des piles logicielles similaires.



📅 Créé il y a 21 jours ✏️ Mis à jour il y a 9 jours
glenn-jocherlakshanthadonuralpszr

Commentaires