Автор: @0xSero
Рецензенты: @alexocheema и @alexzfunk
Особая благодарность: @MiaAI_lab
Если ты задумываешься о локальном инференсе, то наверняка уже слышал про этот любопытный «золотой кирпичик». Это машина, созданная для запуска ИИ прямо у тебя дома: компактная, аккуратная, тихая и относительно недорогая (страница NVIDIA DGX Spark).
Когда я впервые услышал о DGX Spark, мне он не зашёл. Несмотря на 128 ГБ памяти, пропускная способность в 273 ГБ/с казалась слишком низкой. Для сравнения: у RTX 5090 она примерно в 6,5 раз выше (1792 ГБ/с), хотя видеопамяти там всего 32 ГБ.

На момент выхода Spark такие практики инженерии инференса, как спекулятивное декодирование, ещё не были так популярны, да и маленькие модели не блистали умом.
Но индустрия ИИ не стоит на месте, и интеллект упаковывают во всё более компактные форматы, что позволяет выжать из этих коробочек максимум.
- Спрос на инженерию инференса растёт.
- LLM становятся всё лучше в самой инженерии инференса.
- Качественный инференс улучшает работу всей системы.
Теперь DGX Spark способен тянуть очень умные модели со скоростью не хуже облачных сервисов — и всё это не выходя из дома или офиса. Софта на базе ИИ сейчас море: он поможет писать код, заполнять налоговую декларацию, учиться или просто развлекаться.
Под скоростью я имею в виду количество токенов в секунду, которое видит один человек. В облаке железо намного быстрее, но провайдеры делят его между кучей пользователей и оптимизируют стоимость токена, поэтому каждому достаётся меньше. А дома коробка твоя, и вся её мощь работает только на тебя. Подробнее об этом — в продвинутых заметках.
Spark созданы для объединения
DGX Spark потребляют совсем немного энергии. Обычно они работают на уровне 95 Вт с загруженной моделью под нагрузкой.
Поэтому им не нужно мощное охлаждение, и по сравнению с дискретными GPU они довольно тихие. Ты можешь без страха подключить от 2 до 4 таких устройств к обычной американской электросети. И смысл именно в этом, а не в голой эффективности: в пересчёте на единицу скорости работы с памятью серверный B300 делает примерно вдвое больше работы на каждый джоуль (см. продвинутые заметки). А Spark просто втыкается в обычную розетку.
В каждом Spark есть сетевая карта ConnectX-7 с двумя портами QSFP на 200 Гбит/с, или 25 ГБ/с. Это позволяет соединять Spark между собой, чтобы увеличить объём памяти и её эффективную пропускную способность.

Как соединяются DGX Spark
При использовании тензорного параллелизма каждая матрица весов делится между устройствами Spark, и каждое из них одновременно с остальными читает только свою часть из собственной памяти. Так что скорость чтения суммируется (тест масштабирования от самой NVIDIA):
- 546 ГБ/с для двух Spark
- 819 ГБ/с для трёх
- 1092 ГБ/с для четырёх
Масштабирование почти линейное. В тестах NVIDIA скорость записи выросла в 2 раза на двух Spark и в 3,7 раза на четырёх (таблица 3). Всё работает так хорошо благодаря тому, что соединение через ConnectX-7 имеет очень низкую задержку, а CUDA умеет гонять данные между устройствами Spark прямо из кода GPU (подробнее о причинах).
Память суммируется точно так же: по 128 ГБ на каждое устройство, 512 ГБ на четыре, из которых примерно по 120 ГБ на каждый Spark реально доступны для задач ИИ.
Возможность объединять Spark решает главную проблему устройства — невысокую пропускную способность памяти. А низкое энергопотребление при подключении к обычной розетке делает его идеальным для одного пользователя или небольшой семьи.

Связанные DGX Spark вживую
Dense против MoE
Сейчас есть две основные архитектуры моделей: разреженные (sparse) и плотные (dense). Модели типа Mixture-of-Experts, например Qwen3.6-35B, задействуют всего 3B параметров на каждый сгенерированный токен — в 9 раз меньше, чем Qwen3.8-27B.
Это делает разреженные LLM особенно подходящими для DGX Spark. Они отлично компенсируют меньшую пропускную способность памяти, обеспечивая высокую скорость работы даже при большом общем размере модели.
MoE хороша не только для DGX Spark. В дата-центрах эта архитектура тоже показывает себя лучше. Для локального использования изменился порог: мы ждём определённой скорости, и те плотные модели, которые были достаточно умными, оказывались слишком большими, чтобы работать так быстро дома. Модели MoE преодолели эту черту, поэтому теперь они и полезны, и быстры на домашнем железе. Плотные модели, возможно, когда-нибудь тоже до этого дорастут.

