Главная/Блог/Гайд/LFM2.5-Encoders: Быстрый вывод на CPU…
Гайд8 мин чтения · 28 июля 2026 г.

LFM2.5-Encoders: Быстрый вывод на CPU для длинных контекстов

LiquidAI представили LFM2.5-Encoders — модели-энкодеры, которые сочетают качество больших моделей с высокой скоростью работы на CPU, поддерживая контекст до 8192 токенов.

LFM2.5-Encoders: Быстрый вывод на CPU для длинных контекстов

В мире обработки естественного языка (NLP) существует вечный компромисс: мы всегда хотим, чтобы наши модели были максимально точными, но при этом работали быстро и дешево. Особенно это касается задач, которые выполняются постоянно — маршрутизация запросов, проверка политик безопасности, обнаружение персональных данных (PII) или классификация документов. Долгое время для таких задач приходилось выбирать между использованием тяжелых генеративных моделей (LLM), которые точны, но дороги и медленны, или старых энкодеров, которые быстры, но часто уступают в качестве или ограничены в длине контекста.

Команда LiquidAI решила эту дилемму, выпустив две новые модели: LFM2.5-Encoder-230M и LFM2.5-Encoder-350M. Эти модели позиционируются как универсальные энкодеры, которые сохраняют высокое качество на уровне более крупных аналогов, но при этом демонстрируют впечатляющую скорость вывода даже на процессорах (CPU), особенно при работе с длинными текстами. Это открывает возможности для запуска сложных NLP-задач на обычном ноутбуке или стандартном серверном оборудовании без необходимости использовать дорогие GPU.

Архитектура LFM2.5-Encoders: визуализация двунаправленного внимания и сверточных слоев.
Архитектура LFM2.5-Encoders: визуализация двунаправленного внимания и сверточных слоев.

01Зачем нужны универсальные энкодеры?

Чтобы понять ценность новых моделей, важно рассмотреть эволюцию энкодеров. Классический BERT заложил основу для этого класса моделей, но современные требования к длине контекста и скорости выросли. Недавно появившийся ModernBERT значительно улучшил показатели точности и скорости, однако LFM2.5-Encoders делают следующий шаг, используя архитектуру LFM2, где стоимость вычислений растет медленнее по мере увеличения длины входных данных.

В отличие от LFM2.5-Retrievers, которые были созданы специально для многоязычного поиска, новые энкодеры разработаны как универсальные инструменты. Они предварительно обучены с использованием задачи маскированного языкового моделирования (Masked Language Modeling, MLM). Это означает, что их можно эффективно дообучать (fine-tune) для широкого спектра задач: классификации текста, токенизации, поиска и других задач уровня токенов. Энкодеры стали «рабочей лошадкой» для современных производственных NLP-приложений, таких как:

  • Классификаторы намерений (Intent Routers): Определение цели запроса пользователя для маршрутизации в нужный сервис.
  • Проверка политик (Policy Linters): Проверка текста на соответствие внутренним правилам компании.
  • Обнаружение PII: Выявление и удаление персональных данных (имена, адреса, номера карт) перед отправкой данных в облако или для хранения.
  • Фильтры безопасности: Быстрая проверка контента на наличие вредоносных или запрещенных материалов.

Все эти задачи выполняются круглосуточно, обычно на CPU, и требуют обработки все более длинных входных данных. Именно здесь LFM2.5-Encoders демонстрируют свое преимущество.

02Как устроены LFM2.5-Encoders?

Архитектура новых моделей базируется на декодерах LFM2.5 (версии 230M и 350M параметров), но с ключевыми модификациями, превращающими их в двунаправленные энкодеры. Вот основные изменения:

  1. Двунаправленная маска внимания (Bidirectional attention mask): В отличие от каузальных декодеров, где токен видит только предыдущие токены, каждый токен в энкодере теперь видит токены как слева, так и справа. Это критически важно для понимания контекста.
  2. Некаузальные свертки (Non-causal short convolutions): Сверточные слои дополнены симметричной падинг-обработкой, что позволяет каждому токену смешивать информацию со своими соседями с обеих сторон.
  3. Маскированное языковое моделирование (MLM): Во время обучения 30% токенов маскируются, заставляя модель предсказывать их по контексту.

