27 июня 2026 года компания DeepSeek выпустила спекулятивный декодер DSpark — очередной компонент стека DeepSpec. DSpark предназначен для ускорения инференса модели V4 (MoE с 284B параметров, ~13B активных на токен). Заявленный выигрыш — +60–85% per-user speedup и кратный рост aggregate-пропускной способности в SLA-режимах относительно baseline MTP-1 (MTP — multi-token prediction, метод предсказания нескольких токенов за один проход). Однако к концу июня публичный vLLM-путь на архитектуре GB10 (DGX Spark) не поддерживал method=dspark: в community-форке jasl, обеспечивающем работу V4 на SM121, опция была закрытым pydantic-enum, и запуск останавливался на конфигурационной валидации. Группа энтузиастов решила не ждать официальной поддержки и выполнила порт самостоятельно.
Спекулятивный декодинг — техника, при которой маленькая быстрая «драфт-голова» последовательно генерирует несколько токенов-кандидатов, а большая модель проверяет их одним широким проходом и принимает совпавшие. В DSpark драфт состоит из трёх MTP-стадий (каждая структурно идентична обычному слою V4: MLA-attention + MoE на 256 экспертов), поверх которых работают main_proj, низкоранговая Markov-голова (rank 256) и confidence-голова. Порт опирался на уже имеющуюся поддержку V4 в форке jasl и тяжёлые кернелы, включая MTP-слои, которые работали под продовой нагрузкой. Главная проблема обнаружилась при дебаге: унаследованный кернел сэмплил драфт из noise-слота вместо bonus-слота. Сдвиг индекса сэмплинга на один слот поднял acceptance позиции 0 с 0.41 до 0.74, среднюю принятую длину с 1.75 до 2.5, а single-stream throughput с 26 до 36 tok/s (при измерении на fp8).
| Метрика | Без спекуляции | DSpark (наш порт) | Рецепт сообщества (NVFP4) |
|---|---|---|---|
| Single-stream fp8, tok/s | 26.7 | 32.4 (+21%) | 55–63 |
| Acceptance позиции 0 | 0.41 (до фикса) | 0.74 (после фикса) | — |
| Средняя принятая длина | 1.75 (до фикса) | 2.5 (после фикса) | 3–4 |
| Агрегатный throughput (8 потоков), tok/s | ~64 (MTP-2) | ~99 (+55%) | — |
| C16-static throughput, tok/s | — | — | 324 (наше: 315.1) |
Фактический выигрыш DSpark на GB10 проявился в конкурентном режиме: агрегатный throughput на 8 потоках составил ~99 tok/s против ~64 у прежнего прода с MTP-2, что эквивалентно приросту +55%. На 12 потоках получены значения 141–146 tok/s. Single-stream на fp8: 26.7 tok/s без спекуляции, 32.4 tok/s с DSpark (+21–24%). Важное уточнение: эти цифры не опровергают результаты DeepSeek — у них другой baseline (MTP-1) и другое железо. Вскоре после порта участник сообщества tonyd2wild выложил NVFP4-KV рецепт с заявкой 67 tok/s single-stream. Воспроизведение показало 55–63 tok/s, а в статическом режиме C16 — 324 tok/s против 315.1 — ничья в пределах разброса. Механизм выигрыша NVFP4: в no-spec контроле 4-битный KV не ускорил голый forward (26.6 ≈ 26.7), то есть прирост single-stream пришёл через acceptance 3–4 против ~2.1.
Исследована кривая деградации до реального контекста в 1 млн токенов: на 16K — 42.7 tok/s, на 512K — 17.6, на 1.03M — 17.2 (после 512K наблюдается полка, не обвал). На глубине ≥256K билд иногда уходит в петли когерентности, а acceptance в петле завышается (оба прогона на 1M связные — лотерея, не стена). Задокументированы три негативных результата: YaRN re-anchor драфта (замедление в ~15 раз, мнимый «рост» acceptance), confidence-планировщик (−9% агрегата) и сэмплер-фикс когерентности (ни один конфиг не держит обе глубины; min_p под spec-декод заблокирован сервером). Репозиторий с результатами выложен под именем botAGI/DeepSeek-V4-Flash-DSpark-GB10-2x-DGX-Spark-1m-fp4-fp8.