Плотные LLM против MoE
Спекулятивное декодирование
Любая LLM с поддержкой MTP, DSpark или DFlash подойдёт лучше, поскольку черновые модели обычно крошечные и не требуют больших вычислений для генерации правильного токена.
Это заметно повышает пропускную способность Spark ценой всего 1–2 ГБ памяти, которой у устройства с запасом.
Как и MoE, спекулятивное декодирование помогает везде, а не только дома. Но именно их комбинация позволила локальному ИИ пробить потолок. Раньше лучшие открытые модели работали мучительно медленно на домашнем железе.

Как спекулятивное декодирование увеличивает пропускную способность
Много агентов одновременно
Один Spark может обрабатывать восемь и более запросов одновременно, причём каждый — со скоростью живого диалога. Например, Qwen3.6-35B, которая умеет писать базовый код, управлять компьютером и браузером, монтировать видео и фото, а также помогать с общими задачами, тянет до 8 одновременных сессий примерно по 40 ток/с каждая.
Для справки: на подписке ChatGPT Pro GPT-6-Astra работает со средней скоростью 37 ток/с.

Средние скорости Astra
Это возможно потому, что у Spark огромный запас вычислительной мощности относительно скорости памяти. Обслуживание восьми пользователей всё равно означает чтение модели один раз за шаг, но математических операций выполняется в восемь раз больше, а у Spark этой математики хоть отбавляй. При 16 битах получается около 100 TFLOPS на 273 ГБ/с — примерно 370 операций на каждый прочитанный байт памяти. У M3 Ultra около 26 TFLOPS на 819 ГБ/с, то есть примерно 32 операции (цифры EXO). Это примерно в 11 раз больше вычислений на байт, и это ещё без учёта аппаратной поддержки 4 бит у Spark, которой у Mac просто нет.
Реальная работа
Qwen3.6-35B на одном Spark смонтировала видео, которое за сутки набрало больше 80 000 просмотров. На всё ушло 3 минуты: модель взяла папку с тремя роликами, склеила их и ускорила видео в 4 раза, уложив частоту кадров в лимиты X.
https://x.com/0xSero/status/2072206209323802746
Цены
Изначально DGX Spark стоил $3999, но затем цену подняли до $4699. В 2026 году цены выросли вообще на всё железо.
Фактическая цена ещё выше. В официальном магазине NVIDIA всё раскупили. Самый дешёвый вариант, который мне удалось найти, стоит около $5000, б/у продают за $6000, а 21 сентября я видел, как на сайте NVIDIA ту же самую коробку отдавали за $7999 — ту, за которую пятью неделями ранее я заплатил $4699.

Цены на GX10
Маркетплейс NVIDIA 21 сентября. Пост

$4000 – $4700
Советы перед покупкой
- Подойдёт любая коробка на GB10. ASUS, Dell, MSI и другие продают свои версии на том же чипе. Они работают с тем же софтом и теми же рецептами. Обрати внимание на объём SSD: 1 ТБ забивается моментально, если держать несколько крупных моделей. Я бы брал 4 ТБ.
- Покупай кабель вместе со вторым Spark, он нужен, чтобы связать два устройства.
- Некоторые OEM-производители предлагают версии Spark с улучшенным охлаждением
Энергия, шум и счета за свет
Шум и жар от дискретных GPU — это не шутки. Сборка из четырёх 3090 легко жрала бы 1600–2000 Вт, выдавая при этом в 5 раз меньше памяти. Мне пришлось вынести системник с RTX Pro 6000 из кабинета, потому что он регулярно прогревал комнату до 35 °C.
Обычная домашняя сеть в США безопасно тянет около 1440 Вт круглосуточно (электротехнические нормы США). Всё, что больше, требует прокладки новой линии, а значит — вызова электрика.
- Один Spark с запущенной моделью потребляет около 90–200 Вт (ServeTheHome). Это примерно $12 в месяц, если оставить его включённым 24/7.
- Четыре Spark вместе потребляют около 500 Вт, плюс коммутатор на 240 Вт. Примерно $66–100 в месяц, и всё это можно воткнуть в одну розетку.
- Моя сборка из четырёх GPU достигает пика в 1600 Вт. Это больше, чем выдержит одна линия, и около $300 в месяц.

