Zum Inhalt springen

Schnellstartanleitung: NVIDIA DGX Spark mit Ultralytics YOLO26

Dieser umfassende Leitfaden bietet eine detaillierte Anleitung zur Bereitstellung von Ultralytics YOLO26 auf NVIDIA DGX Spark, NVIDIAs kompaktem Desktop-KI-Supercomputer. Zusätzlich werden Leistungs-Benchmarks vorgestellt, um die Fähigkeiten von YOLO26 auf diesem leistungsstarken System zu demonstrieren.

Übersicht über die NVIDIA Spark KI-Workstation

Hinweis

Dieser Leitfaden wurde mit der NVIDIA DGX Spark Founders Edition getestet, die DGX OS basierend auf Ubuntu ausführt. Es wird erwartet, dass er mit den neuesten DGX OS-Versionen funktioniert.

Was ist NVIDIA DGX Spark?

NVIDIA DGX Spark ist ein kompakter Desktop-KI-Supercomputer, der vom NVIDIA GB10 Grace Blackwell Superchip angetrieben wird. Er liefert bis zu 1 PetaFLOP KI-Rechenleistung mit FP4-Präzision, was ihn ideal für Entwickler, Forscher und Datenwissenschaftler macht, die leistungsstarke KI-Funktionen in einem Desktop-Formfaktor benötigen.

Wichtige Spezifikationen

SpezifikationDetails
KI-LeistungBis zu 1 PFLOP (FP4)
GPUNVIDIA Blackwell Architektur mit Tensor Cores der 5. Generation, RT Cores der 4. Generation
CPU20-Kern Arm-Prozessor (10 Cortex-X925 + 10 Cortex-A725)
Arbeitsspeicher128 GB LPDDR5x vereinheitlichter Systemspeicher, 256-Bit-Schnittstelle, 4266 MHz, 273 GB/s Bandbreite
Speicher1 TB oder 4 TB NVMe M.2 mit Selbstverschlüsselung
Netzwerk1x RJ-45 (10 GbE), ConnectX-7 Smart NIC, Wi-Fi 7, Bluetooth 5.4
Konnektivität4x USB Type-C, 1x HDMI 2.1a, HDMI Mehrkanal-Audio
Videoverarbeitung1x NVENC, 1x NVDEC

DGX OS

NVIDIA DGX OS ist eine angepasste Linux-Distribution, die eine stabile, getestete und unterstützte Betriebssystemgrundlage zum Ausführen von KI-, Machine-Learning- und Analyseanwendungen auf DGX-Systemen bietet. Es umfasst:

  • Eine robuste Linux-Grundlage, optimiert für KI-Workloads
  • Vorkonfigurierte Treiber und Systemeinstellungen für NVIDIA-Hardware
  • Sicherheitsupdates und Systemwartungsfunktionen
  • Kompatibilität mit dem breiteren NVIDIA-Software-Ökosystem

DGX OS folgt einem regelmäßigen Release-Zeitplan, wobei Updates typischerweise zweimal pro Jahr (etwa im Februar und August) bereitgestellt werden und zusätzliche Sicherheitspatches zwischen den Haupt-Releases zur Verfügung gestellt werden.

DGX Dashboard

DGX Spark verfügt über ein integriertes DGX Dashboard, das Folgendes bietet:

  • Echtzeit-Systemüberwachung: Übersicht über die aktuellen Betriebsmetriken des Systems
  • System-Updates: Möglichkeit, Updates direkt über das Dashboard anzuwenden
  • Systemeinstellungen: Gerätenamen und andere Konfigurationen ändern
  • Integriertes JupyterLab: Zugriff auf lokale Jupyter Notebooks für die Entwicklung

NVIDIA DGX-Verwaltungs-Dashboard-Schnittstelle

Zugriff auf das Dashboard

Klicken Sie auf die Schaltfläche „Anwendungen anzeigen“ in der unteren linken Ecke des Ubuntu-Desktops und wählen Sie dann „DGX Dashboard“ aus, um es in Ihrem Browser zu öffnen.

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

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

Nach der Verbindung mit NVIDIA Sync klicken Sie auf die Schaltfläche „DGX Dashboard“, um das Dashboard unter zu öffnen http://localhost:11000.

Integriertes JupyterLab

Das Dashboard enthält eine integrierte JupyterLab-Instanz, die beim Start automatisch eine virtuelle Umgebung erstellt und empfohlene Pakete installiert. Jedem Benutzerkonto wird ein dedizierter Port für den JupyterLab-Zugriff zugewiesen.

Schnellstart mit Docker

