Sakhanda Wire
NVDA $218.11 +0.98% MSFT $532.23 -0.07% GOOGL $322.53 +1.81% META $620.75 -1.56% AMZN $254.03 +1.98%
← До новин

Створюйте спеціалізовані мультимодальні моделі з LFM3

Створюйте спеціалізовані мультимодальні моделі за допомогою LFM3
Команда Стаття
Опубліковано 27 жовтня 2026 року

LFM3 — це нове покоління Liquid Foundation Models (LFM), створене як основа для спеціалізованого інтелекту. Воно об’єднує текстові, візуальні, аудіо-, омні- та моделі прийняття рішень на одній спільній основі — усі в діапазоні 2B параметрів. Це означає, що ви можете обрати модель для потрібної модальності, донавчити її на власних даних за допомогою одного GPU та розгорнути там, де працює ваш застосунок.

Порівняно з попереднім сімейством LFM2, LFM3 має чотири основні зміни:

  • Більше можливостей на параметр: нова тригібридна архітектура та рецепт навчання дають змогу LFM3-1.7B перевершити LFM2.5-2.6B, використовуючи на 35% менше параметрів.
  • Кожна модальність на одній основі: шість моделей класу 2B (текст, зображення, аудіо, omni та прийняття рішень), навчених на базі LFM3-1.7B-Base, зокрема наша перша omni-модель і підтримка відеовходу для візуальної моделі.
  • Створено для периферійних пристроїв: текстова модель займає близько 1 ГБ у 4-бітній точності, нові власні візуальний та аудіокодеки пришвидшують обробку, а контекстне вікно текстової моделі на 256K дає змогу агентам працювати безпосередньо на пристрої.
  • Створено для спеціалізації: кожну модель можна донавчити на одному GPU, тож ви можете адаптувати її до власних даних, термінології та середовища розгортання.

Як ми створили виразнішу основу

LFM2 продемонструвала, що гібрид коротких згорток і механізму уваги може швидко працювати на пристрої без втрати якості. Для LFM3 ми використали пошук архітектури в контурі апаратного забезпечення, щоб переробити цю архітектуру для агентних сценаріїв, яким потрібні більші можливості на параметр і швидкий висновок у довгих контекстах. Тепер пошук охоплює 14 комбінацій пристроїв і бекендів — від телефонів і Raspberry Pi 5 до ноутбуків, хмарних CPU, GPU та NPU Qualcomm Hexagon.

lfm3-1.7b-architecture

LFM3-1.7B-Base має 24 шари та чотири основні зміни:

  1. Тригібридна суміш шарів: 13 керованих коротких згорток, 5 шарів уваги зі ковзним вікном (SWA) із вікном на 256 токенів і 6 шарів глобальної уваги. Згортки використовують ядро розміром 7 — проти 3 у LFM2.
  2. Керована увага на рівні головок: сигмоїдальний вентиль масштабує вихід кожної головки, тож головка може вимкнутися, якщо їй нічого додати. Це може допомогти придушити викиди активацій, які погіршують квантування.
  3. Частковий RoPE: шари глобальної уваги обертають лише половину головки з найвищою частотою, тому інша половина узгоджується за змістом незалежно від відстані. Шари SWA зберігають повний RoPE.
  4. Нормалізація типу sandwich: кожен блок нормалізує як свій вхід, так і вихід, щоб підтримувати правильний масштаб активацій.

Переваги особливо помітні в довгому контексті. На параметр 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-post-training

Модель Вхідні дані Вихідні дані Побудовано на основі
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

Візуальні та аудіомоделі також отримують два нові власні кодери:

  • Візуальний кодер: він поєднує згортку й увагу та використовує втричі менше обчислень, ніж кодер SigLIP2 у попередніх LFM VL-моделях. Наш кодер зі 164M параметрів відповідає за точністю візуальному кодеру Qwen3.5-2B, потребуючи у 2,2 раза менше FLOPs (обидва вимірювання виконано з тією самою мовною основою 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])

