Polymathic AI и исследователи из Princeton выпустили FlashMap — модель-черновик Flow Map для декодирования LLM в 6,14 раза быстрее
Исследователи из Polymathic AI, Принстонского университета, USC ISI, NYU и Института Флэтайрон выпустили FlashMap. Спекулятивное декодирование FlashMap заменяет дискретный diffusion-драфтер непрерывной flow-картой. Он формирует полный блок из 16 токенов за 1 прямой проход. Токены в этом блоке остаются согласованными друг с другом. Для Qwen3-8B исследовательская команда сообщает о ускорении без потери точности до 6,14 раза на GSM8K. Веса драфтеров для Qwen3-8B и Qwen3-4B доступны на Hugging Face, а также доступны плагины для vLLM и SGLang.
Кратко
- Размер: драфтер с 0,5 млрд параметров (500 млн для Qwen3-8B, 475 млн для Qwen3-4B); формирует блоки по K = 16 токенов.
- Работает на: том же GPU, что и целевая модель. Ускорение в статье измерялось на 1 NVIDIA H200 NVL при уровне параллелизма 1, в формате bf16.
- Производительность: самый быстрый протестированный драфтер для Qwen3-8B, примерно на 7% быстрее переобученного DFlash в среднем.
- Лучший результат: ускорение в 6,14 раза на GSM8K при температуре 0 (длина принятой последовательности — 7,69 токена).
- Худший результат: ускорение в 2,28 раза на Alpaca при температуре 1. Для Qwen3-4B (температура 0) он уступает DFlash в 4 из 9 задач.
Что такое FlashMap?
FlashMap — это драфтер для спекулятивного декодирования, который преобразует гауссовский шум в блок токенов за 1 шаг. Небольшой драфтер предлагает K токенов. Затем целевая модель проверяет все K токенов за 1 параллельный проход и сохраняет самый длинный совпадающий префикс. Результат в точности совпадает с тем, что выдала бы целевая модель.
Скорость зависит от 2 факторов: сколько сформированных токенов принимается и насколько дёшево они были сформированы. EAGLE-3 формирует токены авторегрессионно, поэтому стоимость растёт вместе с длиной блока. DFlash формирует полный блок за 1 проход с помощью блочной диффузии.
Почему diffusion-драфтеры теряют в доле принятых токенов?
DFlash предсказывает каждую позицию в блоке независимо. Исследовательская команда называет это факторизованным приближением. Представьте продолжение, которым с равной вероятностью могут быть «new york» или «san diego». Независимый драфтер в половине случаев предлагает «new diego» или «san york». Целевая модель отклоняет такие варианты уже на второй позиции.
FlashMap основан на языковых моделях на основе flow-карт. Каждый образец шума преобразуется в 1 полный блок. Шум совместно выбирает наиболее вероятный вариант для каждой позиции.
Как работает FlashMap?
Драфтер представляет собой diffusion-трансформер (DiT) из 6 блоков с размерностью эмбеддингов 2048 и 16 головами внимания. Он считывает скрытые состояния из слоёв целевой модели 1, 9, 17, 25 и 33. Матрица эмбеддингов и LM-голова копируются из целевой модели и остаются замороженными.
Обучение проходит в 2 этапа:
- Flow-учитель: непрерывный flow над блоками one-hot-токенов, обученный с помощью кросс-энтропии. Перепараметризация времени учитывает словарь Qwen3 размером 151 936 токенов.
- Ученик flow-карты: дистилляция полугруппы превращает flow в денойзер с 2 временными точками. Он переходит от шума к данным за 1 шаг.
Оба драфтера обучались на 500 тыс. образцов из Open-PerfectBlend. Совокупные вычислительные затраты на все модели и абляционные исследования составили около 4600 часов работы GPU H200.
Как FlashMap показывает себя на бенчмарках?
Исследовательская команда переобучила EAGLE-3 и DFlash на одних и тех же данных и с одинаковыми настройками. Тесты охватывают 9 бенчмарков по математике, программированию и диалогам при температурах 0 и 1.
- Скорость: однократный FlashMap — самый быстрый драфтер на каждой задаче для Qwen3-8B при обеих температурах.
- Точность: однократный FlashMap превосходит DFlash по длине принятой последовательности в 15 из 18 настроек. При этом у него примерно вдвое меньше параметров.
- Наибольший прирост в диалогах: при температуре 0 преимущество над DFlash составляет 5,5% на математических задачах и 11,1% в диалогах.
- Режим с 2 шагами: длина принятой последовательности превосходит DFlash в 18 из 18 настроек, в среднем на 10%.
- EAGLE-3: при температуре 1 длина принятой последовательности у него на 9% выше, но работает он на 35% медленнее.
Тест с перемешиванием проверяет, используют ли черновые варианты реальную структуру связей между токенами. При 2 шагах FlashMap восстанавливает большую часть выигрыша от совместной структуры, получаемого 16-шаговым учителем. При 1 шаге сохраняется лишь небольшая его доля. Формирование 4 образцов шума в виде дерева повысило ускорение в среднем на 11%.
Сравнение: FlashMap и другие драфтеры для спекулятивного декодирования
| Характеристика | FlashMap | DFlash | EAGLE-3 | DSpark |
|---|---|---|---|---|
| Стиль формирования | Непрерывная flow-карта, 1 или 2 прохода | Блочная диффузия, 1 проход | Авторегрессионный, дерево | Полуавторегрессионный |
| Зависимости между токенами | Да, совместные для блока | Нет, независимые для каждой позиции | Да, последовательные | Да, с помощью лёгкого последовательного модуля |
| Размер драфтера (Qwen3-8B) | 500 млн | 1 млрд | 302 млн (переобученная модель, согласно статье FlashMap) | Не раскрыт |
| Заявленный результат (собственный источник) | До 6,1 раза | До 6,17 раза для Qwen3-8B | До 6,5 раза | На 60–85% быстрее на пользователя по сравнению с MTP-1 |
| Среднее ускорение, Qwen3-8B, T=0 (сопоставимые условия, статья FlashMap) | 4,36 раза | 4,07 раза | 2,55 раза | Не тестировался |
| Ускорение на GSM8K, T=0 (сопоставимые условия) | 6,14 раза | 5,77 раза | 3,20 раза | Не тестировался |
| Лицензия на веса | Apache-2.0 | MIT | Apache-2.0 (код) | Не раскрыта |
| Развёртывание | Transformers, vLLM, SGLang | Transformers, vLLM, SGLang | SGLang и другие | Обслуживание DeepSeek-V4 |
Средние значения ускорения рассчитаны Marktechpost по рисунку 1(c) из статьи о FlashMap. В сопоставимых строках используются переобученные базовые модели авторов.
Как развернуть FlashMap?
Пакету flashmap нужны только torch и transformers>=4.56. Установите его с помощью uv pip install flashmap. Вызов spec_generate запускает драфтер и целевую модель вместе на 1 GPU.
Для обслуживания на странице проекта представлены 2 варианта:
- vLLM 0.31: передайте драфтер в
--speculative-config, установив дляnum_speculative_tokensзначение 16. - SGLang 0.5.20: используйте
--speculative-algorithm DSPARKс путём к черновой модели FlashMap.
Установите num_steps=2, чтобы обменять часть скорости на более высокую долю принятых токенов. Для семплирования при температуре выше 0 в vLLM требуется "draft_sample_method": "probabilistic".
Ключевые выводы
- FlashMap совместно формирует 16 токенов за 1 проход с помощью непрерывной flow-карты.
- До 6,14 раза более быстрое декодирование без потери точности на Qwen3-8B с использованием драфтера на 0,5 млрд параметров.
- Быстрее переобученного DFlash на всех 9 бенчмарках Qwen3-8B.
- Режим с 2 шагами сохраняет стабильную долю принятых токенов на протяжении всего блока.
- Веса распространяются по лицензии Apache-2.0, код — по лицензии MIT; доступны плагины для vLLM и SGLang.
Ознакомьтесь с статьёй, страницей проекта, репозиторием GitHub и весами модели. Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту о машинном обучении с аудиторией 150 тыс.+ и подписаться на нашу рассылку. Постойте! Вы есть в Telegram? теперь к нам можно присоединиться и в Telegram.
Хотите сотрудничать с нами для продвижения своего репозитория GitHub, страницы на Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.