Откуда эти цифры. Каждая цифра получена в разных условиях, поэтому вот они рядом для сравнения. Расчёт стоимости за месяц предполагает, что машина работает с таким потреблением 24 часа в сутки при тарифе 18 центов за кВт·ч:

Мои тесты
Почему четыре Spark потребляют больше, чем 90 Вт × 4. Цифра 90 Вт — это один Spark, обслуживающий модель самостоятельно. Когда одна большая модель разделена на четыре части, каждое устройство работает над каждым словом и постоянно нагружает сетевой канал, поэтому потребление растёт — в моём случае в среднем до 125 Вт. Так что $12 и $66 в месяц — это стоимость работы на полную катушку 24/7. Реальное использование с простоями обойдётся дешевле.
Электричество дешевле тоже не становится. Тарифы для домов в США выросли примерно на 5% в этом году, до 18 центов за кВт·ч, частично из-за новых дата-центров. В августе мой личный счёт вырос вдвое, до $1000 в месяц — работали сборка с GPU, два Spark и четыре кондиционера.

Звук DGX Spark
А что насчёт шума? Моя сборка с GPU ревёт как турбина самолёта. Вот самое громкое, на что способны мои четыре Spark:
Несколько практических советов:
- Используй их с любыми моделями ИИ: мировыми моделями, генерацией изображений и т. д.
- Ставь их набок. Так мои охлаждаются лучше, плюс вокруг решётки остаётся пространство.
- Заходи в сообщества в Discord/Reddit/X, если нужна помощь с отладкой
- Настрой Tailscale для всего своего парка устройств

Шесть моделей, которые я реально использую
Я перепробовал десятки. Вот шесть, к которым возвращаюсь постоянно.

Один токен — это примерно три четверти слова, и всё, что выше 30 ток/с, воспринимается как обычный разговор.
Почему к каждой цифре привязана задача. Большинство этих рецептов используют спекулятивное декодирование, где маленькая вспомогательная модель пытается угадать ответ заранее. Код и JSON угадывать легко, художественный текст — нет, поэтому одна и та же модель на одной и той же машине может работать в два раза быстрее на коде, чем на прозе. Длинные промпты тоже снижают скорость. Поэтому каждая указанная здесь скорость сопровождается пояснением, что именно генерировалось и какой длины был промпт:
Правильный способ измерить это для множества задач — бенчмарк SPEED-Bench от NVIDIA, который тестирует спекулятивное декодирование на реальных промптах из 11 категорий с длиной ввода от 1K до 32K токенов. На Spark я его пока не запускал.
- Один Spark: Qwen3.6-35B, Qwen3.8-Flash-Next, Qwen3.8-27B
- Два Spark: GLM-5.3-Flash.
- Четыре Spark: DeepSeek-V4.1-Flash.

Qwen3.8-Flash-Next на двух Spark создаёт анимации и небольшую игру. (21 сентября) Пост
Где их взять. У каждой модели есть официальная страница, а в разделе 6 найдётся проверенный рецепт для Spark:
- Qwen3.6-35B или 4-битная версия от NVIDIA
- Qwen3.8-27B
- Qwen3.8-Flash-Next
- GLM-5.3-Flash или моя сборка для одного Spark
- DeepSeek-V4.1-Flash
- GLM-5.3 или моя 3-битная сборка
Как вообще помещаются такие большие модели
Ответ — квантование. Квантование сжимает веса модели, и это сжатие с потерями: каждый вес хранится с меньшим количеством бит (скажем, 4 вместо 16), поэтому модель уменьшается в четыре раза, но часть деталей теряется. Цель — максимально сохранить поведение оригинальной модели при сжатии весов.
Чем сильнее сжимаешь, тем хуже качество. Turboderp измерил это для Qwen3.8-27B. Каждая точка — это одна сжатая версия. Чем левее, тем меньше размер; чем ниже, тем ближе к оригиналу:

Средняя KL-дивергенция относительно размера на диске для сжатых версий Qwen3.6-35B-A3B от нескольких авторов. Логарифмическая шкала. График: https://huggingface.co/turboderp/Qwen3.8-27B-exl3
Для Spark важны два формата:
- NVFP4 — 4-битный формат от NVIDIA, который чип Spark читает напрямую. Qwen3.6-35B уменьшается с 72 ГБ до 24 ГБ и помещается на один Spark с запасом.
- EXL3 позволяет точно выбрать, сколько бит использовать. GLM-5.3-Flash в 4 битах занимает 176 ГБ и помещается на два Spark. В 2 битах — 85 ГБ и влезает на один, хотя становится чуть менее точной.