Der schnellste Weg, um mit Ultralytics YOLO26 auf NVIDIA DGX Spark zu beginnen, ist die Verwendung vorgefertigter Docker-Images. Das gleiche Docker-Image, das Jetson AGX Thor (JetPack 7.0) unterstützt, funktioniert auf DGX Spark mit DGX OS.

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

Danach fahren Sie fort mit dem Abschnitt „TensorRT auf NVIDIA DGX Spark verwenden“.

Starten Sie mit der nativen Installation

Für eine native Installation ohne Docker befolgen Sie diese Schritte.

Ultralytics-Paket installieren

Hier installieren wir das Ultralytics-Paket auf DGX Spark mit optionalen Abhängigkeiten, damit wir die PyTorch-Modelle in verschiedene andere Formate exportieren können. Wir werden uns hauptsächlich auf NVIDIA TensorRT-Exporte konzentrieren, da TensorRT sicherstellt, dass wir die maximale Leistung aus dem DGX Spark herausholen können.

  1. Paketliste aktualisieren, pip installieren und auf die neueste Version aktualisieren

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. Installieren ultralytics pip-Paket mit optionalen Abhängigkeiten

    pip install ultralytics[export]
    
  3. Gerät neu starten

    sudo reboot
    

PyTorch und Torchvision installieren

Die oben genannte Ultralytics-Installation wird Torch und Torchvision installieren. Diese über pip installierten Pakete sind jedoch möglicherweise nicht vollständig für die ARM64-Architektur des DGX Spark mit CUDA 13 optimiert. Daher empfehlen wir die Installation der CUDA 13-kompatiblen Versionen:

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

Info

Beim Ausführen von PyTorch 2.9.1 auf NVIDIA DGX Spark kann Folgendes auftreten: UserWarning bei der Initialisierung von CUDA (z. B. beim Ausführen von yolo checks, yolo predict, usw.):

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)

Diese Warnung kann bedenkenlos ignoriert werden. Um dies dauerhaft zu beheben, wurde ein Fix im PyTorch PR #164590 eingereicht, der in der PyTorch 2.10-Version enthalten sein wird.

Installieren onnxruntime-gpu

Die onnxruntime-gpu Das in PyPI gehostete Paket hat keine aarch64 Binärdateien für ARM64-Systeme. Daher müssen wir dieses Paket manuell installieren. Dieses Paket wird für einige der Exporte benötigt.

Hier werden wir herunterladen und installieren onnxruntime-gpu 1.24.0 mit Python3.12 Unterstützung.

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

TensorRT auf NVIDIA DGX Spark verwenden

Unter allen von Ultralytics unterstützten Modell-Exportformaten bietet TensorRT die höchste Inferenzleistung auf NVIDIA DGX Spark, was es zu unserer Top-Empfehlung für Bereitstellungen macht. Installationsanweisungen und fortgeschrittene Nutzung finden Sie in unserem dedizierten TensorRT-Integrationsleitfaden.

Modell in TensorRT konvertieren und Inferenz ausführen

Das YOLO26n-Modell im PyTorch-Format wird in TensorRT konvertiert, um die Inferenz mit dem exportierten Modell auszuführen.

Beispiel

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'

Hinweis

Besuchen Sie die Export-Seite, um auf zusätzliche Argumente beim Exportieren von Modellen in verschiedene Modellformate zuzugreifen.

NVIDIA DGX Spark YOLO11 Benchmarks

YOLO11-Benchmarks wurden vom Ultralytics-Team für mehrere Modellformate durchgeführt, um Geschwindigkeit und Genauigkeit zu messen: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Die Benchmarks wurden auf NVIDIA DGX Spark mit FP32-Präzision und einer Standardeingabebildgröße von 640 durchgeführt.

Detaillierte Vergleichstabelle

Die folgende Tabelle zeigt die Benchmark-Ergebnisse für fünf verschiedene Modelle (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) über mehrere Formate hinweg, einschließlich Status, Größe, mAP50-95(B)-Metrik und Inferenzzeit für jede Kombination.

Performance

FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
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
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
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
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
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
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
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
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
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

Benchmarked mit Ultralytics 8.3.249

Unsere Ergebnisse reproduzieren

Um die oben genannten Ultralytics-Benchmarks auf allen Export-Formaten zu reproduzieren, führen Sie diesen Code aus:

Beispiel

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

Beachten Sie, dass die Benchmarking-Ergebnisse je nach genauer Hardware- und Softwarekonfiguration eines Systems sowie der aktuellen Systemauslastung zum Zeitpunkt der Benchmark-Ausführung variieren können. Für die zuverlässigsten Ergebnisse verwenden Sie einen Datensatz mit einer großen Anzahl von Bildern, z. B. data='coco.yaml' (5000 Validierungsbilder).

