Guida rapida: NVIDIA DGX Spark con Ultralytics YOLO26
Questa guida completa fornisce una procedura dettagliata per il deployment di Ultralytics YOLO26 su NVIDIA DGX Spark, il supercomputer AI desktop compatto di NVIDIA. Inoltre, mostra benchmark di prestazioni per dimostrare le capacità di YOLO26 su questo potente sistema.
Questa guida è stata testata con NVIDIA DGX Spark Founders Edition eseguendo DGX OS basato su Ubuntu. Si prevede che funzioni con le ultime versioni di DGX OS.
Cos'è NVIDIA DGX Spark?
NVIDIA DGX Spark è un supercomputer AI desktop compatto basato sul superchip NVIDIA GB10 Grace Blackwell. Offre fino a 1 petaFLOP di prestazioni di calcolo AI con precisione FP4, rendendolo ideale per sviluppatori, ricercatori e data scientist che necessitano di potenti capacità AI in un formato desktop.
Watch: How to Get up to 1000 FPS with Ultralytics YOLO26 on NVIDIA DGX Spark | TensorRT & Batch Inference
Specifiche chiave
| Specifica | Dettagli |
|---|---|
| Prestazioni AI | Fino a 1 PFLOP (FP4) |
| GPU | Architettura NVIDIA Blackwell con Tensor Core di 5a generazione, RT Core di 4a generazione |
| CPU | Processore Arm a 20 core (10 Cortex-X925 + 10 Cortex-A725) |
| Memoria | 128 GB di memoria di sistema unificata LPDDR5x, interfaccia a 256 bit, 4266 MHz, larghezza di banda di 273 GB/s |
| Archiviazione | 1 TB o 4 TB NVMe M.2 con crittografia automatica |
| Rete | 1x RJ-45 (10 GbE), ConnectX-7 Smart NIC, Wi-Fi 7, Bluetooth 5.4 |
| Connettività | 4x USB Type-C, 1x HDMI 2.1a, audio multicanale HDMI |
| Elaborazione video | 1x NVENC, 1x NVDEC |
DGX OS
NVIDIA DGX OS è una distribuzione Linux personalizzata che fornisce una base di sistema operativo stabile, testata e supportata per l'esecuzione di applicazioni AI, machine learning e analisi su sistemi DGX. Include:
- Una solida base Linux ottimizzata per carichi di lavoro AI
- Driver e impostazioni di sistema preconfigurati per hardware NVIDIA
- Aggiornamenti di sicurezza e capacità di manutenzione del sistema
- Compatibilità con il più ampio ecosistema software NVIDIA
DGX OS segue un programma di rilascio regolare con aggiornamenti solitamente forniti due volte l'anno (intorno a febbraio e agosto), con patch di sicurezza aggiuntive fornite tra i rilasci principali.
Dashboard DGX
DGX Spark viene fornito con una DGX Dashboard integrata che fornisce:
- Monitoraggio del sistema in tempo reale: panoramica delle metriche operative correnti del sistema
- Aggiornamenti di sistema: capacità di applicare aggiornamenti direttamente dalla dashboard
- Impostazioni di sistema: modifica il nome del dispositivo e altre configurazioni
- JupyterLab integrato: accedi ai Jupyter Notebook locali per lo sviluppo
Accesso alla Dashboard
Clicca sul pulsante "Mostra app" nell'angolo in basso a sinistra del desktop Ubuntu, quindi seleziona "DGX Dashboard" per aprirla nel tuo browser.
La dashboard include un'istanza JupyterLab integrata che crea automaticamente un ambiente virtuale e installa i pacchetti consigliati all'avvio. A ogni account utente viene assegnata una porta dedicata per l'accesso a JupyterLab.
Guida rapida con Docker
Il modo più veloce per iniziare con Ultralytics YOLO26 su NVIDIA DGX Spark è l'esecuzione con immagini Docker pre-costruite. La stessa immagine Docker che supporta Jetson AGX Thor (JetPack 7.0) funziona su DGX Spark con DGX OS.
t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia --gpus all $tUna volta fatto questo, passa alla sezione Usa TensorRT su NVIDIA DGX Spark.
Inizia con l'installazione nativa
Per un'installazione nativa senza Docker, segui questi passaggi.
Installa il pacchetto Ultralytics
Qui installeremo il pacchetto Ultralytics su DGX Spark con dipendenze opzionali in modo da poter esportare i modelli PyTorch in altri formati diversi. Ci concentreremo principalmente sulle esportazioni NVIDIA TensorRT poiché TensorRT garantirà di ottenere le massime prestazioni da DGX Spark.
-
Aggiorna l'elenco dei pacchetti, installa pip ed esegui l'upgrade all'ultima versione
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Installa il pacchetto pip
ultralyticscon le dipendenze opzionalipip install ultralytics[export] -
Riavvia il dispositivo
sudo reboot
Installa PyTorch e Torchvision
L'installazione di ultralytics di cui sopra installerà Torch e Torchvision. Tuttavia, questi pacchetti installati tramite pip potrebbero non essere completamente ottimizzati per l'architettura ARM64 di DGX Spark con CUDA 13. Pertanto, consigliamo di installare le versioni compatibili con CUDA 13:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130Quando esegui PyTorch 2.9.1 su NVIDIA DGX Spark, potresti riscontrare il seguente UserWarning durante l'inizializzazione di CUDA (ad esempio eseguendo yolo checks, yolo predict, ecc.):
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)Questo avviso può essere tranquillamente ignorato. Per risolverlo in modo permanente, è stata inviata una correzione nel PR di PyTorch #164590 che sarà inclusa nel rilascio di PyTorch 2.10.
Installa onnxruntime-gpu
Il pacchetto onnxruntime-gpu ospitato su PyPI non dispone di binari aarch64 per sistemi ARM64. Quindi dobbiamo installare manualmente questo pacchetto. Questo pacchetto è necessario per alcune delle esportazioni.
Qui scaricheremo e installeremo onnxruntime-gpu 1.24.0 con supporto per Python3.12.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whlUsa TensorRT su NVIDIA DGX Spark
Tra tutti i formati di esportazione dei modelli supportati da Ultralytics, TensorRT offre le prestazioni di inferenza più elevate su NVIDIA DGX Spark, rendendolo la nostra raccomandazione principale per i deployment. Per le istruzioni di configurazione e l'uso avanzato, consulta la nostra guida dedicata all'integrazione TensorRT.
Converti il modello in TensorRT ed esegui l'inferenza
Il modello YOLO26n in formato PyTorch viene convertito in TensorRT per eseguire l'inferenza con il modello esportato.
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")Visita la pagina Esporta per accedere ad argomenti aggiuntivi durante l'esportazione di modelli in diversi formati
Benchmark YOLO11 su NVIDIA DGX Spark
I benchmark di YOLO11 sono stati eseguiti dal team di Ultralytics su più formati di modello misurando velocità e accuratezza: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. I benchmark sono stati eseguiti su NVIDIA DGX Spark a precisione FP32 con una dimensione dell'immagine di input predefinita di 640.
Tabella di confronto dettagliata
La tabella seguente rappresenta i risultati dei benchmark per cinque diversi modelli (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) su più formati, fornendoci stato, dimensione, metrica mAP50-95(B) e tempo di inferenza per ogni combinazione.
| Formato | Stato | Dimensioni su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.4 | 0.5071 | 2.67 |
| TorchScript | ✅ | 10.5 | 0.5083 | 2.62 |
| ONNX | ✅ | 10.2 | 0.5074 | 5.92 |
| OpenVINO | ✅ | 10.4 | 0.5058 | 14.95 |
| TensorRT (FP32) | ✅ | 12.8 | 0.5085 | 1.95 |
| TensorRT (FP16) | ✅ | 7.0 | 0.5068 | 1.01 |
| TensorRT (INT8) | ✅ | 18.6 | 0.4880 | 1.62 |
| TF SavedModel | ✅ | 25.7 | 0.5076 | 36.39 |
| TF GraphDef | ✅ | 10.3 | 0.5076 | 41.06 |
| TF Lite | ✅ | 10.3 | 0.5075 | 64.36 |
| MNN | ✅ | 10.1 | 0.5075 | 12.14 |
| NCNN | ✅ | 10.2 | 0.5041 | 12.31 |
| ExecuTorch | ✅ | 10.2 | 0.5075 | 27.61 |
Testato con Ultralytics 8.3.249
Riproduci i nostri risultati
Per riprodurre i benchmark Ultralytics di cui sopra su tutti i formati di esportazione, esegui questo codice:
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)Nota che i risultati dei benchmark potrebbero variare in base all'esatta configurazione hardware e software del sistema, nonché al carico di lavoro corrente del sistema al momento dell'esecuzione dei benchmark. Per i risultati più affidabili, usa un dataset con un gran numero di immagini, ad esempio data='coco.yaml' (5000 immagini di convalida).
Migliori pratiche per NVIDIA DGX Spark
Quando utilizzi NVIDIA DGX Spark, ci sono alcune migliori pratiche da seguire per ottenere le massime prestazioni eseguendo YOLO26.
-
Monitora le prestazioni del sistema
Utilizza gli strumenti di monitoraggio di NVIDIA per tracciare l'utilizzo di GPU e CPU:
nvidia-smi -
Ottimizza l'utilizzo della memoria
Con 128GB di memoria unificata, DGX Spark può gestire modelli e dimensioni di batch elevate. Prendi in considerazione l'aumento della dimensione del batch per migliorare il throughput:
from ultralytics import YOLO model = YOLO("yolo26n.engine") results = model.predict(source="path/to/images", batch=16) -
Usa TensorRT con FP16 o INT8
Per prestazioni ottimali, esporta i modelli con precisione FP16 o INT8:
yolo export model=yolo26n.pt format=engine half=True # FP16 yolo export model=yolo26n.pt format=engine int8=True # INT8
Aggiornamenti di sistema (Founders Edition)
Mantenere aggiornata la tua DGX Spark Founders Edition è fondamentale per le prestazioni e la sicurezza. NVIDIA fornisce due metodi principali per aggiornare il sistema operativo, i driver e il firmware.
Utilizzo di DGX Dashboard (consigliato)
La DGX Dashboard è il modo consigliato per eseguire gli aggiornamenti di sistema garantendo la compatibilità. Ti consente di:
- Visualizzare gli aggiornamenti di sistema disponibili
- Installare patch di sicurezza e aggiornamenti di sistema
- Gestire gli aggiornamenti dei driver e del firmware NVIDIA
Aggiornamenti di sistema manuali
Per gli utenti avanzati, gli aggiornamenti possono essere eseguiti manualmente tramite terminale:
sudo apt update
sudo apt dist-upgrade
sudo fwupdmgr refresh
sudo fwupdmgr upgrade
sudo rebootAssicurati che il tuo sistema sia collegato a una fonte di alimentazione stabile e di aver eseguito il backup dei dati critici prima di eseguire gli aggiornamenti.
Prossimi passaggi
Per ulteriore apprendimento e supporto, consulta la documentazione di Ultralytics YOLO26.
FAQ
Come posso distribuire Ultralytics YOLO26 su NVIDIA DGX Spark?
Distribuire Ultralytics YOLO26 su NVIDIA DGX Spark è semplice. Puoi utilizzare l'immagine Docker pre-costruita per una configurazione rapida o installare manualmente i pacchetti richiesti. I passaggi dettagliati per ogni approccio si trovano nelle sezioni Avvio rapido con Docker e Inizia con l'installazione nativa.
Quali prestazioni posso aspettarmi da YOLO26 su NVIDIA DGX Spark?
I modelli YOLO26 offrono prestazioni eccellenti su DGX Spark grazie al superchip GB10 Grace Blackwell. Il formato TensorRT fornisce le migliori prestazioni di inferenza. Controlla la sezione Tabella di confronto dettagliata per risultati di benchmark specifici su diverse dimensioni e formati di modello.
Perché dovrei usare TensorRT per YOLO26 su DGX Spark?
TensorRT è altamente raccomandato per distribuire modelli YOLO26 su DGX Spark grazie alle sue prestazioni ottimali. Accelera l'inferenza sfruttando le capacità della GPU Blackwell, garantendo la massima efficienza e velocità. Scopri di più nella sezione Usa TensorRT su NVIDIA DGX Spark.
Come si confronta DGX Spark con i dispositivi Jetson per YOLO26?
DGX Spark offre una potenza di calcolo significativamente maggiore rispetto ai dispositivi Jetson con fino a 1 PFLOP di prestazioni AI e 128GB di memoria unificata, rispetto ai 2070 TFLOPS e 128GB di memoria di Jetson AGX Thor. DGX Spark è progettato come un supercomputer AI desktop, mentre i dispositivi Jetson sono sistemi integrati ottimizzati per la distribuzione edge.
Posso utilizzare la stessa immagine Docker per DGX Spark e Jetson AGX Thor?
Sì! L'immagine Docker ultralytics/ultralytics:latest-nvidia-arm64 supporta sia NVIDIA DGX Spark (con DGX OS) che Jetson AGX Thor (con JetPack 7.0), poiché entrambi utilizzano un'architettura ARM64 con CUDA 13 e stack software simili.