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

Краткое руководство по запуску: NVIDIA Spark с Ultralytics YOLO11

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

NVIDIA Spark

Примечание

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

Что такое NVIDIA Spark?

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

Основные технические характеристики

СпецификацияПодробности
Производительность ИИДо 1 ПФЛОП (FP4)
GPUАрхитектура NVIDIA с Tensor 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

NVIDIA OS — это настраиваемый дистрибутив Linux, который обеспечивает стабильную, протестированную и поддерживаемую основу операционной системы для запуска приложений искусственного интеллекта, машинного обучения и аналитики на системах DGX. Он включает в себя:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Самый быстрый способ начать работу с Ultralytics YOLO11 NVIDIA 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 Spark».

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

Для установки без Docker выполните следующие действия.

Установка пакета Ultralytics

Здесь мы установим Ultralytics на DGX Spark с дополнительными зависимостями, чтобы мы могли экспортировать PyTorch в другие форматы. Мы сосредоточимся в основном на TensorRT 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 . Поэтому мы рекомендуем установить версии, совместимые CUDA :

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

Информация

При запуске PyTorch .9.1 на NVIDIA 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 #164590 было представлено исправление, которое будет включено в выпуск PyTorch .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 Spark

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

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

Модель YOLO11n в формате PyTorch преобразуется в TensorRT для запуска инференса с экспортированной моделью.

Пример

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'

Примечание

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

YOLO11 NVIDIA Spark YOLO11

Ultralytics провела YOLO11 на нескольких форматах моделей, измерив скорость и точность: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF , MNN, NCNN, ExecuTorch. Тестирование проводилось на NVIDIA Spark с точностью FP32 и стандартным размером входного изображения 640.

Подробная сравнительная таблица

В приведенной ниже таблице представлены результаты тестирования пяти различных моделей (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) в нескольких форматах, с указанием статуса, размера, метрики mAP50(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 .3.249

Воспроизведение наших результатов

Чтобы воспроизвести вышеуказанные тесты Ultralytics для всех форматов экспорта, запустите этот код:

Пример

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

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

Лучшие практики для NVIDIA Spark

При использовании NVIDIA Spark следует соблюдать несколько рекомендаций, чтобы обеспечить максимальную производительность при работе с YOLO11.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для получения дополнительной информации и поддержки см. YOLO11 Ultralytics YOLO11 .

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

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

Развертывание Ultralytics YOLO11 NVIDIA Spark не представляет сложности. Вы можете использовать готовый образ Docker для быстрой настройки или вручную установить необходимые пакеты. Подробные инструкции по каждому из подходов можно найти в разделах «Быстрый старт с Docker » и «Начало работы с помощью native-установки».

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

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

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

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

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

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

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

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



📅 Создано 0 дней назад ✏️ Обновлено 0 дней назад
onuralpszr

Комментарии