Best Practices für NVIDIA DGX Spark

Bei der Verwendung von NVIDIA DGX Spark gibt es einige Best Practices, die befolgt werden sollten, um die maximale Leistung beim Ausführen von YOLO26 zu erzielen.

  1. Systemleistung überwachen

    Verwenden Sie die Überwachungstools von NVIDIA, um die GPU- und CPU-Auslastung zu tracken:

    nvidia-smi
    
  2. Speichernutzung optimieren

    Mit 128 GB Unified Memory kann DGX Spark große Batch-Größen und Modelle verarbeiten. Erwägen Sie eine Erhöhung der Batch-Größe für einen verbesserten Durchsatz:

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

    Für beste Leistung exportieren Sie Modelle mit FP16- oder INT8-Präzision:

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

System-Updates (Founders Edition)

Die Aktualisierung Ihrer DGX Spark Founders Edition ist entscheidend für Leistung und Sicherheit. NVIDIA bietet zwei primäre Methoden zur Aktualisierung des System-Betriebssystems, der Treiber und der Firmware.

Das DGX Dashboard ist der empfohlene Weg, Systemaktualisierungen durchzuführen und die Kompatibilität sicherzustellen. Es ermöglicht Ihnen:

  • Verfügbare Systemaktualisierungen anzeigen
  • Sicherheitspatches und Systemaktualisierungen installieren
  • NVIDIA-Treiber- und Firmware-Updates verwalten

Manuelle System-Updates

Für fortgeschrittene Benutzer können Updates manuell über das Terminal durchgeführt werden:

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

Warnung

Stellen Sie sicher, dass Ihr System an eine stabile Stromquelle angeschlossen ist und Sie wichtige Daten gesichert haben, bevor Sie Updates durchführen.

Nächste Schritte

Für weitere Informationen und Unterstützung siehe die Ultralytics YOLO26 Docs.

FAQ

Wie stelle ich Ultralytics YOLO26 auf NVIDIA DGX Spark bereit?

Die Bereitstellung von Ultralytics YOLO26 auf NVIDIA DGX Spark ist unkompliziert. Sie können das vorgefertigte Docker-Image für eine schnelle Einrichtung verwenden oder die erforderlichen Pakete manuell installieren. Detaillierte Schritte für jeden Ansatz finden Sie in den Abschnitten Quick Start with Docker und Start with Native Installation.

Welche Leistung kann ich von YOLO26 auf NVIDIA DGX Spark erwarten?

YOLO26-Modelle liefern dank des GB10 Grace Blackwell Superchips eine hervorragende Leistung auf DGX Spark. Das TensorRT-Format bietet die beste Inferenzleistung. Spezifische Benchmark-Ergebnisse für verschiedene Modellgrößen und -formate finden Sie im Abschnitt Detailed Comparison Table.

Warum sollte ich TensorRT für YOLO26 auf DGX Spark verwenden?

TensorRT wird für die Bereitstellung von YOLO26-Modellen auf DGX Spark aufgrund seiner optimalen Leistung dringend empfohlen. Es beschleunigt die Inferenz, indem es die Blackwell GPU-Fähigkeiten nutzt und so maximale Effizienz und Geschwindigkeit gewährleistet. Erfahren Sie mehr im Abschnitt Use TensorRT on NVIDIA DGX Spark.

Wie schneidet DGX Spark im Vergleich zu Jetson-Geräten für YOLO26 ab?

DGX Spark bietet deutlich mehr Rechenleistung als Jetson-Geräte mit bis zu 1 PFLOP KI-Leistung und 128 GB vereinheitlichtem Speicher, im Vergleich zu Jetson AGX Thors 2070 TFLOPS und 128 GB Speicher. DGX Spark ist als Desktop-KI-Supercomputer konzipiert, während Jetson-Geräte eingebettete Systeme sind, die für Edge-Deployments optimiert sind.

Kann ich dasselbe Docker-Image für DGX Spark und Jetson AGX Thor verwenden?

Ja! Das ultralytics/ultralytics:latest-nvidia-arm64 Docker-Image unterstützt sowohl NVIDIA DGX Spark (mit DGX OS) als auch Jetson AGX Thor (mit JetPack 7.0), da beide die ARM64-Architektur mit CUDA 13 und ähnlichen Software-Stacks verwenden.



📅 Erstellt vor 21 Tagen ✏️ Aktualisiert vor 9 Tagen
glenn-jocherlakshanthadonuralpszr

Kommentare