Zum Inhalt springen

Schnellstartanleitung: NVIDIA Spark mit Ultralytics YOLO11

Dieser umfassende Leitfaden enthält eine detaillierte Anleitung für die Bereitstellung von Ultralytics YOLO11 NVIDIA Spark, dem kompakten Desktop-KI-Supercomputer NVIDIA. Darüber hinaus werden Leistungsbenchmarks vorgestellt, um die Fähigkeiten von YOLO11 diesem leistungsstarken System zu demonstrieren.

NVIDIA Spark

Hinweis

Dieser Leitfaden wurde mit NVIDIA Spark Founders Edition unter DGX OS auf Basis von Ubuntu getestet. Es wird davon ausgegangen, dass er mit den neuesten DGX OS-Versionen funktioniert.

Was ist NVIDIA Spark?

NVIDIA Spark ist ein kompakter Desktop-KI-Supercomputer, der mit dem NVIDIA Grace Blackwell Superchip betrieben wird. Er liefert eine KI-Rechenleistung von bis zu 1 PetaFLOP mit FP4-Genauigkeit und ist damit ideal für Entwickler, Forscher und Datenwissenschaftler, die leistungsstarke KI-Funktionen in einem Desktop-Formfaktor benötigen.

Wichtige Spezifikationen

SpezifikationDetails
KI-LeistungBis zu 1 PFLOP (FP4)
GPUNVIDIA -Architektur mit Tensor der 5. Generation und RT-Kernen der 4. Generation
CPU20-Kern-Arm-Prozessor (10 Cortex-X925 + 10 Cortex-A725)
Arbeitsspeicher128 GB LPDDR5x einheitlicher Systemspeicher, 256-Bit-Schnittstelle, 4266 MHz, 273 GB/s Bandbreite
Lagerung1 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 Typ C, 1x HDMI 2.1a, HDMI-Mehrkanal-Audio
Videoverarbeitung1x NVENC, 1x NVDEC

DGX-Betriebssystem

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

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

DGX OS folgt einem regelmäßigen Release-Zeitplan mit Updates, die in der Regel zweimal pro Jahr (etwa im Februar und August) bereitgestellt werden, wobei zwischen den Hauptreleases zusätzliche Sicherheitspatches bereitgestellt werden.

DGX-Dashboard

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

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

NVIDIA -Dashboard

Zugriff auf das Dashboard

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

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

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

Nachdem Sie eine Verbindung mit NVIDIA hergestellt haben, klicken Sie auf die Schaltfläche „DGX Dashboard“, um das Dashboard unter 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 Zugriff auf JupyterLab zugewiesen.

Schnellstart mit Docker

Der schnellste Weg, um mit Ultralytics YOLO11 NVIDIA Spark zu beginnen, ist die Verwendung vorgefertigter Docker-Images. Das gleiche Docker-Image, das Jetson AGX Thor (JetPack 7.0) unterstützt, funktioniert auch 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

Nachdem dies erledigt ist, fahren Sie mit dem Abschnitt TensorRT NVIDIA Spark verwenden“ fort.

Starten Sie mit der nativen Installation

Für eine native Installation ohne Docker führen Sie die folgenden Schritte aus.

Ultralytics-Paket installieren

Hier installieren wir Ultralytics auf DGX Spark mit optionalen Abhängigkeiten, damit wir das PyTorch Modelle in andere Formate exportieren können. Wir werden uns hauptsächlich auf NVIDIA TensorRT konzentrieren, da TensorRT wir die maximale Leistung aus 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 installiert Torch Torchvision. Diese über pip installierten Pakete sind jedoch möglicherweise nicht vollständig für die ARM64-Architektur des DGX Spark mit CUDA optimiert. Daher empfehlen wir die Installation der CUDA -kompatiblen Versionen:

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

Info

Wenn Sie PyTorch .9. PyTorch auf NVIDIA Spark ausführen, kann es zu folgenden Problemen kommen: UserWarning beim Initialisieren von CUDA z. B. beim Ausführen von yolo checks, yolo predictusw.):

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 getrost ignoriert werden. Um dieses Problem dauerhaft zu beheben, wurde in PyTorch #164590 ein Fix eingereicht, der in die Version PyTorch .10 aufgenommen 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

Verwenden Sie TensorRT NVIDIA Spark