Обучение проходило в два этапа:

  • Общее языковое Competence: Короткий контекст (1024 токена) на большом веб-корпусе.
  • Адаптация к длинному контексту: Увеличение контекста до 8192 токенов на полном наборе данных, что усиливает фактологические, юридические и многоязычные компетенции модели.
Сравнение качества моделей на бенчмарках GLUE и SuperGLUE. LFM2.5-Encoder-230M и 350M показывают высокие результаты при малом размере.
Сравнение качества моделей на бенчмарках GLUE и SuperGLUE. LFM2.5-Encoder-230M и 350M показывают высокие результаты при малом размере.

03Результаты бенчмарков: качество против размера

Авторы провели тщательное тестирование, дообучив модели на 17 задачах из наборов данных GLUE, SuperGLUE и многоязычной классификации. Результаты показывают, что LFM2.5-Encoder-350M занимает четвертое место среди 14 протестированных моделей. Три модели, опередившие его, значительно крупнее (включая модель объемом 3.5B, которая почти в 10 раз больше). При этом LFM2.5-Encoder-230M превосходит ModernBERT-base и все модели EuroBERT, будучи при этом меньше большинства из них.

Обе модели также показывают результаты значительно выше, чем их собственные предшественники LFM2.5-Retrievers, что подтверждает универсальность архитектуры. Стабильность результатов обеспечена усреднением по пяти различным начальным условиям (seeds).

💡
Ключевое преимущество. LFM2.5-Encoders не просто «быстрые», они сохраняют качество, сопоставимое с моделями в разы большего размера, что делает их идеальными для сценариев, где важна плотность производительности (performance per dollar).

04Скорость вывода: CPU vs GPU

Самое впечатляющее преимущество LFM2.5-Encoders раскрывается при сравнении скорости вывода на CPU. Поскольку как энкодеры, так и ModernBERT поддерживают контекст до 8192 токенов, авторы измерили скорость на всем диапазоне длин входных данных.

На CPU LFM2.5-Encoder-230M является самым быстрым вариантом на всех длинах последовательностей. Более того, для коротких входов он даже быстрее, чем ModernBERT-base. Однако главное различие проявляется при увеличении длины ввода: пропускная способность ModernBERT резко падает, тогда как LFM2.5-Encoders сохраняют стабильную производительность, постепенно снижаясь лишь в конце диапазона.

При длине контекста 8192 токенов ModernBERT-base требует более 1,5 минут на один прямой проход (forward pass), в то время как LFM2.5-Encoder-230M справляется за ~28 секунд. Это ускорение составляет примерно 3.7 раза. Для разработчиков это означает возможность сканировать или классифицировать полный контракт, расшифровку разговора или длинную ветку поддержки за менее чем 30 секунд на обычном процессоре ноутбука.

На GPU картина схожа, но с меньшей разницей: ModernBERT-base лидирует при длинах до ~1K токенов, но LFM2.5-Encoders берут верх начиная с ~2K токенов. Это подтверждает, что для длинных входов LFM2.5-Encoders являются более быстрым выбором, а на CPU — значительно более быстрым.

График скорости вывода на CPU. LFM2.5-Encoders значительно быстрее ModernBERT при длинных контекстах.
График скорости вывода на CPU. LFM2.5-Encoders значительно быстрее ModernBERT при длинных контекстах.

05Практические примеры использования (Demos)

Команда LiquidAI продемонстрировала возможности моделей через несколько демо-версий, работающих в бесплатных пространствах Hugging Face только на CPU. Эти примеры показывают, как энкодеры решают реальные бизнес-задачи:

  • Zero-shot маршрутизация намерений (Intent Routing): Вы можете определить свои собственные «полосы» маршрутизации простым текстом. Модель оценивает весь промпт против каждой полосы за один проход, без необходимости дообучения под конкретные классы.
  • Zero-shot проверка политик (Policy Linting): Проверка текста на соответствие правилам компании, написанным свободным текстом. Модель оценивает каждый токен против каждого правила за один проход.
  • Проверка орфографии: Исправление опечаток токеном за токеном.
  • Обнаружение PII: Выявление и удаление 40 видов личной информации на 16 языках.
  • Генерация текста через маскированную диффузию (бонус): Использование энкодера как чат-бота, который генерирует текст, итеративно размаскируя токены, а не слева направо.
