Перейти к содержанию

Краткое руководство по началу работы: NVIDIA DGX Spark с Ultralytics YOLO26

Это исчерпывающее руководство содержит подробное описание развертывания Ultralytics YOLO26 на NVIDIA DGX Spark, компактном настольном суперкомпьютере с ИИ от NVIDIA. Кроме того, в нем представлены результаты сравнительных тестов производительности, демонстрирующие возможности YOLO26 на этой мощной системе.

Обзор рабочей станции NVIDIA Spark AI

Примечание

Это руководство было протестировано с NVIDIA DGX Spark Founders Edition, работающим под управлением DGX OS на базе Ubuntu. Ожидается, что оно будет работать с последними выпусками DGX OS.

Что такое NVIDIA DGX Spark?

NVIDIA DGX Spark — это компактный настольный суперкомпьютер для ИИ, работающий на базе суперчипа NVIDIA GB10 Grace Blackwell. Он обеспечивает до 1 петафлопса вычислительной производительности ИИ с точностью FP4, что делает его идеальным для разработчиков, исследователей и специалистов по данным, которым требуются мощные возможности ИИ в настольном форм-факторе.

Ключевые характеристики

ХарактеристикиПодробности
Производительность ИИДо 1 PFLOP (FP4)
GPUАрхитектура NVIDIA Blackwell с тензорными ядрами 5-го поколения, ядрами RT 4-го поколения
CPU20-ядерный процессор Arm (10 Cortex-X925 + 10 Cortex-A725)
Память128 ГБ унифицированной системной памяти LPDDR5x, 256-битный интерфейс, 4266 МГц, пропускная способность 273 ГБ/с
Хранилище1 ТБ или 4 ТБ 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. Он включает:

  • Надежная основа Linux, оптимизированная для рабочих нагрузок ИИ
  • Предварительно настроенные драйверы и системные параметры для оборудования NVIDIA
  • Обновления безопасности и возможности обслуживания системы
  • Совместимость с более широкой программной экосистемой NVIDIA

DGX OS придерживается регулярного графика выпуска обновлений, которые обычно предоставляются два раза в год (примерно в феврале и августе), с дополнительными исправлениями безопасности между основными выпусками.

Панель управления DGX

DGX Spark поставляется со встроенной панелью управления DGX, которая предоставляет:

  • Мониторинг системы в реальном времени: Обзор текущих операционных метрик системы
  • Обновления системы: Возможность применять обновления непосредственно из панели управления
  • Настройки системы: Изменение имени устройства и других конфигураций
  • Интегрированный JupyterLab: Доступ к локальным Jupyter Notebooks для разработки

Интерфейс панели управления NVIDIA

Доступ к панели управления

Нажмите кнопку «Показать приложения» в левом нижнем углу рабочего стола Ubuntu, затем выберите «DGX Dashboard», чтобы открыть его в браузере.

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

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

После подключения через NVIDIA Sync нажмите кнопку «DGX Dashboard», чтобы открыть панель управления по адресу http://localhost:11000.

Интегрированный JupyterLab

Панель управления включает интегрированный экземпляр JupyterLab, который автоматически создает виртуальное окружение и устанавливает рекомендуемые пакеты при запуске. Каждой учетной записи пользователя назначается выделенный порт для доступа к JupyterLab.

Быстрый старт с Docker

Самый быстрый способ начать работу с Ultralytics YOLO26 на NVIDIA DGX Spark — это запуск с использованием предварительно собранных образов Docker. Тот же образ Docker, который поддерживает Jetson AGX Thor (JetPack 7.0), работает на DGX Spark с DGX OS.

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

После этого перейдите к разделу «Использование TensorRT на NVIDIA DGX Spark».

Начало с собственной установки

Для нативной установки без 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, могут быть не полностью оптимизированы для архитектуры 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 вы можете столкнуться со следующим UserWarning при инициализации CUDA (например, при запуске 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

Параметр onnxruntime-gpu пакет, размещенный в PyPI, не имеет aarch64 бинарные файлы для систем ARM64. Поэтому нам нужно вручную установить этот пакет. Этот пакет необходим для некоторых видов экспорта.

Здесь мы скачаем и установим onnxruntime-gpu 1.24.0 с Python3.12 поддержкой.

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

Использование TensorRT на NVIDIA DGX Spark

Среди всех форматов экспорта моделей, поддерживаемых Ultralytics, TensorRT обеспечивает высочайшую производительность инференса на NVIDIA DGX Spark, что делает его нашей главной рекомендацией для развертываний. Инструкции по настройке и расширенному использованию см. в нашем специальном руководстве по интеграции TensorRT.

Преобразование модели в TensorRT и запуск вывода

Модель YOLO26n в формате PyTorch преобразуется в 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")
# 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'

Примечание

Посетите страницу экспорта, чтобы получить доступ к дополнительным аргументам при экспорте моделей в различные форматы.

Тесты 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) и время инференса для каждой комбинации.

Производительность