Совет:
4 бита — идеальный вариант для небольших моделей, 3 бита — для крупных
Как понять, что сжатая модель всё ещё хороша. Качественные карточки моделей показывают, насколько уменьшенная версия близка к оригиналу. Обращай внимание на два показателя:
- Top-1 agreement (совпадение первого варианта): как часто сжатая модель выбирает то же следующее слово, что и оригинал. Чем выше, тем лучше. Моя GLM-5.3-Flash для одного Spark совпадает примерно в 80% случаев.
- KL-дивергенция: насколько сильно предсказания расходятся с оригиналом. Чем ниже, тем лучше. Моя необрезанная GLM-5.3 в 3 битах набирает 0,089. Обрезанная версия на 197 ГБ — 0,511. Такова цена размещения на меньшем количестве Spark.
6. От одного Spark к четырём: пошаговый план
Об этом меня спрашивают чаще всего. Двигайся шаг за шагом. Каждый этап работает автономно, так что можешь остановиться там, где тебе будет комфортно.

Большинство приведённых ниже рецептов сделаны MiaAI Lab — ребята упаковывают лучшие настройки для Spark в репозитории, которые можно склонировать и запустить одним скриптом. Несколько рецептов — мои. В каждом указано, на чём он тестировался и какую скорость показал.
Сделай это один раз на каждом Spark:
- Обнови систему. Запусти обновления в DGX Dashboard, затем перезагрузись.
- Настрой доступ со своего ноутбука. Используй NVIDIA Sync или обычный SSH. Чтобы подключаться извне, у NVIDIA есть плейбук для Tailscale.
- Создай аккаунт и токен Hugging Face. Большинство рецептов скачивают модели через него. Храни токен в файле .env, а не в самом репозитории.
- Проверь диск. Модели весят много. Для рецепта на один Spark нужно от 25 до 130 ГБ свободного места. Для рецепта DeepSeek на четыре Spark потребуется около 476 ГБ на первом устройстве.
- Docker уже установлен. Он идёт в комплекте с DGX OS, и почти все рецепты запускаются внутри него, так что пакеты Python вручную ставить не придётся.
Шаг 1: один Spark
Начни с LM Studio. Следуй пошаговому руководству NVIDIA, скачай Qwen3.6-35B и начни общаться. Это займёт около часа. Так ты убедишься, что коробка работает, прежде чем браться за что-то посложнее.
Затем переходи к рецептам. Рецепты используют vLLM или SGLang — они быстрее LM Studio и могут обслуживать сразу несколько агентов. Выбирай:
- Qwen3.6-35B (4-битный NVFP4) MiaAI Lab 95 ток/с для одного пользователя, 317 суммарно для восьми ~50 ГБ
- Qwen3.8-27B (4-битный NVFP4) MiaAI Lab ~51 ток/с на коде с помощником DSpark, ~23 в чате ~24 ГБ
- Qwen3.8-Flash-Next (4-битный NVFP4) MiaAI Lab 48,7 ток/с для одного пользователя, 162,9 суммарно для восьми ~130 ГБ
- GLM-5.3-Flash (2-битный EXL3) мой рецепт или версия рецепта Mia для одного Spark от 10 до 25 ток/с, контекст 262K, поддержка зрения ~85 ГБ
Первый вариант самый простой. Всего три строчки:
1git clone <https://github.com/MiaAI-Lab/Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark.git>2cd Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark3./start.sh
Когда всё запустится, у тебя появится адрес в стиле OpenAI на Spark. Направляй на него Pi, opencode, Open WebUI или любой другой инструмент, которым пользуешься.
Совет:
если модель не стартует, почти всегда дело в памяти. Сначала закрой другие модели. Один Spark тянет только одну большую модель за раз.
Шаг 2: два Spark
Эту конфигурацию я рекомендую чаще всего. Как я писал в августе: "2 DGX Spark — и ты в дамках."