⚠️ Важно для разработчиков.
Демо-версии работают в браузере без установки, что позволяет быстро оценить потенциал моделей. Однако для продакшена потребуется локальная установка или развертывание на сервере.

06Как начать работу с LFM2.5-Encoders

Использование моделей максимально упрощено благодаря интеграции с библиотекой transformers от Hugging Face. Вот пошаговое руководство для старта.

1. Установка и загрузка

Сначала убедитесь, что у вас установлена последняя версия библиотеки:

terminalbash
pip install -U transformers

Затем вы можете загрузить модель и токенизатор. Обратите внимание на параметр trust_remote_code=True, который необходим для загрузки пользовательских архитектур.

terminalpython
from transformers import AutoModelForMaskedLM, AutoTokenizer
import torch

model_id = "LiquidAI/LFM2.5-Encoder-230M"  # или "LiquidAI/LFM2.5-Encoder-350M"
tok = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
mlm = AutoModelForMaskedLM.from_pretrained(model_id, trust_remote_code=True)

text = f"The capital of France is {tok.mask_token}."
enc = tok(text, return_tensors="pt")

with torch.no_grad():
    logits = mlm(**enc).logits

pos = (enc["input_ids"][0] == tok.mask_token_id).nonzero()[0].item()
print([tok.decode([t]).strip() for t in logits[0, pos].topk(5).indices.tolist()])
# -> ['Paris', 'Strasbourg', 'Paris', 'Lyon', 'Versailles']

2. Дообучение для ваших задач

Базовый энкодер предоставляет общие представления, но не выдает готовые ответы для конкретных задач. Для классификации, токенизации или регрессии вам нужно прикрепить свой собственный «головной» слой (head) и дообучить модель. Для этого можно использовать следующий код для загрузки тела модели:

terminalpython
from transformers import AutoModel

body = AutoModel.from_pretrained(model_id, trust_remote_code=True)

Если ваше GPU поддерживает Flash Attention 2, рекомендуется установить его для максимальной эффективности:

terminalbash
pip install flash-attn

Для детального руководства по дообучению, например, на длинных юридических документах с контекстом 8k токенов, команда LiquidAI подготовила отдельный туториал по дообучению.

📌 Выбор модели.
Если вам важна максимальная точность, выбирайте LFM2.5-Encoder-350M. Если же у вас ограниченные аппаратные ресурсы или требуется максимальная пропускная способность, выбирайте LFM2.5-Encoder-230M.

07Что это значит на практике

Для разработчиков и компаний, работающих с большими объемами текста, LFM2.5-Encoders предлагают новую парадигму. Раньше запуск сложных NLP-задач на CPU часто означал компромисс в скорости или качестве. Теперь же вы можете:

  1. Снизить затраты на инфраструктуру: Запускать задачи на CPU, избегая дорогих GPU-инстансов, особенно для задач, не требующих генерации текста.
  2. Ускорить обработку длинных документов: Возможность обрабатывать 8192 токенов за ~28 секунд на CPU позволяет создавать системы, которые анализируют целые книги, юридические контракты или длинные переписки в реальном времени.
  3. Обеспечить приватность: Поскольку модели можно запускать локально на CPU, данные не покидают периметр безопасности компании, что критично для обработки PII и конфиденциальной информации.
  4. Масштабировать легко: Благодаря низкой вычислительной сложности, модели легко масштабируются на стандартных серверах (например, на базе AMD EPYC, как упоминалось в комментариях сообщества) для обработки тысяч запросов в секунду.

Модели уже доступны на Hugging Face в формате open-weight. Вы можете скачать их, попробовать в демо-пространствах или начать дообучение под свои задачи. Это мощный инструмент, который делает передовые технологии NLP доступными для более широкого круга разработчиков, особенно в условиях, когда доступ к мощным GPU может быть ограничен или дорог.

Если вы используете эту работу, пожалуйста, цитируйте блог LiquidAI:

terminalbash
@article{liquidAI2026Encoders,
  author = {Liquid AI},
  title = {LFM2.5-Encoders: Fast at Long Context, Even on CPU},
  journal = {Liquid AI Blog},
  year = {2026},
  note = {www.liquid.ai/blog/lfm2-5-encoders},
}

Источник: Hugging Face ↗