Мой блог
Ускорение визуально-языковых моделей с помощью LFM2.5-VL-DSpark
Подробности изложены в материале первоисточника. Я подготовил для вас подробный разбор важного релиза от команды Liquid AI, которая представила экспериментальную черновую модель LFM2.5-VL-3B. Этот инструмент задействует принципы спекулятивного декодирования для мультимодальных задач, позволяя добиться значительного прироста скорости без потери качества генерации.
Новый подход дает возможность пользователям запускать локальные и серверные конфигурации с минимальным увеличением потребления памяти, сохраняя при этом точность базовой нейросети. Давайте детально рассмотрим, как устроена эта технология, какие результаты она показывает на различном «железе» и как ее правильно настроить в рабочих проектах.
Как работает спекулятивное декодирование для VLM
Визуальный черновик (драфтер) использует точно ту же архитектуру, что и текстовые модули LFM2.5-DSpark, созданные ранее. Он фиксирует скрытые состояния целевой модели на заранее определенных слоях и опирается на них для генерации блока из $k$ кандидатных токенов.
Перед прохождением через эти слои графические патчи и текстовые токены проецируются в единое репрезентативное пространство. Благодаря такому решению драфтер обрабатывает векторы скрытых состояний одинаковой размерности независимо от того, с каким типом входных данных работает система. Сам алгоритм инференса при этом полностью совпадает с текстовыми аналогами.
Обучение и архитектура
Инженеры применили стандартную рецептуру DSpark, используя комбинацию данных SFT для задач компьютерного зрения и языка с акцентом на целевые рабочие сценарии. На основе проведенных тестов на 3, 4 и 5 слоях была отобрана упрощенная архитектура с упором только на механизмы внимания: она содержит 4 слоя и размер блока, равный 9.
В процессе финальной доработки специалисты провели 10 эпох обучения на итоговом наборе данных. Каждый шаг оценивался по уровню принятия токенов, который рос по мере добавления токенов обучения до момента достижения плато. На этапе практического использования я рекомендую устанавливать размер блока на уровне 8 или 9 в зависимости от используемого аппаратного обеспечения.
В результате созданная модель черновика получила около 280 миллионов параметров, что увеличивает общий объем развернутой системы всего на 8.9%. Ниже приведена детальная структура компонентов:
- Стек декодера LFM2.5-VL-3B (4 слоя) — 193.0 млн параметров;
- Проекция скрытых состояний — 21.0 млн параметров;
- Голова Маркова — 65.5 млн параметров;
- Нормализация и голова уверенности — 6.4 тыс. параметров;
- Итоговый объем — 279.5 млн параметров.
Прирост скорости инференса на CPU и GPU
Модель LFM2.5-VL-3B с поддержкой DSpark поставляется с готовыми интеграциями для популярных программных платформ llama.cpp, MLX-VLM и SGLang. Замеры производительности проводились как на мобильных устройствах, так и на серверных графических адаптерах.
Тестирование на различных аппаратных платформах
В обоих сценариях применялся размер блока DSpark, равный 8, а оценка охватывала шесть разнообразных визуальных задач: общие вопросы по изображениям (VQA), анализ текста на картинках, создание описаний, работу с графиками, сложные логические рассуждения и многоуровневый диалог в соответствии с бенчмарком MMSpec.

Инференс на локальных устройствах
При использовании фреймворка MLX на процессоре M5 Max скорость декодирования возрастает от 2.30x до 3.13x в зависимости от конкретной задачи. Задержка end-to-end при этом сокращается в 1.56 – 2.62 раза. Если запустить систему через llama.cpp на чипе M3 Ultra, декодирование ускорится в 1.57 – 2.14 раза, а общая задержка улучшится на 1.30 – 1.77 раза.

Инференс на серверных видеокартах
На мощном ускорителе H100 аналогичный драфтер обеспечивает феноменальную скорость декодирования с приростом от 20.4x (в пиковых сценариях) до 2.66x, демонстрируя сквозное ускорение от 1.64x до 2.27x.

Ограничения спекулятивного подхода для визуальных задач
В текстовых языковых моделях этап префилла (предварительного заполнения) главным образом ограничивается вычислительной мощностью, а его стоимость растет сублинейно или квадратично относительно длины промпта. В случае с мультимодальными VLM ситуация усложняется: картинка сначала обрабатывается визуальным энкодером, после чего языковая основа пропускает через себя сотни зрительных токенов вместе с текстом.
Обычные потребительские устройства обладают значительно меньшими ресурсами по сравнению с датацентрами, поэтому префилл занимает большую долю общей задержки. Спекулятивное декодирование ускоряет исключительно фазу генерации (decode), оставляя кодирование изображений и префилл на прежнем уровне. Когда эти этапы занимают львиную долю времени, даже впечатляющее ускорение декодирования дает лишь скромный итоговый эффект. Здесь вступает в силу закон Амдала, согласно которому общий прирост производительности ограничен не ускоряемой частью рабочего процесса.

Как использовать LFM2.5-VL-DSpark на практике
Для запуска этих моделей в экосистеме SGLang потребуется специальная сборка с поддержкой DSpark для целей LFM2. Запуск базовой модели с подключенным черновиком выполняется через стандартную команду терминала:

python -m sglang.launch_server \
--model-path LiquidAI/LFM2.5-VL-3B \
--speculative-algorithm DSPARK \
--speculative-draft-model-path LiquidAI/LFM2.5-VL-3B-DSpark \
--speculative-draft-attention-backend flashinfer \
--speculative-dspark-block-size 9 \
--disable-radix-cache
После этого вы можете отправлять запросы к совместимому с OpenAI эндпоинту по адресу http://localhost:30000/v1. Размер блока считывается автоматически из файла конфигурации модели, а базовым значением без ускорения служит аналогичная команда без трех флагов --speculative-*.
Запуск через llama.cpp и MLX-VLM
Для работы в среде llama.cpp необходима профильная сборка с патчем PR#29339. Команда для запуска сервера выглядит следующим образом:
llama-server -m models/LFM2.5-VL-3B-F16.gguf \
--mmproj models/mmproj-LFM2.5-VL-3B-F16.gguf \
-md LFM2.5-2.6B-DSpark-F16.gguf \
--spec-type draft-dspark --spec-draft-n-max 8 --spec-draft-n-min 0 \
-fa on -ngl 99 -c 8192
Если вы предпочитаете экосистему Apple Silicon и MLX-VLM, вам потребуется сборка с поддержкой PR#2280. Запуск сервера осуществляется простой командой:
mlx_vlm.server --model LiquidAI/LFM2.5-VL-3B --draft-model LiquidAI/LFM2.5-VL-3B-DSpark
Размер блока считывается из метаданных сопутствующего файла (параметр n-max ограничивается им). Спекулятивное декодирование работает абсолютно точно: целевая модель проверяет каждый предложенный токен, поэтому жадный вывод полностью совпадает с результатами работы стандартной модели, а тайминги ответа выводят соотношение предложенных и принятых токенов.
Заключение и доступность моделей
Новая визуальная модель черновика DSpark уже доступна на платформе Hugging Face в форматах Safetensors и GGUF. Релиз LFM2.5 подчеркивает стремление разработчиков создавать универсальный искусственный интеллект, способный эффективно работать на любых устройствах.
Представленные веса полностью открыты, что позволяет скачивать, дообучать и развертывать их без каких-либо ограничений. Поддержка популярных движков реализована с первого дня, формируя целостную экосистему для решения самых разнообразных задач от текстов до мультимодального анализа.