2 dgx sparks
Кабель. Тебе понадобится один короткий кабель QSFP между двумя портами QSFP. Подойдёт любой из этих (гайд по кабелям):
- Оригинальный от NVIDIA: QSFP Cable 0.4 m for DGX Spark, $99,99. Часто нет в наличии.
- Те, что указаны в документации NVIDIA: Amphenol NJAAKK-N911 или Luxshare LMTQF022-SD-R, 0,5 м, примерно от $159 до $187.
- Более дешёвый вариант на 200G: NVIDIA MCP1650-V00AE30, около $84.
Какой бы ты ни купил, линк будет работать на 200 Гбит/с. Не вздумай использовать USB-C или порт 10 GbE. Они слишком медленные.
Настрой соединение. Следуй плейбуку NVIDIA по подключению двух Spark. Он назначит адреса портам и проверит скорость. Затем настрой SSH без пароля с первого Spark («головного») на второй («рабочий»). Это нужно для любого рецепта на два устройства.
Советую попросить claude или gpt настроить это за тебя — так проще.
Выбирай рецепт:
- Qwen3.8-Flash-Next (4-битный NVFP4) MiaAI Lab 52,1 ток/с для одного пользователя с MTP, контекст до 1M
- GLM-5.3-Flash (4-битный EXL3) MiaAI Lab 62,9 ток/с для одного пользователя, 146,5 суммарно для четырёх, контекст 850K
- DeepSeek-V4.1-Flash (2,9-битный EXL3) MiaAI Lab от 38,8 до 43,0 ток/с на коде, контекст 600K
- GLM-5.3 (3-битный EXL3, обрезанный до 197 ГБ) карточка моей модели помещается; скорость пока не замерял
Большинство рецептов для двух Spark выглядят одинаково: копируешь пример настроек, вписываешь адреса обоих устройств, скачиваешь, запускаешь. Вот пример для GLM-5.3-Flash:
1cp .env.example .env # задай HEAD_IP и WORKER_IP2./download.sh3./start.sh
Важно:
связка Spark работает, но именно здесь софт пока отполирован хуже всего. Используй проверенный рецепт и заложи на первый раз полдня.
Шаг 3: три Spark
Для трёх Spark коммутатор не нужен. У каждого устройства два порта QSFP, так что ты соединяешь их треугольником: A с B, B с C, C с A. Итого три кабеля. NVIDIA поддерживает это как кольцо без коммутатора.
Три Spark дают около 384 ГБ. Этого хватит на то, что не влезает в два:
- DeepSeek-V4.1-Flash в родной точности. Рецепт от MiaAI Lab запускает её на треугольнике из трёх Spark со скоростью 51,0 ток/с для одного пользователя и контекстом 256K. Там есть команда doctor, которая проверяет SSH, Docker и сетевые соединения перед стартом.
- GLM-5.3-Flash с большим запасом. В рецепте EXL3 для двух Spark есть файл start-tp3.sh для трёх.
- GLM-5.3 без обрезки. Моей сборке на 293 ГБ нужно памяти примерно на три Spark.
Рецепт DeepSeek — хороший пример того, как запускаются крупные модели. Тут несколько шагов, а не один:
1./start.sh doctor # проверяет ssh, docker, линки, диск2./start.sh share # открывает доступ к папке с моделью для других Spark3./start.sh serve # запускает рабочие узлы, затем головной
Совет:
некоторые модели делятся поровну только на 2 или 4 части. Перед покупкой третьего устройства убедись, что в рецепте указано "3x".
Шаг 4: четыре Spark
Четыре Spark дают около 512 ГБ. Подключить их можно двумя способами.
Вариант A: с коммутатором (использую я). Каждый Spark подключается одним кабелем к коммутатору 200 GbE, так что между любыми двумя устройствами всего один хоп. У NVIDIA есть плейбук для этого. Какие коммутаторы используют люди:
- MikroTik CRS812-8DS-2DQ-2DDQ-RM. Его порты 400G делятся на два линка по 200G.
- MikroTik CRS804-4DDQ-hRM. Вариант поменьше (заметки по сборке на четыре Spark).
- У Exxact есть отличный список покупок для кластера из четырёх Spark: коммутатор, кабели и питание.
Как я говорил в сентябре: "Не думаю, что на рынке есть предложение лучше, чем 4 Spark с коммутатором MikroTik."

Вариант B: без коммутатора. Соедини четыре устройства в кольцо, подключив каждый Spark к двум соседям. Несоседние устройства будут общаться через промежуточные. Это экономит деньги на коммутаторе, но настраивать сложнее:
- SparkRing — полный программный стек для работы без коммутатора (switchless) в парах и кольцах из четырёх Spark. Это альфа-версия, поэтому фиксируйте конкретную версию.
- Этот рецепт для GLM-5.3-Flash работает на кольце из четырёх Spark с четырьмя короткими кабелями 100G и пропатченным NCCL. Обычно выдаёт около 45 tok/s, а после прогрева — до 100.
Выбирайте рецепт:
- DeepSeek-V4.1-Flash (нативный) MiaAI Lab, start-tp4.sh: 45,4 tok/s для одного пользователя, суммарно 134,2 для шестнадцати, контекст 1M
- GLM-5.3-Flash (4-битный NVFP4) кольцо без коммутатора: ~45 tok/s обычно, ~100 после прогрева
Мои лучшие результаты на четырёх устройствах: 118 tok/s для GLM-5.3-Flash с помощником DFlash2 и от 83,8 до 95,3 tok/s для DeepSeek-V4.1-Flash на коротких промптах (пост).

