Создавайте специализированные мультимодальные модели с LFM3
LFM3 — это новое поколение Liquid Foundation Models (LFM), созданное как основа для специализированного интеллекта. Оно объединяет текстовые, визуальные, аудио-, омни- и модели принятия решений на одной общей архитектуре — все они относятся к классу моделей с 2 млрд параметров. Это означает, что вы можете выбрать модель для нужной модальности, дообучить её на собственных данных с помощью одного GPU и развернуть там, где работает ваше приложение.
По сравнению с предыдущим семейством LFM2 в LFM3 появились четыре основных изменения:
- Больше возможностей на каждый параметр: новая три-гибридная архитектура и методика обучения позволяют LFM3-1.7B превосходить LFM2.5-2.6B, используя на 35% меньше параметров.
- Каждая модальность на одной архитектуре: шесть моделей класса 2B (текстовая, визуальная, аудио-, омни- и модели принятия решений), обученных на основе LFM3-1.7B-Base, включая нашу первую омни-модель и поддержку видеовхода в визуальной модели.
- Создано для периферийных устройств: текстовая модель занимает около 1 ГБ при 4-битной точности, новые собственные визуальный и аудиоэнкодеры ускоряют обработку, а контекстное окно текстовой модели размером 256K позволяет агентам работать непосредственно на устройстве.
- Предназначено для специализации: каждую модель можно дообучить на одном GPU, адаптировав её под ваши данные, терминологию и среду развёртывания.
Как мы создали более выразительную базовую архитектуру
LFM2 показала, что гибрид коротких свёрток и механизма внимания может быстро работать на устройстве без потери качества. Для LFM3 мы использовали поиск архитектуры с учётом характеристик оборудования, чтобы переработать эту архитектуру для агентных сценариев, которым требуется больше возможностей на каждый параметр и быстрый вывод на длинных контекстах. Теперь поиск охватывает 14 сочетаний устройств и бэкендов — от смартфонов и Raspberry Pi 5 до ноутбуков, облачных CPU, GPU и NPU Qualcomm Hexagon.
LFM3-1.7B-Base содержит 24 слоя и четыре основных изменения:
- Три-гибридное сочетание слоёв: 13 управляемых коротких свёрток, 5 слоёв внимания со скользящим окном (SWA) с окном в 256 токенов и 6 слоёв глобального внимания. В свёртках используется размер ядра 7 вместо 3 в LFM2.
- Внимание с управлением по головам: сигмоидальный вентиль масштабирует выход каждой головы, поэтому голова может отключиться, если ей нечего добавить. Это помогает подавлять выбросы активаций, ухудшающие квантование.
- Частичный RoPE: слои глобального внимания поворачивают только половину каждой головы с самой высокой частотой, благодаря чему оставшаяся половина сопоставляется по содержимому независимо от расстояния. В слоях SWA сохраняется полный RoPE.
- Нормализация типа «сэндвич»: каждый блок нормализует и вход, и выход, поддерживая активации в корректном масштабе.
Преимущество особенно заметно на длинном контексте. В расчёте на параметр LFM3-1.7B сопоставима с LFM2-1.2B на коротких запросах на периферийных устройствах, а при контексте в 8K токенов работает примерно на 25% быстрее. Предварительное обучение LFM3-1.7B-Base проводилось на 22T токенов с тем же словарём из 128K элементов, что и у LFM2.5-8B-A1B. Последние 3,5T токенов использовались на этапе промежуточного обучения на отобранных данных с большей долей агентных трасс и вызовов инструментов; это также увеличило контекстное окно до 256K токенов.
Одна архитектура для шести моделей
Каждая модель LFM3 создаётся на основе LFM3-1.7B-Base. Вместо запуска одной большой универсальной модели вы выбираете ту, которая подходит для ваших входных данных, настраиваете её и запускаете непосредственно на устройстве.
| Модель | Входные данные | Выходные данные | Основа |
|---|---|---|---|
| LFM3-1.7B | Текст | Текст | LFM3-1.7B-Base |
| LFM3-VL-2B | Текст, изображения, видео | Текст | Архитектура LFM3 + визуальный энкодер |
| LFM3-Audio-2B | Текст, аудио | Текст, речь | Архитектура LFM3 + аудиоэнкодер, аудиодекодер и LiquidCodec |
| LFM3-Omni-2B | Текст, изображения, видео, аудио | Текст, речь | Архитектура LFM3 + визуальный и аудиоэнкодеры и аудиодекодер |
| d1-2B | Текст, изображения, видео | Калиброванные ответы | LFM3-VL-2B |
| d1-omni-2B | Текст, изображения, видео, аудио | Калиброванные ответы | LFM3-Omni-2B |
Визуальные и аудиомодели также получили два новых собственных энкодера:
- Визуальный энкодер: он сочетает свёртки и механизм внимания и использует в 3 раза меньше вычислений, чем энкодер SigLIP2 в предыдущих визуально-языковых моделях LFM. Наш энкодер со 164 млн параметров сопоставим по точности с визуальным энкодером Qwen3.5-2B, требуя при этом в 2,2 раза меньше FLOP (оба показателя измерены с одной и той же языковой архитектурой LFM2.5-230M). Для видео он объединяет каждую пару выбранных кадров в один временной срез, вдвое сокращая длину временной последовательности.
- Аудиоэнкодер и LiquidCodec: аудиоэнкодер сочетает внимание со скользящим окном и короткие свёртки и полностью каузален, поэтому модель может заполнять контекст, пока вы говорите, с задержкой до первого токена всего 50 мс. LiquidCodec, наш новый аудиотокенизатор, преобразует сгенерированные токены в речь примерно в 87 раз быстрее реального времени на одном потоке CPU Apple M4 Max и поддерживает потоковое декодирование.
Как использовать модели LFM3
Каждая модель работает в transformers. Приведённые ниже фрагменты взяты из карточек моделей, где также перечислены другие поддерживаемые каждой моделью движки вывода.
LFM3-1.7B
Выбирайте LFM3-1.7B, если вам нужны локальные агенты, вызов инструментов, структурированные выходные данные или базовая модель для предметно-ориентированного дообучения. Она дообучена для работы в агентных средах, таких как Hermes Agent, Pi и OpenClaw. Она превосходит предшественницу LFM2.5-2.6B, имея на 35% меньше параметров, а самые заметные улучшения наблюдаются в агентных задачах: в WebArena-Verified она набирает 38,42 против 3,02 и даже превосходит Qwen3.5-9B на длинных задачах в браузерах и бизнес-приложениях. Подробнее см. в карточке модели LFM3-1.7B.
Чтобы запустить LFM3-1.7B, установите последнюю версию transformers:
pip install -U transformers
Затем загрузите и запустите модель:
from transformers import pipeline
generator = pipeline(
"text-generation",
model="LiquidAI/LFM3-1.7B",
trust_remote_code=True,
)
messages = [{"role": "user", "content": "What is C. elegans?"}]
output = generator(
messages,
do_sample=True,
temperature=0.1,
top_k=50,
repetition_penalty=1.1,
max_new_tokens=2048,
)
print(output[0]["generated_text"][-1]["content"])
Инструкции по настройке локального агента см. в руководстве по агентным средам.
LFM3-VL-2B
Выбирайте LFM3-VL-2B, если вам нужно визуальное понимание непосредственно на устройстве. Это первая визуальная модель LFM, принимающая видео на вход; перед ответом она рассуждает пошагово, находит объекты и анализирует их расположение, что делает её хорошей основой для робототехники. По сравнению с LFM2.5-VL-3B она содержит меньше параметров (1,9B против 3,1B), но повышает средний результат на 62 визуальных тестах с 57,6 до 71,4 — до уровня Gemma 4 12B, модели более чем в шесть раз крупнее. Подробнее см. в карточке модели LFM3-VL-2B.
Чтобы запустить LFM3-VL-2B, установите transformers>=5.21.0 с визуальными зависимостями:
pip install "transformers>=5.21.0" torch torchvision pillow
Затем загрузите и запустите модель:
import torch
from transformers import AutoModelForImageTextToText, AutoProcessor
model_id = "LiquidAI/LFM3-VL-2B"
model = AutoModelForImageTextToText.from_pretrained(model_id, dtype=torch.bfloat16, device_map="auto", trust_remote_code=True)
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": "https://placecats.com/300/200"},
{"type": "text", "text": "Describe this image."},
],
}
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.inference_mode():
output_ids = model.generate(
**inputs,
do_sample=True,
temperature=0.1,
top_k=50,
repetition_penalty=1.1,
max_new_tokens=16384,
)
generated_ids = output_ids[:, inputs["input_ids"].shape[1] :]
print(processor.batch_decode(generated_ids, skip_special_tokens=True)[0])
Информацию о вызове инструментов, поиске инструментов и выводе на устройстве с помощью llama.cpp см. в карточке модели LFM3-VL-2B.
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.

