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/s26.732.4 (+21%)55–63
Acceptance позиции 00.41 (до фикса)0.74 (после фикса)
Средняя принятая длина1.75 (до фикса)2.5 (после фикса)3–4
Агрегатный throughput (8 потоков), tok/s~64 (MTP-2)~99 (+55%)
C16-static throughput, tok/s324 (наше: 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.