Дивіться картку моделі LFM3-VL-2B, щоб дізнатися про виклики інструментів, пошук інструментів і висновок на пристрої за допомогою llama.cpp.

LFM3-Audio-2B

Обирайте LFM3-Audio-2B, коли вам потрібні голосовий чат, розпізнавання мовлення, синтез мовлення або переклад між 18 мовами на ноутбуці чи периферійному пристрої. Модель приймає текст або аудіо та відповідає текстом, мовленням або і тим, і іншим, а також може перетворювати усні запити на виклики інструментів. Порівняно з LFM2.5-Audio-1.5B вона використовує нові власні аудіокодер і мовний кодек, говорить із вищою якістю (UTMOSv2 3.83 проти 3.22), а також додає розуміння аудіо, універсальне аудіоміркування та виклики інструментів. Докладніше дивіться в картці моделі LFM3-Audio-2B.

Щоб запустити LFM3-Audio-2B, встановіть transformers>=5.20.2 з його аудіозалежностями:

pip install "transformers>=5.20.2" torch accelerate librosa soundfile

Завантажте модель і процесор безпосередньо з Hugging Face Hub:

import torch
import soundfile as sf

from transformers import AutoModelForMultimodalLM, AutoProcessor

model_id = "LiquidAI/LFM3-Audio-2B"
device = "cuda" if torch.cuda.is_available() else "cpu"
dtype = torch.bfloat16 if device == "cuda" else torch.float32

model = AutoModelForMultimodalLM.from_pretrained(
    model_id, dtype=dtype, device_map=device, trust_remote_code=True
).eval()
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
codec = processor.audio_tokenizer.to(device=device).eval()

Потім поставте запитання вголос і отримайте відповідь текстом і мовленням:

conversation = [
    {"role": "system", "content": "Respond with interleaved text and audio."},
    {"role": "user", "content": [{"type": "audio", "audio": "question.wav"}]},
    {"role": "assistant", "content": "<|mixed_start|>"},
]
inputs = processor.apply_chat_template(
    conversation,
    continue_final_message=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(device)
with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=1024,
        audio_temperature=1.0,
        audio_top_k=128,
        audio_repetition_penalty=1.1,
        audio_repetition_window=4096,
        return_dict_in_generate=True,
    )

    text = processor.decode(
        outputs.sequences[0, inputs["input_ids"].shape[1]:],
        skip_special_tokens=True,
    )
    waveform = codec.decode(
        outputs.audio_codes[:1, :, :outputs.audio_lengths[0]]
    ).audio_values[0]  
print(text)
sf.write("reply.wav", waveform.float().cpu().numpy(), 24_000)

Дивіться картку моделі LFM3-Audio-2B, щоб дізнатися про розпізнавання мовлення наживо, синтез мовлення, розуміння аудіо та виклики інструментів.

LFM3-Omni-2B

Обирайте LFM3-Omni-2B, коли вам потрібна одна модель на пристрої, яка бачить, слухає та відповідає голосом, замість окремих моделей ASR, vision-language, LLM і TTS. Вона може відповідати на усні запитання про зображення, одночасно переглядати відео та слухати його, а також перетворювати побачене й почуте на виклики інструментів. Це наша перша omni-модель із текстовим, візуальним та аудіовходом і текстовим та мовленнєвим виходом. Вона зберігає основні можливості окремих моделей LFM3, зокрема відповіді на візуальні запитання, розпізнавання мовлення, синтез мовлення та виконання інструкцій. Як і LFM3-Audio-2B, вона говорить через LiquidCodec, який перетворює згенеровані токени на мовлення швидше за реальний час, тому голосові відповіді передаються потоково в міру їх генерування моделлю. У розумінні аудіовізуального відео вона перевершує моделі з до 10.7B параметрів, як-от Qwen2.5-Omni-7B, на Daily-Omni, WorldSense та AV-SpeakerBench. Докладніше дивіться в картці моделі LFM3-Omni-2B.

