Qwen3.6 27B MTP добавляет около 0,3 ГБ веса и ускоряет генерацию примерно в 2 раза: с 60 до 130 t/s без потерь
MTP — это дополнительные выходные головы модели, обученные вместе с ней предсказывать следующие токены из одного скрытого состояния. Для запуска нужны GGUF-кванты с MTP-слоями, например Qwen3.6-27B-MTP-GGUF или Qwen3.6-35B-A3B-MTP-GGUF, а в llama.cpp режим включается параметрами --spec-type draft-mtp и --spec-draft-n-
max. Если у модели нет встроенных MTP-голов, близкие задачи решают EAGLE-3 и DFlash, но их поддержка в llama.cpp пока находится в черновом статусе.
Механика ускорения завязана на спекулятивное декодирование: черновик предлагает цепочку токенов, а основная модель параллельно проверяет их через общий KV-кэш. Если токены совпадают с выбором основной модели, они принимаются, при первом расхождении цепочка обрывается. В разборе sampling.cpp показано, что такая проверка сохраняет lossless-качество, потому что в финальную последовательность попадают только токены, принятые основной моделью.
На Dense-модели Qwen3.6-27B MTP дал более стабильный эффект: для программирования ускорение достигало 2 раз, для творческих задач — 33%, для перевода — 83%. На MoE-модели Qwen3.6-35B-A3B прирост оказался слабее: около 33% для кода, 7–12% для перевода и деградация на 10–17% в задаче сочинения истории.
Коротко
- MTP в llama.cpp для Qwen3.6 включается через --spec-type draft-mtp и настройку числа предсказываемых токенов --spec-draft-n-max.
- Qwen3.6-27B с MTP в тестах ускорял задачи программирования примерно в 2 раза, но результат зависит от типа задачи и железа.
- Спекулятивное декодирование проверяет токены черновика основной моделью и обрывает цепочку при первом несовпадении.
- Для MoE-модели Qwen3.6-35B-A3B эффект ниже: 33% на коде, 7–12% на переводе и просадка на творческой задаче.
- Если у модели нет MTP-голов, автор рассматривает EAGLE-3 и DFlash как альтернативы, но их поддержка в llama.cpp пока черновая.
FAQ
Зачем использовать MTP в llama.cpp для Qwen3.6, если обычная генерация уже работает?
MTP позволяет принять несколько токенов за одну проверку основной моделью и сократить время генерации. На Dense-модели Qwen3.6-27B в отдельных задачах это давало ускорение до примерно 2 раз.
Почему MTP не должен ухудшать качество ответа модели при спекулятивном декодировании?
Основная модель проверяет предложенные токены и принимает только совпавшие с её собственным выбором. При первом расхождении цепочка обрывается, поэтому в результат не попадают неподтверждённые токены.
Почему ускорение на Qwen3.6-35B-A3B оказалось слабее, чем на Qwen3.6-27B?
Qwen3.6-35B-A3B относится к MoE-моделям с меньшим числом активных параметров на шаг. По замерам из текста, MTP для такой архитектуры даёт меньший выигрыш и может проседать на творческих задачах.
Читайте также
Обзор серверного ускорителя NVIDIA Tesla V100 16 ГБ в корпусе от RTX 4090: часть 3 — запуск локальных моделей ИИ
Конец бесплатного кремния: как Google AI Studio превратилась из рая для инженеров в симулятор смены аккаунтов
Capacitor: от веба к мобильным приложениям. Часть 4. Интегрируем локальную LLM в проект
От RAG-прототипа к агенту в продакшн: путь по метрикам, а не по моде
Память на миллион токенов, а толку ноль: как ИИ-агента спасали от «тупости»
- MTP в llama.cpp для Qwen3.6: Multi-Token Prediction в Qwen3.6 работает через дополнительные выходные головы модели, которые обучены предсказывать несколько следующих токенов из одного скрытого состояния. Для практического запуска нужны GGUF-кванты с MTP-слоями и явное включение режима draft-mtp в llama.cpp через параметры --spec-type draft-mtp и --spec-draft-n-max.
[Локальные LLM / Инференс]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
В llama.cpp появилась поддержка Multi-Token Prediction для Qwen3.6: модель с MTP-слоями может предсказывать несколько токенов за один проход и ускорять генерацию без изменения качества. В тестах Qwen3.6-27B MTP дал прирост до примерно 2 раз, но эффект зависит от архитектуры модели и задачи.