快速入门指南:在 NVIDIA DGX Spark 上使用 Ultralytics YOLO26

本综合指南提供了在 NVIDIA DGX Spark(NVIDIA 的紧凑型桌面级 AI 超级计算机)上部署 Ultralytics YOLO26 的详细操作说明。此外,指南还展示了性能基准测试,以体现 YOLO26 在这一强大系统上的能力。

NVIDIA DGX Spark AI workstation overview

注意

本指南已在运行基于 Ubuntu 的 DGX OS 的 NVIDIA DGX Spark Founders Edition 上进行了测试。预计它也适用于最新的 DGX OS 版本。

什么是 NVIDIA DGX Spark?

NVIDIA DGX Spark 是一款由 NVIDIA GB10 Grace Blackwell Superchip 驱动的紧凑型桌面级 AI 超级计算机。它在 FP4 精度下可提供高达 1 PetaFLOP 的 AI 计算性能,非常适合需要在桌面外形规格下获得强大 AI 能力的开发者、研究人员和数据科学家。



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

关键规格

规格详情
AI 性能高达 1 PFLOP (FP4)
GPUNVIDIA Blackwell 架构,配备第五代 Tensor Cores 和第四代 RT Cores
CPU20 核 Arm 处理器 (10 个 Cortex-X925 + 10 个 Cortex-A725)
内存128 GB LPDDR5x 统一系统内存,256 位接口,4266 MHz,273 GB/s 带宽
存储1 TB 或 4 TB NVMe M.2,支持自加密
网络1x RJ-45 (10 GbE), ConnectX-7 Smart NIC, Wi-Fi 7, Bluetooth 5.4
连接性4x USB Type-C, 1x HDMI 2.1a, HDMI 多声道音频
视频处理1x NVENC, 1x NVDEC

DGX OS

NVIDIA DGX OS 是一个定制化的 Linux 发行版,为在 DGX 系统上运行 AI、机器学习和分析应用提供了稳定、经过测试且受支持的操作系统基础。它包括:

  • 针对 AI 工作负载优化的稳健 Linux 基础
  • 预配置的 NVIDIA 硬件驱动程序和系统设置
  • 安全更新和系统维护功能
  • 与更广泛的 NVIDIA 软件生态系统的兼容性

DGX OS 遵循定期的发布周期,更新通常每年提供两次(分别在二月和八月左右),并在主要版本之间提供额外的安全补丁。

DGX Dashboard

DGX Spark 附带内置的 DGX Dashboard,它提供:

  • 实时系统监控:系统当前运行指标概览
  • 系统更新:可直接从仪表板应用更新
  • 系统设置:更改设备名称及其他配置
  • 集成 JupyterLab:访问本地 Jupyter Notebooks 以进行开发

NVIDIA DGX management dashboard interface

访问仪表板

点击 Ubuntu 桌面左下角的“显示应用程序”按钮,然后选择“DGX Dashboard”即可在浏览器中打开它。

集成 JupyterLab

仪表板包含一个集成的 JupyterLab 实例,启动时会自动创建虚拟环境并安装推荐的包。每个用户帐户都分配有一个专用的 JupyterLab 访问端口。

Docker 快速入门

在 NVIDIA DGX Spark 上开始使用 Ultralytics YOLO26 的最快方法是运行预构建的 docker 镜像。支持 Jetson AGX Thor (JetPack 7.0) 的同一个 Docker 镜像也适用于运行 DGX OS 的 DGX Spark。

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

完成后,直接跳至 在 NVIDIA DGX Spark 上使用 TensorRT 部分

开始原生安装

对于不使用 Docker 的原生安装,请按照以下步骤操作。

安装 Ultralytics 包

在此,我们将把 Ultralytics 包安装在 DGX Spark 上,并附带可选依赖项,以便我们可以将 PyTorch 模型导出为其他格式。我们将主要关注 NVIDIA TensorRT 导出,因为 TensorRT 将确保我们能从 DGX Spark 获得最大性能。

  1. 更新包列表,安装 pip 并升级到最新版本

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. 安装带有可选依赖项的 ultralytics pip 包

    pip install ultralytics[export]
  3. 重启设备

    sudo reboot

安装 PyTorch 和 Torchvision

上述 ultralytics 安装将会安装 Torch 和 Torchvision。然而,这些通过 pip 安装的包可能并未针对 DGX Spark 的 ARM64 架构和 CUDA 13 进行完全优化。因此,我们建议安装 CUDA 13 兼容版本:

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

When running PyTorch 2.9.1 on NVIDIA DGX Spark, you may encounter the following UserWarning when initializing CUDA (e.g. running 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)

该警告可以安全地忽略。为永久解决此问题,PyTorch PR #164590 已提交修复,该修复将被包含在 PyTorch 2.10 版本中。

安装 onnxruntime-gpu

托管在 PyPI 上的 onnxruntime-gpu 包没有适用于 ARM64 系统的 aarch64 二进制文件。因此我们需要手动安装此包。某些导出功能需要此包。

Here we will download and install onnxruntime-gpu 1.24.0 with 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

在 NVIDIA DGX Spark 上使用 TensorRT

