NVIDIA DGX Spark: как снизить расход энергии без потери скорости и освободить память

Коротко

  • Автор технического разбора показал, как снизить энергопотребление NVIDIA DGX Spark без потери скорости генерации текста. Помогают ограничения частот процессоров, отключение лишних служб и настройка памяти.
  • В тесте автора два DGX Spark после ограничения частоты графических процессоров до 1800 МГц стали потреблять 242–252 Вт вместо 330 Вт. Скорость генерации текста не изменилась.
  • Настройки прошивки позволяют освободить около 1,5 ГиБ памяти, но переход на страницы Linux размером 64 КБ без специального исправления может привести к потере ещё 3,25 ГБ из-за драйвера NVIDIA.

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

DGX Spark — компактный компьютер NVIDIA для локального запуска больших языковых моделей. В нём установлен процессор GB10 со 128 ГБ общей памяти, которую используют и центральный, и графический процессоры. Этого достаточно для работы с крупными моделями без обращения к облачным серверам. Автор отмечает, что особенно полезным Spark стал благодаря моделям , Qwen, GLM и Kimi. Однако за удобство приходится платить: устройство расходует лишнюю энергию, сильно нагревается, а некоторые настройки и драйверы отнимают доступную память.

Начать автор советует с отключения всего ненужного. Если Spark работает как сервер для языковых моделей, ему не требуется графический рабочий стол, Bluetooth, службы печати и ряд фоновых компонентов NVIDIA. Linux можно перевести в режим multi-user.target, при котором графическая оболочка не запускается. Но удалять её полностью нельзя: важный системный пакет -system-station-core зависит от ubuntu-desktop. При проверке автоматического удаления система предложила снести сразу 1078 пакетов, в том числе компоненты, необходимые для работы Spark. Есть и другая неприятность: обновления прошивки могут снова включить ранее отключённые службы.

Самую заметную экономию дало ограничение частоты графического процессора до 1800 МГц. В тесте автора два DGX Spark до настройки потребляли суммарно 330 Вт, а после — 242–252 Вт. Скорость генерации текста в токенах в секунду при этом не изменилась. Дело в том, что при создании новых токенов система упирается прежде всего в скорость передачи данных из памяти. Повышение частоты графического процессора уже не помогает, зато увеличивает нагрев и расход электричества. Но снижать частоту слишком сильно тоже нельзя: пострадает скорость первоначальной обработки запроса.

Похожий подход работает и с центральным процессором. Некоторые программы для запуска языковых моделей постоянно проверяют, готов ли графический процессор принять новую задачу. Вместо ожидания они занимают два-три быстрых ядра и заставляют их работать почти без остановки. Автор ограничил частоту производительных ядер Cortex-X925 до 3000 МГц. В его конфигурации энергопотребление снизилось ещё на 8–12%, а температура самой горячей зоны упала на 17–18 °C. Производительность не изменилась. При этом опускаться ниже 2808 МГц автор не рекомендует: Linux может начать переносить нагруженные потоки на более медленные ядра Cortex-A725.

Следующий источник экономии — оперативная память. Начиная с прошивки OTA2610, Spark позволяет менять объём памяти, зарезервированной для вывода изображения, прямо из операционной системы. Если графическая оболочка отключена, настройка Auto уменьшает резерв с 2 ГБ до 512 МиБ. Таким образом, для запуска моделей освобождается примерно 1,5 ГиБ памяти.

А вот попытка сэкономить память за счёт изменения размера её страниц в Linux привела к неожиданному результату. Переход со страниц размером 4 КБ на 64 КБ сокращает расходы на служебные структуры примерно с 2 ГБ до 128 МБ. Казалось бы, выгода очевидна. Но драйвер NVIDIA UVM выделяет целую страницу в 64 КБ даже для некоторых таблиц размером всего 256 байт. В результате вместо экономии система теряет около 3,25 ГБ памяти.

Специальный патч memory-saver устраняет эту проблему и, по расчётам автора, позволяет получить дополнительно около 1,8 ГиБ относительно стандартного ядра со страницами 4 КБ. Правда, патч несовместим с Secure Boot — механизмом защиты загрузки системы. Поэтому автор пока не советует переходить на ядро NVIDIA со страницами 64 КБ без понимания этих ограничений.

