Liquid AI выпускает черновые модели LFM2.5-DSpark, обеспечивающие до 3,18 раза более быстрое декодирование без изменения выходных данных модели
Liquid AI выпустила контрольные точки черновых моделей DSpark для трёх моделей семейства LFM2.5: LFM2.5-1.2B-Instruct, LFM2.5-2.6B и LFM2.5-8B-A1B. Каждая черновая модель добавляет путь спекулятивного декодирования к существующей целевой модели. Черновая модель примерно с 300 млн параметров предлагает блок из девяти токенов-кандидатов, а целевая модель проверяет весь блок за один прямой проход. Компромисс заключается в небольшом увеличении объёма памяти ради значительного ускорения декодирования: до 3,18 раза на H100 и до 2,87 раза на MacBook Pro с M4 Max. Выходные данные не меняются. При жадном декодировании выдаваемая последовательность идентична последовательности целевой модели, работающей самостоятельно, поэтому точность на бенчмарках не изменяется. И llama.cpp, и SGLang поддерживают эту технологию с первого дня.
Можно ли это развернуть?
Да, если вы размещаете систему самостоятельно. Веса поставляются в форматах Safetensors и GGUF, а контрольные точки черновых моделей сегодня не обслуживаются ни одним провайдером размещённого инференса на Hugging Face. Для их запуска нужна сборка SGLang или llama.cpp с поддержкой DSpark для целевых моделей LFM2.
- Уровень компании: LFM Open License v1.0 разрешает бесплатное коммерческое использование, только пока годовая выручка вашей организации не превышает 10 млн долларов. Инди-разработчики, стартапы и малые и средние предприятия подпадают под эти условия; более крупные предприятия должны сначала связаться с Liquid AI для получения коммерческой лицензии.
- Отрасли: инструменты для разработчиков, потребительские приложения, работающие локально, робототехника и встраиваемые системы, а также рабочие нагрузки в сфере здравоохранения, финансов и обороны, где данные хранятся локально или на устройстве.
- Применения: локальные помощники для программирования, агенты на устройстве, выполняющие рассуждения перед каждым вызовом инструмента, чаты для одного пользователя с размером пакета 1 и офлайн-помощники на аппаратном обеспечении уровня ноутбуков.
Что такое черновые модели?
При спекулятивном декодировании небольшая модель предлагает токены, которые затем проверяет более крупная модель. Каждая черновая модель LFM2.5 содержит примерно 300 млн параметров: 295,7 млн для целевой модели 1.2B-Instruct и 327,7 млн для целевых моделей 2.6B и 8B-A1B. Архитектура включает 5 слоёв с полным вниманием, hidden_size=2048, intermediate_size=6144, GQA с 32 головами и 8 KV-головами, а также размер блока 9. Черновая модель не содержит весов словаря; эмбеддинги и LM-голова при загрузке берутся из целевой модели и используют общие веса. Репозиторий черновой модели 2.6B занимает 655 МБ в BF16, что и представляет собой фактическую стоимость по памяти.
DSpark объединяет три компонента. Параллельная архитектура в стиле DFlash, учитывающая контекстные признаки целевой модели, за один прямой проход создаёт скрытые состояния для всех черновых токенов. Лёгкая последовательная голова, построенная по принципу цепи Маркова между соседними токенами с рангом 256, восстанавливает зависимость между токенами и повышает вероятность принятия токенов на последующих позициях блока. Верификатор с планированием по уровню уверенности оценивает вероятность сохранения каждого токена и отбрасывает суффиксы с низкой уверенностью, когда проверка обходится дороже, чем даёт выигрыш.
Измеренные результаты
Liquid AI сообщает о пропускной способности на 1xH100 в BF16 через SGLang и на MacBook Pro с M4 Max через llama.cpp с Metal и весами FP16 GGUF. В обоих случаях использовались размер блока 9, размер пакета 1 и температура 0 на наборах MATH500, HumanEval, MBPP, GSM8K и MT-Bench.
| Целевая модель | Среднее на H100 | Лучший результат на H100 | Среднее на M4 Max | Лучший результат на M4 Max |
|---|---|---|---|---|
| LFM2.5-1.2B-Instruct | 2.10x (656 → 1384 ток./с) | 2.56x на MATH500 | 2.54x (138 → 350 ток./с) | 2.87x на HumanEval (136 → 389) |
| LFM2.5-2.6B | 2.67x (323 → 864 ток./с) | 3.06x на MATH500 | 2.27x (61 → 139 ток./с) | 2.63x на HumanEval |
| LFM2.5-8B-A1B | 2.54x (418 → 1074 ток./с) | 3.18x на MATH500 (428 → 1362) | 1.18x (90 → 106 ток./с) | 1.44x на GSM8K |
Ускорение зависит от доли принятых токенов, которая, в свою очередь, зависит от предсказуемости вывода. LFM2.5-8B-A1B принимает 8,27 из 10 токенов за шаг на MATH500 и только 4,02 на GSM8K, поэтому на одном и том же графическом процессоре ускорение той же модели меняется с 3,18x до 1,29x. Для модели 1.2B доля принятых токенов на MT-Bench снижается до 3,90, а прирост на H100 падает до 1,66x.
Результат для MoE на кремнии Apple — самое очевидное ограничение: LFM2.5-8B-A1B в среднем получает лишь 1,18x ускорения на M4 Max. Liquid AI объясняет это текущей реализацией MoE в бэкенде Metal для llama.cpp, а также тем, что проверка k токенов активирует больше экспертов и, следовательно, требует большего потока весов, чем один шаг декодирования.
Сценарий с агентами
Выигрыш особенно заметен там, где пользователь ждёт рассуждений перед каждым вызовом инструмента. В сценариях с вызовами нескольких инструментов Liquid AI сообщает, что DSpark в среднем сокращает задержку для LFM2.5-2.6B на 57%. Проверьте это на собственных трассировках: агент, который планирует, вызывает инструменты и перепланирует, оплачивает стоимость декодирования несколько раз за один пользовательский запрос.
В SGLang запустите целевую модель, подключив черновую:
python -m sglang.launch_server \
--model-path LiquidAI/LFM2.5-2.6B \
--speculative-algorithm DSPARK \
--speculative-draft-model-path LiquidAI/LFM2.5-2.6B-DSpark \
--speculative-draft-attention-backend flashinfer \
--disable-radix-cache --mem-fraction-static 0.75 --port 30000
Размер блока считывается из файла config.json черновой модели, а базовый вариант использует ту же команду без трёх флагов --speculative-*.
Основные выводы
- Черновые модели DSpark добавляют около 300 млн параметров и обеспечивают до 3,18x более быстрое декодирование на H100.
- Вывод при жадном декодировании идентичен базовому, поэтому точность на бенчмарках не изменяется.
- Ускорение следует за долей принятых токенов и зависит от рабочей нагрузки: от 1,04x до 3,18x.
- MoE на устройстве остаётся слабым местом: LFM2.5-8B-A1B получает лишь 1,18x ускорения на M4 Max.
- Вызовы нескольких инструментов дают наибольший практический выигрыш: задержка для LFM2.5-2.6B снижается на 57%.
Ознакомьтесь с карточкой модели 8B-A1B и полным техническим описанием. Все заслуги за это исследование принадлежат исследователям проекта.
Также подписывайтесь на нас в Twitter и не забудьте присоединиться к нашему сабреддиту по машинному обучению с более чем 150 тыс. участников и подписаться на нашу рассылку. Постойте! Вы есть в Telegram? теперь вы также можете присоединиться к нам в Telegram.
Хотите сотрудничать с нами в продвижении вашего репозитория GitHub, страницы на Hugging Face, релиза продукта, вебинара и т. д.? Свяжитесь с нами
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.