在 Ultralytics 支持的所有模型导出格式中,TensorRT 在 NVIDIA DGX Spark 上提供最高的推理性能,是我们进行部署的首选建议。有关设置说明和高级用法,请参阅我们的 专用 TensorRT 集成指南

将模型转换为 TensorRT 并运行推理

将 PyTorch 格式的 YOLO26n 模型转换为 TensorRT,以便使用导出的模型运行推理。

示例
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")
注意

访问 导出页面 以获取将模型导出为不同格式时的其他参数

NVIDIA DGX Spark YOLO11 基准测试

YOLO11 基准测试由 Ultralytics 团队在多种模型格式上运行,测量速度和 准确率:PyTorch、TorchScript、ONNX、OpenVINO、TensorRT、TF SavedModel、TF GraphDef、TF Lite、MNN、NCNN、ExecuTorch。基准测试是在 NVIDIA DGX Spark 上以 FP32 精度 和默认 640 输入图像大小运行的。

详细对比表

下表展示了五种不同模型(YOLO11n、YOLO11s、YOLO11m、YOLO11l、YOLO11x)在多种格式下的基准测试结果,给出了每个组合的状态、大小、mAP50-95(B) 指标和推理时间。

性能
格式状态磁盘大小 (MB)mAP50-95(B)推理时间 (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

基于 Ultralytics 8.3.249 进行基准测试

复现我们的结果

要复现上述在所有导出 格式 下的 Ultralytics 基准测试,请运行此代码:

示例
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)

请注意,基准测试结果可能会因系统的具体硬件和软件配置,以及运行基准测试时系统的当前工作负载而有所不同。为了获得最可靠的结果,请使用包含大量图像的数据集,例如 data='coco.yaml' (5000 张验证集图像)。

NVIDIA DGX Spark 的最佳实践

在使用 NVIDIA DGX Spark 时,请遵循以下几项最佳实践,以在运行 YOLO26 时实现最大性能。

  1. 监控系统性能

    使用 NVIDIA 的监控工具来追踪 GPU 和 CPU 的使用率:

    nvidia-smi
  2. 优化内存使用

    凭借 128GB 的统一内存,DGX Spark 可以处理较大的批处理大小和模型。考虑增加批处理大小以提高吞吐量:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.engine")
    results = model.predict(source="path/to/images", batch=16)
  3. 配合 FP16 或 INT8 使用 TensorRT

    为了获得最佳性能,请使用 FP16 或 INT8 精度导出模型:

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

系统更新(创始人版)

保持 DGX Spark 创始人版处于最新状态对于性能和安全性至关重要。NVIDIA 提供了两种主要方法来更新系统操作系统、驱动程序和固件。

使用 DGX Dashboard(推荐)

DGX Dashboard 是执行系统更新以确保兼容性的推荐方式。它允许你:

  • 查看可用的系统更新
  • 安装安全补丁和系统更新
  • 管理 NVIDIA 驱动程序和固件更新

手动系统更新

对于高级用户,可以通过终端手动执行更新:

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

在执行更新之前,请确保你的系统连接到稳定的电源,并已备份关键数据。

后续步骤

如需进一步学习和支持,请参阅 Ultralytics YOLO26 文档

常见问题 (FAQ)

我该如何在 NVIDIA DGX Spark 上部署 Ultralytics YOLO26?

在 NVIDIA DGX Spark 上部署 Ultralytics YOLO26 非常简单。你可以使用预构建的 Docker 镜像进行快速设置,或者手动安装所需的软件包。每种方法的详细步骤可以在 快速入门 Docker从原生安装开始 部分中找到。

我在 NVIDIA DGX Spark 上可以期待 YOLO26 达到什么样的性能?

得益于 GB10 Grace Blackwell 超级芯片,YOLO26 模型在 DGX Spark 上表现出色。TensorRT 格式提供了最佳的推理性能。请查看 详细对比表 部分,了解不同模型大小和格式的具体基准测试结果。

为什么我应该在 DGX Spark 上为 YOLO26 使用 TensorRT?

由于 TensorRT 具有最佳性能,因此强烈建议在 DGX Spark 上部署 YOLO26 模型时使用它。它通过利用 Blackwell GPU 的能力来加速推理,从而确保最大的效率和速度。在 在 NVIDIA DGX Spark 上使用 TensorRT 部分了解更多信息。

对于 YOLO26 而言,DGX Spark 与 Jetson 设备相比如何?

DGX Spark 提供比 Jetson 设备更强大的算力,拥有高达 1 PFLOP 的 AI 性能和 128GB 统一内存,而 Jetson AGX Thor 则提供 2070 TFLOPS 和 128GB 内存。DGX Spark 被设计为桌面级 AI 超级计算机,而 Jetson 设备则是针对边缘部署优化的嵌入式系统。

我可以在 DGX Spark 和 Jetson AGX Thor 上使用相同的 Docker 镜像吗?

可以!ultralytics/ultralytics:latest-nvidia-arm64 Docker 镜像同时支持 NVIDIA DGX Spark(运行 DGX OS)和 Jetson AGX Thor(运行 JetPack 7.0),因为两者都使用具有 CUDA 13 和相似软件栈的 ARM64 架构。

评论