В начале года Nvidia активно продвигала DFlash — метод ускорения инференса LLM, который обещал до 15-кратного прироста пропускной способности на архитектуре Blackwell. Звучало впечатляюще, но независимая проверка на реальном стенде показала, что реальные цифры далеки от заявленных. Вместо 15x автор эксперимента получил 2,3x на одиночном запросе, а при увеличении нагрузки ускорение и вовсе исчезало.
DFlash относится к классу методов спекулятивного декодирования. Обычная LLM генерирует текст последовательно: один проход по всем весам — один токен. Это крайне неэффективно, так как GPU упирается в скорость памяти, а не в вычисления. Спекулятивное декодирование решает проблему, используя маленькую «черновую» модель, которая быстро предсказывает несколько следующих токенов, а большая модель проверяет их за один проход. Классические методы, такие как EAGLE-3, генерируют черновик по одному токену за раз, что остается узким местом. DFlash предлагает заменить это блочной диффузионной моделью, которая выдает весь блок сразу, параллельно. Дополнительно используется KV injection — передача скрытых состояний целевой модели в драфтер для повышения точности предсказаний.
| Одновременных запросов | База, ток/с | DFlash, ток/с | Отношение |
|---|---|---|---|
| 1 | 180.8 | 418.0 | 2.31x |
| 2 | 325.8 | 519.3 | 1.59x |
| 3 | 440.8 | 480.3 | 1.09x |
| 4 | 517.3 | 522.3 | 1.01x |
| 6 | 674.7 | 581.5 | 0.86x |
| 8 | 779.4 | 538.2 | 0.69x |
В эксперименте использовалась модель Gemma 4 26B (MoE, 26B параметров) с драфтером на 451 МБ, запущенная на одной Nvidia RTX 6000 PRO с llama.cpp. Базовая скорость генерации без спекуляции составила 180,8 ток/с на одиночном запросе. С DFlash — 418,0 ток/с, что дает ускорение 2,3x. Однако при увеличении числа одновременных запросов картина менялась: при 4 запросах ускорение упало до 1,01x, а при 8 запросах DFlash показал 538,2 ток/с против 779,4 ток/с у базовой линии — то есть стал медленнее на 31%. Автор отмечает, что проигрывает сервер целиком, а не отдельный пользователь: скорость одного потока у DFlash не опускалась ниже базовой, но суммарная пропускная способность падала из-за насыщения.
Nvidia получила 15x на gpt-oss-120b в режиме максимальной отзывчивости, где обычное декодирование крайне неэффективно.
Откуда же взялись 15x? Nvidia получила эту цифру на модели gpt-oss-120b с восемью DGX B300 и TensorRT-LLM в специфическом режиме максимальной отзывчивости, где на пользователя приходится 500–600 токенов в секунду. В этом режиме обычное авторегрессивное декодирование крайне неэффективно, так как батч почти пуст, и DFlash выигрывает. Но при реалистичной нагрузке, когда батч заполнен, преимущество исчезает. В той же статье Nvidia приводит средние значения 2,3x для gpt-oss-120b и 2,8x для Llama 3.1 8B при сопоставимой конкурентности. Таким образом, 15x — это вырожденный случай, а не типичная производительность.
Эксперимент показал, что средняя длина принятого блока черновика составила 2,06 токена, а доля принятых предсказаний — около 25%. Это означает, что DFlash в среднем ускоряет генерацию в два раза, что согласуется с полученными 2,3x. Однако при параллельной нагрузке выигрыш нивелируется, так как диффузионная модель требует дополнительных вычислений, которые конкурируют за ресурсы GPU. Это важный урок для тех, кто рассматривает DFlash как универсальное решение: ускорение сильно зависит от сценария использования и конфигурации оборудования.
Для практического применения стоит учитывать, что DFlash может быть полезен в сценариях с низкой конкурентностью, например, при обслуживании небольшого числа пользователей с высокими требованиями к задержке. Но для высоконагруженных систем, где важна суммарная пропускная способность, традиционные методы могут оказаться эффективнее. Вендорские бенчмарки часто отражают идеальные условия, поэтому перед внедрением любой технологии ускорения ИИ рекомендуется проводить собственные тесты на целевых нагрузках.

