Команда Liquid ИИ представила DSpark-драфт-модели для трёх моделей семейства LFM2.5: LFM2.5-1.2B-Instruct, LFM2.5-2.6B и LFM2.5-8B-A1B. Эти драфт-модели добавляют путь спекулятивного декодирования, который ускоряет генерацию до 3.18 раза на GPU (H100) и до 2.87 раза на устройстве (M4 Max MacBook Pro), при этом качество выходных последовательностей остаётся идентичным базовой модели. Технология уже интегрирована в llama.cpp и SGLang, что позволяет использовать её с первого дня.

Спекулятивное декодирование решает проблему узкого места в инференсе LLM — фазу декодирования, которая обычно ограничена памятью. Задержка возникает в основном из-за передачи весов из DRAM в SRAM, а не из-за вычислений. DSpark использует лёгкую драфт-модель для генерации кандидатных токенов, а целевая модель проверяет их все за один прямой проход, разделяя стоимость загрузки весов. Такой подход позволяет значительно увеличить пропускную способность без изменения качества.

ДатасетAcceptance (из 10)Ускорение на H100Ускорение на M4 Max
MATH5005.423.06x2.25x
HumanEval4.542.56x2.63x
MBPP4.712.64x2.11x
GSM8K4.322.22x2.36x
MT-Bench5.072.87x1.99x

Архитектура DSpark объединяет три компонента: параллельный backbone в стиле DFlash, который генерирует скрытые состояния для всех драфт-токенов за один проход; лёгкую последовательную голову, моделирующую зависимость между соседними токенами как марковскую цепь, что повышает вероятность принятия на поздних позициях; и верификатор с планированием уверенности, который предсказывает вероятность выживания каждого токена и отсекает суффиксы с низкой уверенностью, когда проверка обходится дороже, чем экономия.

Скорость инференса на H100 выросла до 3.06x на MATH500, на M4 Max — до 2.87x на HumanEval.

DSpark
DSpark · Источник: Hugging Face Blog

Драфт-модели обучены по рецепту DSpark с более крупным и разнообразным набором данных, включающим SFT, чат, код и вызовы функций. Они имеют упрощённую архитектуру только с вниманием: 5 слоёв и блок из 9 токенов. Каждая модель содержит около 300 млн параметров, что незначительно увеличивает использование памяти. Интересно, что выбор эпохи основывался на максимальной частоте принятия, а не на минимальном loss.

Измерения проводились на пяти бенчмарках: MATH500, HumanEval, MBPP, GSM8K и MT-Bench. Для LFM2.5-2.6B средний прирост скорости на H100 составил 2.67x (с 323 до 864 ток/с), на M4 Max — 2.27x (с 61 до 139 ток/с). Для LFM2.5-1.2B-Instruct средний прирост на H100 — 2.10x (с 656 до 1384 ток/с), на M4 Max — 2.54x (с 138 до 350 ток/с). Для LFM2.5-8B-A1B на устройстве прирост составил лишь 18% в среднем, что связано с особенностями архитектуры.

Важно, что качество генерации не меняется: при жадном декодировании драфт-токен принимается только если он совпадает с распределением целевой модели, иначе используется токен целевой модели. Поэтому выходная последовательность идентична базовой модели, и метрики pass@1 или exact match остаются неизменными.

DSpark-драфт-модели особенно полезны для сценариев на устройствах, где задержка критична. Для LFM2.5-2.6B в сценариях с несколькими инструментами задержка вызовов функций снижена на 57% в среднем. Это делает возможным более интерактивное взаимодействие с моделями на периферийных устройствах, таких как ноутбуки.

bfcl_latency_mac
bfcl_latency_mac · Источник: Hugging Face Blog

Интеграция с llama.cpp и SGLang открыта и доступна в официальных репозиториях. Это позволяет разработчикам быстро внедрить ускорение в свои проекты. DSpark — одна из последних разработок в области спекулятивного декодирования, наряду с EAGLE-3 и DFlash, но она выделяется комбинацией методов и готовностью к использованию.