ФорматСтатусРазмер на диске (МБ)mAP50-95(B)Время инференса (мс/изобр.)
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
ФорматСтатусРазмер на диске (МБ)mAP50-95(B)Время инференса (мс/изобр.)
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
ФорматСтатусРазмер на диске (МБ)mAP50-95(B)Время инференса (мс/изобр.)
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
ФорматСтатусРазмер на диске (МБ)mAP50-95(B)Время инференса (мс/изобр.)
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
ФорматСтатусРазмер на диске (МБ)mAP50-95(B)Время инференса (мс/изобр.)
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

Протестировано с 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)
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
yolo benchmark model=yolo26n.pt data=coco128.yaml imgsz=640

Обратите внимание, что результаты бенчмаркинга могут варьироваться в зависимости от точной аппаратной и программной конфигурации системы, а также от текущей загрузки системы во время выполнения бенчмарков. Для получения наиболее надежных результатов используйте набор данных с большим количеством изображений, например, data='coco.yaml' (5000 изображений для проверки).

Рекомендации по использованию NVIDIA DGX Spark

При использовании NVIDIA DGX Spark следует придерживаться нескольких рекомендаций для обеспечения максимальной производительности при запуске YOLO26.

  1. Мониторинг производительности системы

    Используйте инструменты мониторинга NVIDIA для track использования GPU и CPU:

    nvidia-smi
    
  2. Оптимизация использования памяти

    Благодаря 128 ГБ унифицированной памяти DGX Spark может обрабатывать большие размеры пакетов и модели. Рассмотрите возможность увеличения размера пакета для повышения пропускной способности:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.engine")
    results = model.predict(source="path/to/images", batch=16)
    
  3. Используйте TensorRT с FP16 или INT8

    Для достижения наилучшей производительности экспортируйте модели с точностью FP16 или INT8:

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

Обновления системы (Founders Edition)

Поддержание актуальности вашей DGX Spark Founders Edition критически важно для производительности и безопасности. NVIDIA предлагает два основных метода обновления системной ОС, драйверов и прошивки.

The DGX Dashboard — это рекомендуемый способ выполнения системных обновлений, обеспечивающий совместимость. Он позволяет:

  • Просмотр доступных системных обновлений
  • Установка исправлений безопасности и системных обновлений
  • Управление обновлениями драйверов и прошивки NVIDIA

Ручные обновления системы

Для опытных пользователей обновления могут быть выполнены вручную через терминал:

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

Предупреждение

Перед выполнением обновлений убедитесь, что ваша система подключена к стабильному источнику питания и вы создали резервные копии важных данных.

Следующие шаги

Для дальнейшего изучения и поддержки см. документацию Ultralytics YOLO26.

Часто задаваемые вопросы

Как развернуть Ultralytics YOLO26 на NVIDIA DGX Spark?

Развертывание Ultralytics YOLO26 на NVIDIA DGX Spark не представляет сложности. Вы можете использовать предварительно собранный образ Docker для быстрой настройки или вручную установить необходимые пакеты. Подробные шаги для каждого подхода можно найти в разделах Быстрый старт с Docker и Начало работы с нативной установкой.

Какую производительность можно ожидать от YOLO26 на NVIDIA DGX Spark?

Модели YOLO26 демонстрируют отличную производительность на DGX Spark благодаря суперчипу GB10 Grace Blackwell. Формат TensorRT обеспечивает наилучшую производительность инференса. Конкретные результаты сравнительных тестов для различных размеров и форматов моделей приведены в разделе Подробная сравнительная таблица.

Почему мне следует использовать TensorRT для YOLO26 на DGX Spark?

TensorRT настоятельно рекомендуется для развертывания моделей YOLO26 на DGX Spark благодаря его оптимальной производительности. Он ускоряет инференс, используя возможности GPU Blackwell, обеспечивая максимальную эффективность и скорость. Подробнее см. в разделе Использование TensorRT на NVIDIA DGX Spark.

Как DGX Spark соотносится с устройствами Jetson для YOLO26?

DGX Spark предлагает значительно большую вычислительную мощность, чем устройства Jetson, с производительностью ИИ до 1 PFLOP и 128 ГБ унифицированной памяти, по сравнению с 2070 TFLOPS и 128 ГБ памяти Jetson AGX Thor. DGX Spark разработан как настольный суперкомпьютер для ИИ, в то время как устройства Jetson — это встраиваемые системы, оптимизированные для развертывания на периферии.

Могу ли я использовать один и тот же образ Docker для DGX Spark и Jetson AGX Thor?

Да! Образ ultralytics/ultralytics:latest-nvidia-arm64 Docker поддерживает как NVIDIA DGX Spark (с DGX OS), так и Jetson AGX Thor (с JetPack 7.0), поскольку оба используют архитектуру ARM64 с CUDA 13 и аналогичными программными стеками.



📅 Создано 21 дней назад ✏️ Обновлено 9 дней назад
glenn-jocherlakshanthadonuralpszr

Комментарии