Почему я три дня колдовал над DGX Spark, а потом бросил его в углу
Каждый ML-инженер сталкивается с дилеммой: купить железо или арендовать в облаке. В теории DGX Spark выглядит солидно - 128 ГБ памяти, свой чип, локальный доступ. На практике - это квест на выживание. Я решил проверить на реальной задаче: обучить Nemotron-3-Nano на 6 миллиардах токенов. Что вышло? Сейчас расскажу.
Спойлер: облачные B200 на spot-ценах оказались в 3.5 раза дешевле. Но не все так просто.
1 Развертывание DGX Spark: первая кровь
Я получил DGX Spark GB10, о котором писал ранее. Установка ПО заняла 4 часа. Потом еще 2 часа на настройку драйверов и контейнеров. NVIDIA обещает plug-and-play, но реальность - это десятки команд в терминале.
sudo apt-get install nvidia-docker2
sudo systemctl restart docker
docker run --gpus all nvidia/cuda:12.4-base nvidia-smi
Казалось бы, просто. Но контейнеры с Triton не стартовали - ошибка совместимости библиотек. Пришлось кастомизировать образ.
2 Запуск обучения и стена из ошибок
Модель Nemotron-3-Nano (последняя версия на 2026 год) требует Triton для инференса и Mamba-2 для внимания. Сборка Mamba-2 из исходников - отдельный ад. Makefile падает с ошибками компиляции.
cd mamba-2
make CUDA_ARCH=8.9 # Для DGX Spark
# Ошибка: 'cudaErrorNotFound' - типичная проблема с путями
После часов дебагга я получил работающую сборку. Но скорость обучения оставляла желать лучшего. 6B токенов на DGX Spark оценивались в 12 дней. Электричество, время, нервы - считайте сами.
3 Переход в облако: Verda и B200
Я создал аккаунт на Verda (платформа с spot-инстансами B200). Запустил инстанс с 4x B200 (Blackwell архитектура, последнее поколение на 2026). Цена spot - $8.45 в час. Настройка заняла 30 минут через готовый образ.
verda instance create \
--type b200.4x \
--image pytorch-2.5-cuda12.4 \
--spot \
--name nemotron-train
Образ уже содержит все библиотеки, включая Triton и Mamba-2. Обучение стартовало через 10 минут после запуска инстанса.
Цифры, которые меня убили
Давайте посчитаем. Обучение на 6B токенов:
| Платформа | Время обучения | Стоимость часа | Общая стоимость | Примечания |
|---|---|---|---|---|
| DGX Spark GB10 | 12 дней (288 часов) | $3.2 (электричество + амортизация) | $921.6 | Плюс время на настройку |
| Verda 4x B200 (spot) | 2.5 дня (60 часов) | $8.45/час | $507 | Инстанс можно остановить после обучения |
Экономия: $414.6 (45%) за один прогон. А если обучать регулярно, то экономия растет. И это без учета стоимости самого DGX Spark ($15,000).
Spot-цены могут меняться. На 01.04.2026 средняя цена B200 на Verda - $8.45. Всегда проверяйте актуальные тарифы перед запуском.
Triton и Mamba-2: где собака порылась
Проблемы с Triton на DGX Spark связаны с особенностями чипа. Он оптимизирован для инференса, а не для обучения. Triton требует компиляции ядер под конкретную архитектуру, и для Spark это не всегда работает из коробки.
Mamba-2 на B200 летает. Архитектура Blackwell (2025-2026) имеет специальные инструкции для State Space Models. Скорость обработки последовательностей в 1.8 раза выше, чем на Spark.
В облаке вы получаете последние драйверы и библиотеки. На DGX Spark вы застрянете на той версии, которую NVIDIA посчитает нужной. Как в этой статье, где раскрывается реальная природа чипа.
Когда DGX Spark все-таки выигрывает
Не все так однозначно. Если вы:
- Работаете с конфиденциальными данными (облако не подходит)
- Запускаете инференс постоянно (облако на долгосрочной основе дороже)
- Любите полный контроль над железом
- Имеете доступ к дешевому электричеству
Тогда DGX Spark может быть оправдан. Как в глубоком разборе, где рассматриваются сценарии использования.
Пошаговый план для тех, кто хочет повторить
Для облачного варианта:
- Зарегистрируйтесь на Verda (используйте реферальную ссылку для бонуса).
- Создайте spot-инстанс с 4x B200.
- Выберите образ "PyTorch 2.5 + CUDA 12.4".
- Склонируйте репозиторий Nemotron-3-Nano.
- Запустите обучение с конфигом для 6B токенов.
- Мониторьте стоимость в реальном времени.
- После обучения скачайте веса и остановите инстанс.
Для DGX Spark:
- Установите Ubuntu 24.04 LTS.
- Установите драйверы NVIDIA версии 550+.
- Настройте Docker с поддержкой GPU.
- Соберите Mamba-2 из исходников с патчами для Spark.
- Кастомизируйте образ Triton для совместимости.
- Запустите обучение и молитесь, чтобы не упало.
Предупреждение: На DGX Spark обучение может прерываться из-за перегрева. Мониторьте температуру с помощью nvidia-smi.
Частые ошибки и как их избежать
- OOM (Out of Memory) на B200: Уменьшите batch size. B200 имеет 80 ГБ памяти, но для больших моделей этого может не хватать. Используйте gradient checkpointing.
- Spot-инстанс прерван: Всегда сохраняйте чекпоинты каждые 1000 шагов. Verda дает 2 минуты на graceful shutdown.
- Несовместимость версий PyTorch: Используйте точные версии из документации модели. На 2026 год для Nemotron-3-Nano требуется PyTorch 2.5.1.
- Медленная сеть в облаке: Убедитесь, что данные находятся в том же регионе, что и инстанс. Используйте SSD для датасета.
В конце дня, выбор между DGX Spark и облачными B200 сводится к вашим приоритетам. Если время - деньги, то облако. Если контроль - все, то локальное железо. Но для обучения больших моделей в 2026 году облако с новейшими GPU экономически выгоднее.
А что выберете вы?