Unter allen von Ultralytics unterstützten Modell-Exportformaten TensorRT die höchste Inferenzleistung auf NVIDIA Spark und ist daher unsere erste Empfehlung für Implementierungen. Anweisungen zur Einrichtung und zur erweiterten Nutzung finden Sie in unserem speziellen TensorRT .

Modell in TensorRT konvertieren und Inferenz ausführen

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

Beispiel

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

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

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

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format
yolo export model=yolo11n.pt format=engine # creates 'yolo11n.engine'

# Run inference with the exported model
yolo predict model=yolo11n.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 Spark YOLO11

Das Ultralytics führte YOLO11 für mehrere Modellformate durch, um Geschwindigkeit und Genauigkeit zu messen: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF , MNN, NCNN, ExecuTorch. Die Benchmarks wurden auf NVIDIA Spark mit FP32-Genauigkeit und einer Standard-Eingabebildgröß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) in verschiedenen Formaten und gibt Auskunft über den Status, die Größe, die Metrik mAP50(B) und die 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

Benchmark mit Ultralytics .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 YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)
# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all export formats
yolo benchmark model=yolo11n.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).

Bewährte Verfahren für NVIDIA Spark

Bei der Verwendung von NVIDIA Spark gibt es einige bewährte Verfahren, die befolgt werden sollten, um die maximale Leistung bei der Ausführung von YOLO11 zu erzielen.

  1. Überwachen Sie die Systemleistung

    Verwenden Sie die Überwachungstools NVIDIA, um CPU GPU CPU track :

    nvidia-smi
    
  2. Speichernutzung optimieren

    Mit 128 GB einheitlichem Speicher kann DGX Spark große Batch-Größen und Modelle verarbeiten. Erwägen Sie eine Erhöhung der Batch-Größe, um den Durchsatz zu verbessern:

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

    Für beste Leistung exportieren Sie Modelle mit FP16- oder INT8-Genauigkeit:

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

Systemaktualisierungen (Founders Edition)

Es ist für die Leistung und Sicherheit von entscheidender Bedeutung, dass Sie Ihre DGX Spark Founders Edition auf dem neuesten Stand halten. NVIDIA zwei primäre Methoden zum Aktualisieren des Betriebssystems, der Treiber und der Firmware des Systems.

Das DGX-Dashboard ist die empfohlene Methode, um Systemaktualisierungen durchzuführen und die Kompatibilität sicherzustellen. Damit können Sie:

  • Verfügbare Systemaktualisierungen anzeigen
  • Installieren Sie Sicherheitspatches und System-Updates.
  • Verwalten Sie NVIDIA und Firmware-Updates

Manuelle Systemaktualisierungen

Fortgeschrittene Benutzer können Updates manuell über das Terminal durchführen:

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 Lerninhalte und Unterstützung konsultieren Sie die Ultralytics YOLO11-Dokumentation.

FAQ

Wie stelle ich Ultralytics YOLO11 NVIDIA Spark bereit?

Die Bereitstellung Ultralytics YOLO11 NVIDIA Spark ist ganz einfach. 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 „Schnellstart mit Docker “ und „Start mit nativer Installation“.

Welche Leistung kann ich von YOLO11 NVIDIA Spark erwarten?

YOLO11 bieten dank des GB10 Grace Blackwell Superchips eine hervorragende Leistung auf DGX Spark. Das TensorRT bietet die beste Inferenzleistung. In der detaillierten Vergleichstabelle finden Sie spezifische Benchmark-Ergebnisse für verschiedene Modellgrößen und -formate.

Warum sollte ich TensorRT YOLO11 DGX Spark verwenden?

TensorRT aufgrund seiner optimalen Leistung für die Bereitstellung YOLO11 auf DGX Spark dringend empfohlen. Es beschleunigt die Inferenz durch Nutzung der Blackwell GPU und gewährleistet so maximale Effizienz und Geschwindigkeit. Weitere Informationen finden Sie im Abschnitt „Verwenden TensorRT NVIDIA Spark “.

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

DGX Spark bietet mit bis zu 1 PFLOP KI-Leistung und 128 GB einheitlichem Speicher deutlich mehr Rechenleistung als Jetson-Geräte, die auf 2070 TFLOPS und 128 GB Speicher kommen. DGX Spark ist als Desktop-KI-Supercomputer konzipiert, während Jetson-Geräte eingebettete Systeme sind, die für den Einsatz am Netzwerkrand optimiert sind.

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

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



📅 Erstellt vor 0 Tagen ✏️ Aktualisiert vor 0 Tagen
onuralpszr

Kommentare