Инструменты, которые помогают на каждом этапе
- \\sparkDash:\\ веб-панель, где все ваши Spark собраны в одном окне. GPU, память, сеть и токены в секунду в реальном времени. Несколько скоростей из этого гайда я замерял именно через неё.
- \\Плейбуки NVIDIA для Spark:\\ официальные руководства по LM Studio, Ollama, vLLM, объединению Spark и многому другому.
- \\local-ai-registry:\\ мои рецепты и все проведённые тесты скорости.
- \\b12x:\\ быстрые математические вычисления под капотом многих рецептов для Spark. Устанавливать его вручную не нужно — это делают сами рецепты. Подробности ниже, в продвинутом разделе.

Заключение
Spark — это коробка с памятью. Она вмещает огромные модели, тихо работает от домашней розетки и становится лучше каждый раз, когда вы добавляете ещё одну.
Если начинаете сегодня:
- Купите один и в первый же день запустите Qwen3.6-35B через LM Studio.
- Переходите к рецептам, как только захотите больше скорости или решите запускать множество агентов.
- Покупайте второй Spark и кабель, когда понадобится GLM-5.3-Flash или DeepSeek-V4.1-Flash. Большинству людей стоит остановиться именно здесь.
- Берите три или четыре только если нужны самые большие модели или хочется запускать несколько одновременно.
Купил бы я их снова? Да. И если бы начинал всё сначала, взял бы два уже в первый день.
Продвинутый уровень: как масштабируется связка Spark
Чтобы просто пользоваться Spark, это знать не обязательно. Раздел для тех, кто хочет понять, откуда берутся такие цифры.
Почти линейный рост при генерации
Каждое слово, которое пишет модель, означает чтение её активных весов из памяти. Если разделить модель между несколькими Spark, каждый читает свою часть одновременно, и скорости чтения складываются.
NVIDIA это измерила. При переходе от одного к двум, а затем к четырём Spark время генерации каждого слова упало с 269 мс до 133 мс и 72 мс. Это ускорение в 2,0 раза на двух и в 3,7 раза на четырёх устройствах (блог NVIDIA, таблица 3).

Результаты настолько близки к идеалу благодаря очень низкой задержке канала ConnectX-7 и тому, что обмен данными между Spark может происходить прямо внутри кода GPU. Это объяснение для Mac раскрывает ту же идею подробнее.
После каждого слоя Spark обмениваются промежуточными результатами, прежде чем начнётся следующий слой. Объём обмена небольшой, но он происходит для каждого слоя и каждого слова. Каждый такой обмен отнимает немного времени, и эта задержка не уменьшается при добавлении новых Spark.
- Канал работает на 200 Гбит/с, то есть около 25 ГБ/с. Это десятая часть скорости собственной памяти Spark. Проблем нет, потому что объёмы обмена маленькие.
- Используется RDMA. Данные идут напрямую из памяти одного Spark в память другого, минуя копирование процессором. Каждый порт QSFP определяется как две половинки по 100 Гбит/с, и чтобы получить полные 200, софт должен задействовать обе (подробности). За это отвечает NCCL — библиотека NVIDIA для таких задач.
- Чтение масштабируется хуже, чем запись. В том же тесте NVIDIA скорость чтения промпта на 32K токенов выросла в 1,6 раза на двух Spark и в 2,1 раза на четырёх. При чтении между устройствами передаётся гораздо больше данных на каждом шаге.
- Кольца добавляют «прыжки». В треугольнике из трёх Spark каждое устройство соединено кабелем с двумя другими. В кольце из четырёх некоторые пары общаются через соседа. Коммутатор сокращает дистанцию между всеми до одного прыжка. SparkRing использует собственный код для обмена (SIRCL), чтобы кольца работали быстрее.
- Модели Mixture-of-Experts добавляют второе разделение. Рецепты часто комбинируют тензорный параллелизм с «параллелизмом экспертов», когда разные Spark хранят разных экспертов.
Ещё два способа ускорить работу
- Много пользователей одновременно. Spark читает модель один раз за шаг и отвечает всем на основе этого чтения. Поэтому общая скорость растёт куда быстрее, чем скорость для одного пользователя.
- Спекулятивная декодирующая модель, которая предугадывает текст. MTP, DSpark и DFlash2 работают именно так. Маленький быстрый помощник набрасывает несколько слов, а большая модель проверяет их все за одно чтение. Когда догадки верны, вы получаете несколько слов по цене одного. Так GLM-5.3-Flash разгоняется с 27 tok/s на обычном тексте до 65 на структурированном выводе в том же рецепте.

