Краткое руководство: NVIDIA DGX Spark с Ultralytics YOLO26#
В этом подробном руководстве описан процесс развёртывания Ultralytics YOLO26 на NVIDIA DGX Spark — компактном настольном AI-суперкомпьютере NVIDIA. Кроме того, здесь представлены результаты бенчмарков, демонстрирующие возможности YOLO26 на этой мощной системе.
Это руководство проверено на NVIDIA DGX Spark Founders Edition с DGX OS на базе Ubuntu. Оно также должно работать с последними выпусками DGX OS.
Что такое NVIDIA DGX Spark?#
NVIDIA DGX Spark — компактный настольный AI-суперкомпьютер на базе NVIDIA GB10 Grace Blackwell Superchip. Он обеспечивает вычислительную производительность до 1 петафлопа для AI с точностью FP4, что делает его идеальным решением для разработчиков, исследователей и специалистов по данным, которым нужны мощные возможности AI в компактном настольном формате.
Смотри: Как достичь скорости до 1000 FPS с Ultralytics YOLO26 на NVIDIA DGX Spark | TensorRT и пакетный инференс
Основные характеристики#
| Характеристика | Описание |
|---|---|
| Производительность ИИ | До 1 PFLOP (FP4) |
| GPU | Архитектура NVIDIA Blackwell с тензорными ядрами 5-го поколения и RT-ядрами 4-го поколения |
| CPU | 20-ядерный процессор Arm (10 Cortex-X925 + 10 Cortex-A725) |
| Память | 128 ГБ унифицированной системной памяти LPDDR5x, 256-битный интерфейс, 4266 МГц, пропускная способность 273 ГБ/с |
| Хранилище | NVMe M.2 на 1 ТБ или 4 ТБ с самошифрованием |
| Сеть | 1x RJ-45 (10 GbE), интеллектуальная сетевая карта ConnectX-7, 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. В него входят:
- Надёжная основа Linux, оптимизированная для рабочих нагрузок ИИ
- Предварительно настроенные драйверы и системные параметры для оборудования NVIDIA
- Обновления безопасности и средства обслуживания системы
- Совместимость с широкой программной экосистемой NVIDIA
DGX OS выпускается по регулярному графику: обновления обычно выходят дважды в год (примерно в феврале и августе), а между основными выпусками предоставляются дополнительные исправления безопасности.
Панель управления DGX#
В DGX Spark встроена панель управления DGX, которая предоставляет:
- Мониторинг системы в реальном времени: обзор текущих рабочих показателей системы
- Обновления системы: возможность устанавливать обновления прямо из панели управления
- Настройки системы: изменение имени устройства и других параметров
- Встроенный JupyterLab: доступ к локальным ноутбукам Jupyter для разработки
Доступ к панели управления#
Нажми кнопку «Показать приложения» в левом нижнем углу рабочего стола Ubuntu, затем выбери «Панель управления DGX», чтобы открыть её в браузере.
Панель управления включает встроенный экземпляр JupyterLab, который при запуске автоматически создаёт виртуальное окружение и устанавливает рекомендуемые пакеты. Для каждого аккаунта пользователя выделяется отдельный порт для доступа к JupyterLab.
Быстрый старт с Docker#
Самый быстрый способ начать работу с Ultralytics YOLO26 на NVIDIA DGX Spark — запустить готовые Docker-образы. Образ NVIDIA ARM64 поддерживает DGX Spark с DGX OS.
t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --device nvidia.com/gpu=all $tУказанный выше запрос устройства CDI применим к DGX Spark под управлением DGX OS. Сведения о требованиях к хост-системе и ограничении TensorRT для рабочих нагрузок PyTorch на Jetson AGX Thor см. в отдельном руководстве по NVIDIA Jetson.
В этом образе используются NVIDIA PyTorch 26.08, CUDA 13.4 и TensorRT 11.2. Обнови драйвер хост-системы DGX OS до версии, поддерживаемой NVIDIA PyTorch 26.08, и пересобери движки TensorRT после смены образа или целевого GPU.
После этого перейди к разделу Использование TensorRT на NVIDIA DGX Spark.
Начни с нативной установки#
Чтобы установить систему без Docker, выполни следующие шаги.
Установка пакета Ultralytics#
Здесь мы установим пакет Ultralytics на DGX Spark. Зависимости для экспорта устанавливаются автоматически при первом экспорте модели, поэтому здесь достаточно базового пакета. Основное внимание уделим экспорту в NVIDIA TensorRT, поскольку TensorRT позволяет добиться максимальной производительности DGX Spark.
-
Обнови список пакетов, установи pip и обнови его до последней версии
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Установи пакет
ultralyticsчерез pippip install ultralytics -
Перезагрузи устройство
sudo reboot
Установка PyTorch и Torchvision#
Указанная выше установка ultralytics установит Torch и Torchvision. Однако эти пакеты, установленные через pip, могут быть не полностью оптимизированы для архитектуры ARM64 DGX Spark с CUDA 13. Поэтому рекомендуем установить совместимые с CUDA 13 версии:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130При запуске PyTorch 2.9.1 на NVIDIA DGX Spark при инициализации CUDA может появиться следующее UserWarning (например, при запуске yolo checks, yolo predict и т. д.):
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#
В актуальных выпусках ONNX Runtime GPU доступны колёса Linux ARM64, в том числе для Python 3.12. В Docker-образе NVIDIA ARM64 устанавливается официальный пакет; для нативной установки с CUDA 13 используй:
pip install onnxruntime-gpuИспользование TensorRT на NVIDIA DGX Spark#
Среди всех форматов экспорта моделей, поддерживаемых Ultralytics, TensorRT обеспечивает самую высокую скорость инференса на NVIDIA DGX Spark, поэтому мы рекомендуем его для развёртывания. Инструкции по настройке и расширенные сведения см. в нашем руководстве по интеграции TensorRT.
Преобразование модели в TensorRT и запуск инференса#
Модель YOLO26n в формате PyTorch преобразуется в TensorRT, чтобы запускать инференс с экспортированной моделью.
from ultralytics import YOLO
# Загрузи модель YOLO26n в формате PyTorch
model = YOLO("yolo26n.pt")
# Экспортируй модель в TensorRT
model.export(format="engine") # создаёт 'yolo26n.engine'
# Загрузи экспортированную модель TensorRT
trt_model = YOLO("yolo26n.engine")
# Выполнить инференс
results = trt_model("https://ultralytics.com/images/bus.jpg")Посети страницу экспорта, чтобы узнать о дополнительных аргументах при экспорте моделей в другие форматы
Результаты тестирования YOLO11 на NVIDIA DGX Spark#
Команда Ultralytics провела тестирование YOLO11 в нескольких форматах моделей, измерив скорость и точность: 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) и время инференса.
| Формат | Статус | Размер на диске (МБ) | mAP50-95(B) | Время инференса (мс/изобр.) |
|---|---|---|---|---|
| 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 |
Тестирование проведено с Ultralytics 8.3.249
Воспроизведение наших результатов#
Чтобы воспроизвести приведённые выше бенчмарки Ultralytics во всех форматах экспорта, выполни этот код:
from ultralytics import YOLO
# Загрузи модель YOLO26n в формате PyTorch
model = YOLO("yolo26n.pt")
# Сравнение скорости и точности YOLO26n на наборе данных COCO128 для всех форматов экспорта
results = model.benchmark(data="coco128.yaml", imgsz=640)Учти, что результаты бенчмарков могут различаться в зависимости от конкретной конфигурации оборудования и программного обеспечения системы, а также от текущей нагрузки на систему во время запуска бенчмарков. Для получения наиболее надёжных результатов используй набор данных с большим количеством изображений, например data='coco.yaml' (5000 валидационных изображений).
Рекомендации по работе с NVIDIA DGX Spark#
При использовании NVIDIA DGX Spark следуй нескольким рекомендациям, чтобы добиться максимальной производительности YOLO26.
-
Следи за производительностью системы
Используй инструменты мониторинга NVIDIA, чтобы отслеживать загрузку GPU и CPU:
nvidia-smi -
Оптимизируй использование памяти
Благодаря 128 ГБ унифицированной памяти DGX Spark поддерживает большие размеры пакетов и крупные модели. Для повышения пропускной способности увеличь размер пакета:
from ultralytics import YOLO model = YOLO("yolo26n.engine") results = model.predict(source="path/to/images", batch=16) -
Используй TensorRT с FP16 или INT8
Для максимальной производительности экспортируй модели с точностью FP16 или INT8:
yolo export model=yolo26n.pt format=engine quantize=16 # FP16 yolo export model=yolo26n.pt format=engine quantize=8 # INT8
Обновления системы (Founders Edition)#
Поддержание актуального состояния DGX Spark Founders Edition важно для производительности и безопасности. NVIDIA предлагает два основных способа обновить ОС системы, драйверы и встроенное ПО.
Через панель управления DGX (рекомендуется)#
Рекомендуемый способ установки системных обновлений с обеспечением совместимости — использовать панель управления DGX. С её помощью можно:
- Просматривать доступные обновления системы
- Устанавливать исправления безопасности и обновления системы
- Управлять обновлениями драйверов и встроенного ПО NVIDIA
Обновление системы вручную#
Опытные пользователи могут устанавливать обновления вручную через терминал:
sudo apt update
sudo apt dist-upgrade
sudo fwupdmgr refresh
sudo fwupdmgr upgrade
sudo rebootПеред обновлением убедись, что система подключена к надёжному источнику питания, а критически важные данные сохранены в резервной копии.
Следующие шаги#
Дополнительные материалы и помощь см. в документации Ultralytics YOLO26.
Часто задаваемые вопросы#
Развернуть Ultralytics YOLO26 на NVIDIA DGX Spark несложно. Для быстрой настройки можно использовать готовый Docker-образ или установить необходимые пакеты вручную. Подробные инструкции для обоих способов приведены в разделах Быстрый старт с Docker и Начало работы с нативной установкой.
Модели YOLO26 обеспечивают высокую производительность на DGX Spark благодаря суперчипу GB10 Grace Blackwell. Формат TensorRT обеспечивает максимальную скорость инференса. Результаты тестирования YOLO11 на DGX Spark для моделей разных размеров и форматов см. в разделе Подробная сравнительная таблица.
Для развёртывания моделей YOLO26 на DGX Spark настоятельно рекомендуется TensorRT, поскольку он обеспечивает оптимальную производительность. Он ускоряет инференс, используя возможности GPU Blackwell, и гарантирует максимальную эффективность и скорость. Подробнее см. в разделе Использование TensorRT на NVIDIA DGX Spark.
DGX Spark обеспечивает до 1 PFLOP производительности ИИ и оснащён 128 ГБ унифицированной памяти, тогда как Jetson AGX Thor обеспечивает 2070 TFLOPS и имеет 128 ГБ памяти. DGX Spark — это настольный суперкомпьютер для ИИ, а устройства Jetson — встраиваемые системы, оптимизированные для периферийного развёртывания.
Для рабочих нагрузок PyTorch
ultralytics/ultralytics:latest-nvidia-arm64поддерживает DGX Spark с DGX OS и Thor с JetPack 7.1. Встроенный TensorRT 11.2 не поддерживает JetPack, поэтому для рабочих процессов TensorRT на Jetson необходимо использовать среду выполнения TensorRT 10.x, поддерживаемую соответствующим выпуском JetPack. См. требования к Docker для Jetson.