Щоб запустити LFM3-Omni-2B, встановіть transformers>=5.20.2 із його візуальними та аудіозалежностями:

pip install "transformers>=5.20.2" torch torchvision torchcodec accelerate pillow librosa soundfile
import torch
import soundfile as sf

from transformers import AutoModelForMultimodalLM, AutoProcessor

model_id = "LiquidAI/LFM3-Omni-2B"
device = "cuda" if torch.cuda.is_available() else "cpu"
dtype = torch.bfloat16 if device == "cuda" else torch.float32

model = AutoModelForMultimodalLM.from_pretrained(
    model_id, dtype=dtype, device_map=device, trust_remote_code=True
).eval()
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
codec = processor.audio_tokenizer.to(device=device).eval()

Потім поставте голосом запитання про фотографію:

conversation = [
    {
        "role": "system",
        "content": "Answer questions about the provided image. Base every answer only on what can be seen. Respond with text.",
    },
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "photo.jpg"},
            {"type": "audio", "audio": "question.wav"},
        ],
    },
]
inputs = processor.apply_chat_template(
    conversation,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(device)

with torch.no_grad():
    outputs = model.generate(**inputs, max_new_tokens=1024, generation_mode="text")

print(processor.decode(
    outputs.sequences[0, inputs["input_ids"].shape[1]:outputs.sequence_lengths[0]],
    skip_special_tokens=True,
))

Дивіться картку моделі LFM3-Omni-2B, щоб дізнатися про голосовий вихід, відео з його звуковою доріжкою та виклики інструментів.

d1-2B і d1-omni-2B

Обирайте моделі d1, коли вам потрібні швидкі структуровані рішення замість згенерованого тексту. Надайте їм ситуацію (запит до служби підтримки, рахунок-фактуру, екран застосунку, фотографію чи голосову нотатку) і список запитань — вони дадуть відповідь на всі одразу за один прямий прохід, кожну з каліброваною ймовірністю. Окрім відповідей «так/ні», варіантів і оцінок, тепер вони можуть вказувати на об’єкти, зчитувати значення з документів, оцінювати числа з діапазоном і обирати всі відповідні варіанти. Докладніше дивіться в картках моделей d1-2B і d1-omni-2B.

Відмінності між двома моделями d1:

  • d1-2B: обирайте її для тексту, зображень і відео. Вона замінює d1-3B, маючи на третину менше параметрів, і показує вищі результати в усіх чотирьох наших наборах тестів для прийняття рішень — наприклад, 75.5 проти 64.0 на ImajevBench.
  • d1-omni-2B: обирайте її, якщо ваші вхідні дані містять аудіо. Якщо ви запитуєте голосом, а не письмово, вона зберігає майже всю свою точність.

Щоб запустити d1-2B, встановіть transformers>=5.19 із його візуальними залежностями:

pip install "transformers>=5.19" torch torchvision pillow

Потім завантажте d1-2B і поставте їй кілька запитань про один запит до служби підтримки за один прохід:

import torch
from transformers import AutoModel

device = "cuda" if torch.cuda.is_available() else "mps" if torch.backends.mps.is_available() else "cpu"
dtype = torch.float32 if device == "cpu" else torch.bfloat16
model = AutoModel.from_pretrained("LiquidAI/d1-2B", trust_remote_code=True, dtype=dtype).to(device)


questions = {
    "refund": {"type": "noul", "instructions": "Is the customer asking for a refund?"},  
    "team": {"type": "choice", "instructions": "Which team

Перекладено автоматично з англійської. Оригінал статті — за посиланням нижче.

Вперше опубліковано виданням Hugging Face

Читати оригінал на Hugging Face ↗

Текст і зображення належать Hugging Face і наводяться тут із зазначенням авторства та посиланням на оригінальну публікацію.

← До новин

Ще новини

Усі останні новини