Qwen3.6-35B-A3B в 4 бита на одном Spark с включённым помощником для ускорения. Источник: тест скорости local-ai-registry, август 2026 года.
Облачный и локальный ИИ — разные вещи
Облачный GPU намного быстрее Spark. Но провайдеры делят каждый GPU между множеством пользователей, выбирая баланс между стоимостью токена и скоростью для конкретного человека. Большинство выбирает экономию, поэтому каждый пользователь получает меньше токенов в секунду, чем железо могло бы дать одному человеку. InferenceX наглядно показывает этот компромисс для Qwen3.8-Flash-Next.
Дома такого компромисса нет. Коробка ваша, и вы можете отдать всю её мощность одному пользователю. Именно поэтому Spark ощущается таким же быстрым, как облачный сервис, хотя аппаратно ему до него далеко.
sm_121: почему софт для Spark — отдельный мир
У каждого GPU NVIDIA есть номер «вычислительной возможности» (compute capability), который подсказывает софту, какие инструкции доступны. GPU в Spark имеет архитектуру 12.1, или sm_121 (первый взгляд от Саймона Уиллисона). RTX 5090 и RTX PRO 6000 — это sm_120, ближайший родственник. Дата-центровые чипы NVIDIA, B200 и B300, относятся к sm_100 и sm_103 — это совсем другое семейство.
Это важно, потому что самый быстрый ИИ-код пишется под конкретное семейство. На старте Spark многое либо вообще не запускалось, либо работало медленно (форум NVIDIA, issue в vLLM).
Проблему решили люди, которые стали писать код специально под Spark:
- b12x от Local Inference Lab — библиотека ядер для sm_120 и sm_121: DGX Spark, RTX Spark, RTX 5090 и RTX PRO 6000. Она покрывает 4-битную матричную математику (NVFP4, MXFP4), attention для моделей в стиле DeepSeek, слои mixture-of-experts и быстрый загрузчик моделей. Ставится через pip install b12x, а рецепты для vLLM включают её флагами вроде flashinfer_b12x. Используется в рецепте для Qwen3.6-35B.
- SparkInfer — старое название b12x. Старая ссылка теперь перенаправляет на b12x. Мой рецепт DeepSeek для одного Spark использует его код attention и для чтения, и для записи. Не путайте с sparkinfer от gittensor — это отдельная среда выполнения для карт RTX (только sm_120).
- ExLlamaV3 — движок, на котором работают модели EXL3. MiaAI Lab поддерживает форк с портом под Arm (GB10) и поддержкой вспомогательных моделей.
- lil — лаунчер от Local Inference Lab. Он анализирует конфигурацию машины и собирает нужную команду vLLM для одного Spark или связанной группы.
Продвинутый уровень: Spark как машина для исследований
Этого я совершенно не ожидал. Spark медленный на записи, но отлично справляется с чтением. А почти вся исследовательская работа с моделями — это чтение.
В чём Spark реально хорош: prefill
Модель выполняет две разные задачи:
- Prefill — это чтение вашего промпта. Весь промпт обрабатывается разом, поэтому всё упирается в чистую вычислительную мощность. У GB10 её с запасом: до 1 петафлопса 4-битной математики.
- Decode — это генерация ответа, слово за словом. Каждое слово требует повторного чтения модели из памяти, так что лимит — скорость памяти. И это слабое место Spark.
Поэтому Spark читает промпты в 13–41 раз быстрее, чем генерирует текст:

