Ключевые выводы: когда MTP работает, а когда нет
Multi-Token Prediction (MTP) для Qwen3.6-27B в формате NVFP4 на RTX 5090 даёт прирост до +82% скорости генерации на одиночном запросе с коротким контекстом. Этот сценарий - лучший для MTP. При 12 и более одновременных запросах преимущество исчезает и переходит в замедление. На длине контекста от 32 тысяч токенов MTP также перестаёт помогать и начинает отнимать ресурсы.
На двух RTX 5090 с тензорным параллелизмом абсолютная скорость выше, но относительный эффект MTP снижается из-за накладных расходов на коммуникацию между картами. Общая рекомендация: включайте MTP с nspec=3 для низкой конкурентной нагрузки и коротких контекстов, отключайте для высоконагруженных серверов и работы с длинными документами.
Multi-Token Prediction - метод спекулятивной декодировки, встроенный в архитектуру Qwen3.6. Модель параллельно предсказывает несколько следующих токенов, а затем проверяет их корректность основным проходом. Это снижает latency ценой дополнительных вычислений. Когда GPU недогружен, вычислительные ресурсы простаивают, и MTP эффективно их утилизирует. При высокой нагрузке конкуренция за ядра приводит к частому отбрасыванию спекулятивных токенов, и накладные расходы превышают выгоду. Подробный разбор методов оптимизации инференса, включая сравнение DFlash и MTP, есть в отдельном тестировании.
Методология тестирования: что и как мы измеряли
Бенчмарк проводился на стенде с одной и двумя RTX 5090, драйверы NVIDIA 570, vLLM 0.8.3, модель Qwen3.6-27B в формате NVFP4 от Unsloth. Формат NVFP4 использует 4-битное квантование весов с плавающей точкой, что снижает объём VRAM без значительной потери качества. Выбор vLLM как бэкенда обусловлен нативной поддержкой MTP и эффективным управлением KV-кэшем через PagedAttention. Для сравнения бэкендов под разные задачи подготовлен чек-лист из 5 вопросов.
Сценарии тестирования охватывали три оси нагрузки: число одновременных запросов от 1 до 24, длина контекста от 1k до 32k токенов, конфигурация GPU - одна карта и две с тензорным параллелизмом. Метрики: токены в секунду на генерацию, latency первого токена (TTFT), общая пропускная способность системы.
Конфигурация стенда и параметры vLLM
Для одной RTX 5090 использовалась следующая команда запуска с включённым MTP:
vllm serve unsloth/Qwen3.6-27B-NVFP4 \
--dtype float16 \
--max-model-len 32768 \
--gpu-memory-utilization 0.92 \
--speculative-model-type medusa \
--num-speculative-tokens 3
Для двух RTX 5090 с тензорным параллелизмом добавлялись флаги распределения:
vllm serve unsloth/Qwen3.6-27B-NVFP4 \
--dtype float16 \
--max-model-len 32768 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.90 \
--speculative-model-type medusa \
--num-speculative-tokens 3
Параметр num-speculative-tokens 3 означает, что MTP-головка предсказывает три токена за один спекулятивный шаг. Это значение nspec=3 выбрано как баланс между потенциальным ускорением и накладными расходами. При отключении MTP флаги speculative удалялись полностью.
Для нагрузки использовался бенчмарк-скрипт с настраиваемым числом конкурентных пользователей и длиной промптов. Каждый тест прогонялся трижды, результаты усреднялись. KV-кэш работал в режиме FP8 для экономии памяти на длинных контекстах.
Результаты на одной RTX 5090: где MTP раскрывается
Одиночный запрос: +82% скорости
На одиночном запросе с контекстом 1024 токена и генерацией 512 токенов MTP показал прирост скорости с 44 до 80 токенов в секунду - +82%. Latency первого токена снизилась со 180 мс до 120 мс. Причина эффективности: GPU Blackwell в этом сценарии загружен не полностью, вычислительные блоки простаивают между основными проходами модели. MTP утилизирует эти простои, выполняя спекулятивные предсказания параллельно с основной декодировкой.
Процент принятых спекулятивных токенов на одиночном запросе составил 68-73%. Это означает, что из трёх предсказанных токенов в среднем два принимаются, а один отбрасывается. Такой коэффициент окупает накладные расходы и даёт чистый прирост производительности.
Конкурентные запросы: точка перелома на 12 одновременных пользователях
При увеличении числа одновременных запросов картина меняется. На 4 запросах прирост от MTP снижается до +35%. На 8 запросах - до +12%. На 12 запросах MTP и базовая конфигурация показывают одинаковую пропускную способность. При 16 и 24 запросах MTP даёт замедление на 8-15% относительно базового режима.
Механика деградации: при высокой конкурентности batch размер растёт, GPU загружен полностью. Спекулятивные токены начинают отбрасываться чаще - процент принятия падает до 40-45%. Накладные расходы на вычисление и проверку спекулятивных токенов уже не компенсируются редкими успешными предсказаниями. Ресурсы GPU отнимаются у основных запросов, общая пропускная способность падает.
Зависимость пропускной способности от числа одновременных запросов:
| Число запросов | Без MTP (токенов/с) | С MTP (токенов/с) | Изменение |
|---|---|---|---|
| 1 | 44 | 80 | +82% |
| 4 | 156 | 210 | +35% |
| 8 | 280 | 314 | +12% |
| 12 | 385 | 385 | 0% |
| 16 | 440 | 405 | -8% |
| 24 | 470 | 400 | -15% |
Тензорный параллелизм на двух RTX 5090: меняет ли это правила игры?
Две RTX 5090 с тензорным параллелизмом дают почти линейный прирост пропускной способности в базовом режиме без MTP: 44 токенов/с на одной карте против 82 токенов/с на двух. Однако относительный эффект MTP на двух картах ниже.
Сравнение пропускной способности: одна vs две карты
На одиночном запросе MTP на двух картах даёт прирост +52% (с 82 до 125 токенов/с) против +82% на одной. Причина: тензорный параллелизм добавляет задержки на синхронизацию между картами через NVLink. Спекулятивные токены требуют дополнительных обменов данными, и эти накладные расходы съедают часть выигрыша.
| Конфигурация | Без MTP (токенов/с) | С MTP (токенов/с) | Прирост |
|---|---|---|---|
| 1x RTX 5090 | 44 | 80 | +82% |
| 2x RTX 5090 | 82 | 125 | +52% |
На 12 одновременных запросах MTP на двух картах уже показывает замедление -5%, тогда как на одной карте точка перелома наступает при 12 запросах с нулевым эффектом. Тензорный параллелизм сдвигает порог деградации в сторону меньших нагрузок.
Для тех, кто рассматривает конфигурации с двумя картами Blackwell начального уровня, полезен разбор memory-bound ограничений на двух RTX 5060 Ti - физика распределения нагрузки аналогична.
Влияние длины контекста: когда 32k токенов убивают преимущество MTP
Длина контекста - второй критический фактор после конкурентности. На одиночном запросе с контекстом 1024 токена MTP даёт +82%. На 8192 токенах прирост снижается до +28%. На 32768 токенах MTP показывает замедление -3% относительно базового режима.
Причина: с ростом контекста KV-кэш занимает больше памяти. На 32k токенах модель Qwen3.6-27B в NVFP4 с FP8 KV-кэшем потребляет около 22 ГБ VRAM из 32 ГБ доступных на RTX 5090. Оставшегося пространства хватает для работы, но спекулятивные токены требуют дополнительных аллокаций под временные тензоры. Возникает фрагментация памяти и повышенная нагрузка на подсистему кэширования vLLM.
Процент принятых спекулятивных токенов на длинном контексте падает до 35-40%. Модель чаще ошибается в предсказаниях, поскольку длинный контекст увеличивает пространство возможных продолжений. Накладные расходы на проверку и отбрасывание неверных токенов превышают редкие успешные предсказания.
Интересный обходной путь для длинных контекстов показан в исследовании предсказания загрузки экспертов MoE через MTP-головку. Там спекулятивные токены используются не для прямой генерации, а для предзагрузки экспертов в фоновом режиме, что даёт прирост даже на больших моделях.
Практические рекомендации: когда включать и отключать MTP
Чёткие правила на основе бенчмарка:
- Одиночные запросы и короткий контекст (до 8k токенов) - включайте MTP с nspec=3. Прирост до +82% на одной карте, до +52% на двух.
- Конкурентная нагрузка от 12 одновременных запросов - отключайте MTP. Накладные расходы превышают выгоду, пропускная способность падает на 8-15%.
- Контекст длиннее 32k токенов - отключайте MTP независимо от числа запросов. Большой KV-кэш и низкий процент принятия спекулятивных токенов дают чистое замедление.
- Две карты с тензорным параллелизмом - MTP полезен только для низкой нагрузки (до 8 запросов). При высокой конкурентности отключайте сразу.
Конфигурации vLLM для разных сценариев
Сценарий 1: Одиночный пользователь, короткие запросы (MTP включён)
vllm serve unsloth/Qwen3.6-27B-NVFP4 \
--dtype float16 \
--max-model-len 8192 \
--gpu-memory-utilization 0.92 \
--speculative-model-type medusa \
--num-speculative-tokens 3
Сценарий 2: Высоконагруженный сервер, 12+ пользователей (MTP отключён)
vllm serve unsloth/Qwen3.6-27B-NVFP4 \
--dtype float16 \
--max-model-len 32768 \
--gpu-memory-utilization 0.92
Сценарий 3: Две карты, умеренная нагрузка до 8 пользователей (MTP включён)
vllm serve unsloth/Qwen3.6-27B-NVFP4 \
--dtype float16 \
--max-model-len 16384 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.90 \
--speculative-model-type medusa \
--num-speculative-tokens 3
Проверяйте метрики в своих условиях. Процент принятых спекулятивных токенов доступен в логах vLLM - если он стабильно ниже 50%, MTP лучше отключить.
Заключение: MTP - мощный, но ситуативный инструмент
Multi-Token Prediction в Qwen3.6-27B на RTX 5090 даёт +82% скорости в идеальных условиях одиночного запроса с коротким контекстом. При росте нагрузки до 12 одновременных пользователей или контекста до 32k токенов преимущество обнуляется и переходит в замедление. Тензорный параллелизм на двух картах повышает абсолютную скорость, но снижает относительную эффективность MTP.
Универсального ответа «включать или нет» не существует. Решение зависит от профиля нагрузки конкретного сервера. Тестируйте в своих условиях, отслеживайте процент принятых спекулятивных токенов и корректируйте конфигурацию. С развитием фреймворков и оптимизацией спекулятивной декодировки поведение MTP может измениться - эта статья фиксирует срез на июль 2026 года с vLLM 0.8.3 и драйверами NVIDIA 570.
Делитесь своими результатами в комментариях. Особенно интересны конфигурации с тремя и более картами, а также тесты на новых версиях vLLM.