Даже без вычислительной нагрузки Spark продолжает заметно расходовать электричество. По измерениям автора, одно устройство с загруженной моделью и активным сетевым соединением ConnectX-7 потребляет около 50 Вт от розетки. Примерно 20 Вт приходится на один только сетевой адаптер. Для сравнения автор приводит Mac Studio, которому в спящем режиме требуется около 10 Вт. Проблема в том, что для сетевого подключения на 200 Гбит/с не предусмотрено соответствующее энергосбережение, а пробуждение по сети не поддерживается. Поэтому наиболее практичным решением автор считает полное выключение Spark, когда тот не нужен, с возможностью управлять питанием через умную розетку.

Но главный недостаток устройства, по мнению автора, скрывается в его аппаратной архитектуре. DGX Spark располагает 128 ГБ памяти LPDDR5X с пропускной способностью 273 ГБ/с. Для сравнения, у Mac Studio с M3 Ultra этот показатель достигает 819 ГБ/с, у старшей конфигурации M4 — 546 ГБ/с, а у RTX 5090 — 1,792 ТБ/с. Правда, последняя оснащена только 32 ГБ видеопамяти против 128 ГБ у Spark. Получается, что компактная система NVIDIA может вместить крупную модель, но при генерации текста скорость чтения её параметров становится узким местом.

Автор связывает ограничение с 256-битной шиной памяти GB10. Он предполагает, что NVIDIA могла сознательно отказаться от более широкой шины, чтобы Spark не конкурировал с дорогими DGX Station и RTX Pro. Это именно предположение автора, а не подтверждённая позиция производителя. При этом использование LPDDR5X он объясняет необходимостью совместить 128 ГБ памяти с компактным корпусом и теплопакетом 140 Вт. Более быстрые варианты памяти потребовали бы другой, значительно более дорогой и сложной конструкции.

Из-за ограниченной пропускной способности памяти владельцам Spark приходится объединять несколько устройств через высокоскоростную сеть ConnectX-7. Так можно распределить работу модели между компьютерами и использовать суммарную пропускную способность их памяти. Однако это усложняет систему и увеличивает её стоимость и энергопотребление.

Практический вывод разбора прост: для локального запуска ИИ важны не только объём памяти и мощность процессора. Не меньшее значение имеют скорость обмена данными, настройки драйверов, нагрев и расход электричества в простое. Часть проблем DGX Spark можно решить программно: автор приводит готовые настройки служб systemd, которые автоматически ограничивают частоты центрального и графического процессоров при запуске системы. Но пропускную способность памяти такими настройками уже не увеличить.

FAQ

Почему снижение частоты графического процессора не замедляет генерацию текста?

В тестах автора скорость генерации ограничивала пропускная способность памяти, а не вычислительная мощность. Поэтому ограничение частоты до 1800 МГц сократило расход энергии без потери скорости, хотя дальнейшее снижение частоты может замедлить первоначальную обработку запроса.

Стоит ли переходить на ядро Linux со страницами памяти 64 КБ?

Автор не рекомендует делать это без специального исправления: из-за особенностей драйвера NVIDIA система может потерять около 3,25 ГБ памяти. Патч memory-saver решает проблему, но несовместим с Secure Boot.

Читайте также

  1. Локальный запуск LLM для SOC: сколько GPU действительно нужно?
  2. Как выбрать между облаком, арендой GPU и своим железом для LLM-систем
  3. Можно ли заменить Codex и Claude Opus? Тест показал силу дешёвых ИИ-моделей и пределы локальных
  4. Как я переделал свой мини-ПК и зачем мне это было нужно
  5. Сколько железа нужно ИИ-агенту: как считали ресурсы для on-premise LLM и почему калькуляторы ошиблись в 5 раз
Ключевые инсайты из новости (по версии ChatGPT)
  • Безопасная оптимизация Linux-сервера для локального ИИ: При использовании NVIDIA DGX Spark как сервера для запуска языковых моделей графическую оболочку можно отключить командой systemctl set-default multi-user.target, сохранив установленные системные пакеты. Удаление ubuntu-desktop через apt purge --auto-remove опасно: зависимость nvidia-system-station-core может привести к удалению критических компонентов платформы; в проверке автора под удаление попали 1078 пакетов. После обновления прошивки необходимо повторно проверять состояние отключённых служб, поскольку часть из них может включиться автоматически.
    [AI-инфраструктура / Linux / Оптимизация серверов]
Для получения полного доступа оформите подписку PubMag PRO.
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Инсайты автоматически генерируются с помощью искусственного интеллекта на основе текста статьи.
← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!