DeepSeek-V4.1-Flash на четырёх Spark: 3360 tok/s при чтении промпта на 32K токенов, 3273 при 131K, тогда как запись держится в районе 70–95. (20 сентября) Пост
Почему исследованиям нужно именно это
Почти всё, что я делаю для уменьшения моделей, — это чтение, а не запись:
- Квантование (меньше бит). Сборки EXL3 и NVFP4 создаются прогоном тестового текста через модель с замерами того, сколько теряет каждый слой при разной битности. Это чтение.
- Прунинг (меньше экспертов). REAP прогоняет тестовый текст через модель mixture-of-experts и записывает, насколько активно используется каждый эксперт. Самые бесполезные вырезаются. В моём GLM-5.3 на 197 ГБ оставлено 168 из 256 экспертов. И это тоже чтение.
- Проверка качества. Top-1 agreement и KL-дивергенция получаются, когда один и тот же текст прогоняется через оригинальную и сжатую модель, а их ответы сравниваются. Снова чтение.
- Тесты длинного контекста. Проверка того, найдёт ли модель один факт среди 262 000 токенов, — это по сути одно очень долгое чтение.
Мой рабочий процесс изменился именно по этой причине. «Теперь весь прунинг/exl3/бенчмаркинг я гоняю на DGX Spark, а 6000-е оставляю для инференса. Медленнее, но 2–3 дня против 12 часов — вполне нормально». Тот самый DeepSeek для одного Spark, который преодолел отметку в 100 000 скачиваний, — это модель, прошедшая прунинг REAP и сжатие EXL3.
Как это связано с целями исследований
Если ваша задача — узнать что-то новое о модели, Spark подходит идеально:
- Он вмещает большую модель. Можно измерять модель на 300B на одной-двух коробках вместо аренды кластера.
- Работает сутками от обычной розетки. Долгие калибровки и оценки можно запускать без присмотра и без гигантских счетов за свет.
- Освобождает быстрое железо. Мои GPU обслуживают пользователей, пока Spark делает медленную, кропотливую работу.
- Калибровку можно проводить на своих данных. Я делал прунинг моделей на сессиях своих агентов и собственных текстах — это приватная информация, и она остаётся у меня на столе.
- Отличная площадка для исследовательских агентов. Я запускал четырёх агентов, работающих над исследовательскими задачами на Spark одновременно, каждый примерно по 120 tok/s.
- Обучение хорошо масштабируется между Spark. В тесте NVIDIA файн-тюнинг работал в 2 раза быстрее на двух Spark и в 4 раза на четырёх, потому что синхронизация нужна всего раз за шаг (таблица 5). Плейбуки NVIDIA описывают файн-тюнинг через PyTorch. Сам я время обучения не замерял.
Продвинутый уровень: GB10, GB300 и Spark как дополнительная память
«GB» означает Grace Blackwell: Arm-процессор и GPU Blackwell в одном корпусе, разделяющие память через быстрый канал NVLink-C2C. GB10 внутри Spark — самая компактная версия этой идеи, с 20-ядерным Arm-процессором, разработанным вместе с MediaTek.
GB300 — версия для дата-центров: CPU Grace с GPU Blackwell Ultra (B300). Они устанавливаются в стойки NVIDIA GB300 NVL72, а один GB300 питает DGX Station. GB10 — это не кусок, отрезанный от GB300. Это тот же дизайн, просто уменьшенный, поэтому один и тот же софт работает на обоих.

Заключение
DGX Spark занял своё место в моём доме, а поддержка, полезность и возможности устройства растут буквально с каждым днём.
Источники и полезные ссылки
- Мои посты: всё, что датировано выше, есть в моём профиле X. Скорости взяты из моих личных тестов, опубликованных в local-ai-registry.
- Рецепты: MiaAI Lab на GitHub, мои модели на Hugging Face.
- Железо и цены: страница DGX Spark на сайте NVIDIA, документация NVIDIA по железу, VideoCardz о повышении цен, VideoCardz о ценах в сентябре, трекер цен pi3g.
- Связывание Spark: документация NVIDIA по кластеризации, блог NVIDIA о масштабировании, плейбук с коммутатором, гайд по кабелям, гайд NVIDIA по бенчмаркам на двух Spark.
- Питание: обзор ServeTheHome, Tom's Hardware об энергопотреблении в простое, цены на электричество в США (EIA через Utility Dive), электротехнические нормы США по постоянным нагрузкам.
- Форматы и софт: NVIDIA о NVFP4, ExLlamaV3, b12x, REAP, вычислительные возможности.
- Скорость в облаке: InferenceX от SemiAnalysis.
- GB300: характеристики GB300 NVL72, характеристики DGX Station, EXO о связке Spark и Mac Studio.
- С чего начать: плейбуки NVIDIA для Spark.
- Общая картина: State of Local AI: 2026.





