
Объяснение Laya: модель принятия решений, которая отвечает, не написав ни единого токена
- openaiНОВИНКАOpenAI: GPT-6 Luna2026-09-2237Интеллект
- openaiНОВИНКАOpenAI: GPT-6 Sol2026-09-2248Интеллект
- anthropicНОВИНКАAnthropic: Claude Opus 5.52026-09-2258Интеллект
- grokНОВИНКАGrok 4.72026-09-2146Интеллект
- OrcaНОВИНКАOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $5.00 за 1 млн токенов
- orcaНОВИНКАOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 за 1 млн токенов
- deepseekНОВИНКАDeepSeek: DeepSeek V4.1 Flash2026-09-1040Интеллект
- openaiOpenAI: GPT-6 Astra2026-09-0453Интеллект77Кодинг
- googleGoogle: Gemini 3.8 Flash2026-09-0241Интеллект76Кодинг
- qwenQwen: Qwen3.8 Max (0902)2026-09-0245Интеллект76Кодинг
- anthropicAnthropic: Claude Fable 5.12026-09-0153Интеллект82Кодинг
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 за 1 млн токенов
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642Интеллект72Кодинг
- DeepSeekDeepSeek: DeepSeek V4 Flash Vision (Exp)2026-08-21$0.22 / $0.66 за 1 млн токенов
- z-aiZ.ai: GLM 5.32026-08-1845Интеллект75Кодинг
- obsidianQwen3.8 27B2026-08-1534Интеллект68Кодинг
- deepseekDeepSeek: DeepSeek V4 Pro 08132026-08-1236Интеллект69Кодинг
- grokSpaceXAI: Grok 4.62026-08-1244Интеллект77Кодинг
- metaMeta: Muse Spark 1.22026-08-0540Интеллект72Кодинг
- qwenQwen: Qwen3.8 Max2026-08-0345Интеллект76Кодинг
Самое интересное в Laya — не её скорость. А то, что каждый вариант, который вы ей предлагаете, оценивается на своём собственном [MASK]-токене, после чего вероятности проходят softmax по вариантам этого одного вопроса. Convai Innovations опубликовала веса Laya на Hugging Face 18 сентября 2026 года под лицензией Apache 2.0 — три чекпоинта, один репозиторий, 421 млн параметров у англоязычной модели. Здесь нет выходных токенов. Нет цикла декодирования, нет JSON, который нужно парсить, нет скобки, которую можно забыть закрыть. Вы передаёте ей состояние и набор типизированных вопросов — и уже после одного прямого прохода получаете выбор среди именованных вариантов, порядковую оценку с ожидаемым уровнем или вероятность того, что утверждение истинно. У такого дизайна есть следствие, которое многие упускают: поскольку пространство ответов собирается под каждый запрос, а не зашито в голову словаря, схема, придуманная вами сегодня днём, не требует дообучения. Есть у него и ограничение, и проект прямо заявляет о нём на своей карточке модели: базовые чекпоинты набирают 0.362 на бенчмарке typed-decisions против 0.318 при случайном угадывании и 0.461 при всегдашнем ответе мажоритарным классом. Именно фразу самой Convai стоит держать в голове: «Laya — это быстрая база для специализации, а не zero-shot движок принятия решений». Очевидный объект для сравнения — Jev от TypeSafe AI, хостируемая модель System One без опубликованных весов, без опубликованного числа параметров и без опубликованной базовой модели. Laya — это ответ с открытыми весами на него. Пригодится ли вам этот ответ, почти целиком зависит от того, какую половину пайплайна вы пытаетесь заменить.
Что такое Laya на самом деле и чем она не является
Начните с отрицательного, потому что именно здесь большинство обзоров допускают ошибку. Laya — не LLM. Она неавторегрессионна: один прямой проход порождает ответ, и модель никогда не выдаёт текст. Сравнивать её задержку с количеством токенов в секунду у чат-модели — это сравнение двух разных операций: одна классифицирует, другая генерирует. Если вам нужен абзац, резюме, план или цепочка рассуждений, Laya не может дать вам этого и не пытается.
Что это: двунаправленный энкодер с прикреплённой сверху головой принятия решений. Английский чекпоинт — это ModernBERT-large — 395M параметров, полностью дообученный — плюс голова, обученная с нуля, состоящая из двух слоёв трансформера, модуля скоринга опционных маркеров и головы act/escalate, всего 421M. Многоязычный чекпоинт заменяет бэкбон на mmBERT-base, 22 слоя и словарь на 256k, всего 322M. Три чекпоинта поставляются в одном репозитории, и скачивается только тот, который вы запросите:
• convaiinnovations/laya — ModernBERT-large, 421 млн параметров, контекст 512 токенов, английский, примерно 808 МБ на диске.
• convaiinnovations/laya-multilingual — mmBERT-base, 322M параметров, контекст в 1 024 токена (энкодер поддерживает до 8 192 с RoPE), 100+ языков, примерно в 2,2 раза быстрее, примерно 647 МБ.
• convaiinnovations/laya-typed-decisions — ModernBERT-large, 421 млн параметров, контекст в 1 024 токена, и единственная из трёх, которая несёт показатель 0.766, что цитируется повсюду.
Маршрутизатор стоит впереди и выбирает чекпойнт для каждого запроса, определяя письменность и язык менее чем за полмиллисекунды, на чистом Python, до того как происходит какой-либо прямой проход. Это не удобная функция. Это функция корректности, и собственные доказательства проекта показывают, почему: английский чекпойнт показывает точность 0,000 на кхмерском, сообщая при этом уверенность 0,952. Модель, которая остаётся уверенной, будучи полностью неправой, — это ровно тот случай, когда гейтинг по уверенности не может вас спасти, поэтому решение о маршрутизации должно быть принято до того, как модель увидит вход. В ходе прогона по 51 языку маршрутизатор сделал пригодными 45 из 51 языка — что определяется как превышение случайного уровня в три раза — против 23 из 51 для одного только английского чекпойнта.

Факт о дизайне, который стоит понять: один токен [MASK] на каждый вариант.
Если вы вынесете из этой статьи только одно, пусть это будет следующее. В обычной голове классификации набор меток фиксируется на этапе обучения: последний слой имеет один выход на класс, а добавление класса требует переобучения. Laya так не делает. Она представляет каждый вариант в виде текста с маркером, а скоринг «вариант-маркер» считывает оценку с собственной [MASK]-позиции этого варианта. Затем она применяет softmax по вариантам, относящимся к этому вопросу.
Пространство ответов, таким образом, определяется в момент запроса. Вы задаёте варианты, модель оценивает их. Новая схема не требует ни повторного обучения, ни тонкой настройки, потому что в весах нет ничего, что кодировало бы «billing» или «technical» как класс, — только механизм для сравнения одного отрисованного варианта с другим в контексте состояния.
Два бюджета определяют, насколько хорошо это работает, и они общие. Каждая последовательность делится на бюджет промпта вариантов (head_max_len, 192 токена на английском чекпоинте и 256 на двух других) и бюджет документа (всё, что остаётся от max_len). На каждый вопрос в вызове отвечают в одном и том же единственном прямом проходе, поэтому вызов с шестью вопросами — это не шесть вызовов модели. Но варианты совместно используют бюджет вариантов, поэтому вопрос с 77 вариантами, такой как Banking77, выделяет примерно три-четыре токена на метку, и точность резко падает — 0.425 против опубликованного Jev значения 0.870. Исправление задокументировано, а не скрыто: увеличьте head_max_len и max_len, или разделите большой набор вариантов на двухэтапный выбор от грубого к точному.
Три примитива
Всё, что делает Laya, — это один из трёх типов вопросов, и каждый возвращает разную форму:
• выбор — вероятность для каждого именованного варианта, а также наиболее вероятная метка и оценка уверенности. Это примитив маршрутизации и классификации намерений.
• балл — распределение по упорядоченной шкале плюс ожидаемый уровень. Это порядковый примитив: срочность, фрустрация, серьёзность.
• noul — калиброванная вероятность того, что утверждение истинно, от 0.0 до 1.0. Фишинг, риск оттока, промпт-инъекция.
Типы строги так, что это важно с операционной точки зрения. Вопрос с выбором варианта не может вернуть вариант, который вы не предоставили, потому что единственные варианты, которые он может оценить, — это те, которые вы отрендерили. Это устраняет целый класс производственных сбоев — выдуманное значение перечисления, усечённый JSON, цикл повторных попыток вокруг парсера. Это не устраняет семантическую ошибку. Модель, которая возвращает billing: 0.94 для тикета, который должен был уйти в техническую поддержку, ошибается — и ошибается уверенно. Типизированный вывод гарантирует форму ответа, но никогда — его правильность.
RLCD, или почему вероятности должны что-то означать
Большинство классификаторов обучают быть правыми. Laya обучена честно говорить о том, насколько она права, и именно из рецепта обучения это исходит.
Метод называется RLCD — Reinforcement Learning for Calibrated Decisions. Политика выдаёт распределение, а не argmax; исследование добавляет гауссов шум с нулевым средним к логитам; а награда — это строго правильное правило оценки: логарифмическое плюс сферическое, с добавлением ранговой вероятностной оценки для порядковых вопросов. Всю работу делает слово «proper». Строго правильное правило оценки максимизируется в ожидании только при сообщении ваших истинных убеждений, поэтому перестраховка или завышенные утверждения теряют награду по построению, а не по инструкции. Обновления — это REINFORCE с групповым средним в качестве базовой линии, в стиле GRPO, а многоходовые диалоги используют TD(λ=1.0) по префиксным срезам.
Практическое следствие состоит в том, что порог уверенности — это осмысленная вещь, на которой можно строить логику приложения, — утверждение, которого нельзя сделать о softmax с классификатора, обученного с кросс-энтропией. Это также утверждение с оговоркой, о которой проект честно предупреждает: поставляемые чекпойнты излишне самоуверенны, и предполагается, что вы перенастроите температуру на своих данных, прежде чем доверять этим числам. Перенастройка одной температуры на каждый тип вопроса и число вариантов ответа снизила средний ECE с 0,466 до 0,081 на английском чекпойнте и с 0,314 до 0,106 на многоязычном. Рекомендуемый проектом стартовый порог для автоматического одобрения против проверки человеком — около 0,85.
Сколько стоит запуск
Показатели задержки — собственные данные проекта, измеренные на Tesla T4, причём каждая контрольная точка отвечает на побайтово идентичные вопросы в одном и том же прогоне:
• Один вопрос — 39,5 мс на laya, 32,8 мс на laya-multilingual.
• Пять вопросов — 84,5 мс и 40,1 мс.
• Десять вопросов пакетом — 158,6 мс (15,9 мс на вопрос) и 72,3 мс (7,2 мс на вопрос).
• Пятьдесят вопросов — 771 мс и 337 мс, или 6,8 мс на вопрос на многоязычном чекпоинте.
• Пакетная пропускная способность на одном T4 — от 103 до 332 вопросов в секунду.
Если вам попадалось циркулирующее утверждение «в 50 раз быстрее, чем Jev», это не показатель проекта, и собственный бенчмарк проекта его не подтверждает. Опубликованное сравнение Convai — это 7,8x по p50-задержке для одного вопроса: 32,8 мс против 236–276 мс. Это сравнение также стоит читать внимательно, потому что в карточке Laya сторона Jev обозначена как сторонние опубликованные показатели, которые Convai никогда не измерял — у него нет доступа к TypeSafe API — и потому что в нём локальный прямой проход на GPU противопоставляется вызову API на хостинге, который включает сетевой round-trip и время в очереди. Архитектурная часть этого разрыва реальна. Инфраструктурная часть — не свойство модели.
По памяти: объём составляет несколько сотен мегабайт на один чекпоинт, и таблицу развёртывания стоит знать перед выбором размера хоста. Ленивый режим по умолчанию постоянно держит в памяти два чекпоинта (английский и многоязычный — единственные два, между которыми роутер автоматически выбирает), поэтому после первой загрузки каждого языка переключение требует лишь определения. Router(max_loaded=1) на хосте с ограниченной памятью перезагружается при каждом переключении языка; медианное время составляет 7,4 секунды на CPU и 10,3 секунды на T4. Router(preload=True) — это серверная конфигурация: ничего не перезагружается, а задержка на запрос составляет 32,8 мс на GPU или 193–464 мс на CPU.
Честная половина
Именно здесь эта вещь оправдывает своё существование, потому что поверхность вокруг Laya кричащая, а ограничения конкретны.
Во-первых, заглавная цифра — это результат дообучения. Точность 0.766 относится к laya-typed-decisions, чекпоинту, дообученному на собственном тренировочном сплите этого бенчмарка. Базовые чекпоинты набирают 0.362 и 0.342 zero-shot против случайного базового уровня 0.318 и базового уровня большинства класса 0.461 — иными словами, ниже тривиального базового уровня. Проект говорит об этом в собственном списке ограничений, а не прячет это, и дообученный чекпоинт превосходит потолок самосогласованности учителя в 0.735, что является по-настоящему сильным результатом для 421M-энкодера на четырёх узких рабочих процессах (обработка счетов 0.804, инциденты безопасности 0.766, обслуживание клиентов 0.764, наблюдаемость трассировок агентов 0.730). Но это результат о специализации, а не о базовой модели, и всякий, кто цитирует 0.766 как общую способность, неверно читает карточку.
Во-вторых, примитивы не одинаково хороши. По точности на дообученном чекпоинте: noul 0,857, choice 0,733, score 0,723. Проект прямо называет порядковый score «самым слабым примитивом», с SST-5 на уровне 0,372. Если ваша поверхность принятия решений — это оценка серьёзности от 1 до 5, то это тот примитив, которому у вас меньше всего причин доверять из коробки.
В-третьих, два поведения задокументированы как баги в собственном трекере задач проекта, и оба обожгут вас в продакшене, если вы их не прочитаете. action.act_probability пока не несёт полезного сигнала — issue #185 — потому что выход decision head не нормализован и примерно в 300 раз превышает масштаб энкодера, что насыщает act head, из-за чего он выдаёт 1.0 почти для любого входа. Его сырые логиты обратны корректности, с AUROC 0.30 на 396 размеченных решениях. Вместо этого ориентируйтесь на confidence, который достигает AUROC 0.77 на тех же элементах. Отдельно, noul может следовать своим собственным меткам вариантов вместо состояния — issue #156 — потому что render_options жёстко задаёт метки noul как false: / true:, и эта пара меток может доминировать над ответом, возвращая уверенное «нет» для явно положительного входа. Задокументированный обходной путь — задать тот же вопрос как двухвариантный choice с нейтральными ключами и вашей формулировкой да/нет в качестве описаний.
Четвёртое — деталь калибровки, которую легко упустить и о которой стоит сказать точно. В контрольной точке поставляется подобранная температура 0.1006 для бакета choice:11+, а загрузчик зажимает каждую температуру в диапазон [0.5, 5.0]. Этот зажим делает вам одолжение. Настолько резкая температура могла бы взять по-настоящему разделённое распределение и выдать его за почти полную уверенность; зажим означает, что в худшем случае ответ будет мягче, чем предполагала подгонка, и загрузчик выдаёт предупреждение с указанием затронутого бакета и советом считать эту уверенность некалиброванной. Читайте предупреждения при загрузке, а не подавляйте их.
Пятое: в корне репозитория поддерживается только английский, и режим отказа за пределами английского не отличается изяществом — отсюда роутер и отсюда рекомендация использовать laya-multilingual для всего, что не является английской прозой.
Независимая картина, там, где она существует, уже, чем картина от вендора, и не противоречит ей. Независимое прямое сравнение — sysone-bench, 751 состояние в девяти наборах, датированное 2026-09-21, проведённое на побайтово идентичных входных данных с проверкой идентичности хешей вопросов перед сравнением, — показывает, что Jev впереди по triage, guardrails, moderation, banking77 и многоязычному интенту, а Laya впереди по AG News (0,940 против 0,910) и MNLI (0,983 против 0,867). Результат гейтинга по уверенности — это то, вокруг чего я бы действительно строил план: гейтинг при уверенности 0,85 сохранил 58% трафика Laya при точности 0,878 против 78% трафика Jev при 0,917. Вот как выглядит этот компромисс — Laya автоматизирует меньшую часть трафика при более низкой точности на той части, которую сохраняет, а её собственный прогон роутера повышает многоязычный интент с 0,360 до 0,840.
Поверхность вокруг него, которая необычно широка
Для проекта, веса которого появились всего несколько дней назад, самое удивительное — это интеграционная поверхность. Всё это находится в вышестоящем репозитории по адресу NandhaKishorM/laya, который на момент написания этого текста имел 19 871 звезду на GitHub, и он полностью под лицензией Apache 2.0:
• laya-serve — HTTP-сервер, который предоставляет Router с той же формой запроса и ответа POST /v1/systemone, что и hosted Jev API от TypeSafe, так что существующему клиенту TypeSafe достаточно изменить базовый URL. Честно отметим настройку безопасности по умолчанию: он привязывается к 0.0.0.0 без аутентификации, если не задан LAYA_API_KEY — в этом случае он требует bearer-токен. Существует усиленный вариант модуля NixOS, который работает под управлением DynamicUser systemd-юнита и передаёт токен через LoadCredential, а не помещает его в store.
• Полный порт на TypeScript в laya-ts/ для Node и браузера, а также путь агента ONNX (laya.onnx_agent.ONNXAgent) для запуска экспортированной модели в ONNX Runtime без PyTorch во время выполнения.
• MCP-сервер, доступный в составе дополнительной опции и предоставляющий laya_predict, laya_route, laya_preset и laya_status в качестве инструментов.
• Интеграции с LangChain и LangGraph — LayaRouter для маршрутизации по условным рёбрам с порогом уверенности и резервным вариантом, а также LayaGuardrail.
• Nix flake с nix run .#laya-serve и модуль services.laya-serve, четыре compose-файла, путь к Docker-образу с документированным быстрым стартом и блокнот Kaggle, который выполняет полный цикл тонкой настройки RLCD на бесплатных 2xT4 GPU за четыре-пять часов на примерно 30 тыс. вопросов.

Apache 2.0 — это та деталь лицензии, которая решает, можно ли поставлять это внутри продукта: она разрешает коммерческое использование, модификацию и распространение и не требует публиковать ваши изменения или ваши дообученные веса. Обязательство — обычное указание авторства и сохранение уведомлений, плюс явное отсутствие предоставления прав на патенты или товарные знаки сверх того, что указано в лицензии. Для слоя принятия решений, стоящего перед клиентским трафиком, это принципиально иное предложение по сравнению с хостинговым эндпоинтом в режиме раннего доступа, чьи веса, архитектура и рецепт обучения не раскрываются, — а именно таков Jev сегодня, при $0.042 за миллион входных токенов, бесплатном выводе и текстовом интерфейсе ввода.
Где это на самом деле вписывается: голова принятия решений впереди, маршрутизируемая LLM позади
Шаблон, который стоит усвоить, — это не «модель принятия решений вместо LLM». Это двухэтапный конвейер, и оба этапа существуют потому, что другой плохо справляется с чем-то.
Поставьте Laya впереди для массовых, узких, машинно-потребляемых суждений: маршрутизировать тикет, классифицировать намерение, оценить срочность, решить, релевантен ли этот документ запросу, проверить, нарушает ли этот черновик политику. У таких вызовов фиксированный набор ответов, они происходят тысячи раз в час, и локальный прямой проход за 33 миллисекунды с нулевыми выходными токенами подходит для них лучше, чем генеративный круговой обход. А затем поставьте за ним генеративную модель для вызовов, которым действительно нужны связный текст, синтез или рассуждение над длинным контекстом, — составление черновиков, объяснение, сводка по эскалации.
Именно здесь находится OrcaRouter, и стоит точно обозначить границу. Мы не обслуживаем Laya; это 421M-энкодер, который вы запускаете сами, и весь смысл в том, что он работает там, где уже находятся ваши данные. Мы также не обслуживаем Jev — это эндпоинт TypeSafe с ранним доступом. Мы покрываем генеративную половину того же конвейера: 200+ моделей за одним ключом, совместимым с OpenAI, по прайс-листовой цене провайдера, передаваемой с наценкой 0%, с автоматическим переключением при отказе между провайдерами. Практическая причина, которая здесь важна, — это стык между двумя половинами. Как только вы начинаете направлять решения к генеративной модели для случаев, которые отклонил блок принятия решений, у вас появляются вторая интеграция, второй счёт и второй режим отказа. Один ключ для генеративной стороны с переключением при отказе, если провайдер деградирует, означает, что путь эскалации слоя принятия решений — это изменение конфигурации, а не ещё одни отношения с поставщиком. Это скромное утверждение, и оно истинно.
Кому стоит это внедрить, а кому стоит подождать
Внедряйте Laya прямо сейчас, если у вас есть размеченные данные и цикл обучения, а также поверхность принятия решений, достаточно стабильная, чтобы её стоило специализировать. Ноутбук на Kaggle существует именно для того, чтобы этап тонкой настройки не превращался в исследовательский проект, базовые чекпойнты загружаются примерно за две секунды на CPU, а лицензия позволяет выпускать результат коммерчески, не публикуя свои веса. Лучше всего подходят рабочие нагрузки, которые проект уже протестировал: триаж тикетов, обработка счетов, классификация инцидентов безопасности, гардрейлы и модерация, а также наблюдаемость трассировок агентов. Держите вопросы с выбором в пределах примерно 20 вариантов, калибруйте температуру на своей собственной отложенной выборке, прежде чем вводить порог в продакшене, и ориентируйтесь на уверенность, а не на act_probability.
Подождите, если ваше решение должно работать правильно прямо из коробки, без размеченных данных. Базовый чекпойнт, находящийся ниже базовой линии мажоритарного класса на бенчмарке, против которого он был опубликован, — это не zero-shot-движок, а честное прочтение цифр вендора в сравнении с независимыми говорит о том, что хорошо отлаженный хостируемый API принятия решений в настоящее время — более сильный zero-shot-выбор. Подождите также, если ваши наборы вариантов велики и вы не готовы настраивать бюджет головы, если ваше порядковое оценивание должно быть надёжным сразу, или если вам нужен ввод изображений, аудио или длинных документов — Laya работает только с текстом, и её бюджет контекста по умолчанию составляет от 512 до 1 024 токенов, а это выборка свидетельств, а не целый документ.
То, что определит эту категорию, — не показатели задержки, которые уже достаточно хороши, чтобы перестать быть аргументом. Дело в том, превосходит ли небольшая модель, которая выдаёт честные вероятности на определённой вами поверхности принятия решений и которую можно дообучить на собственных метках, обращение к большой генеративной модели с последующим разбором её вывода. Laya — убедительная первая серьёзная попытка создать версию этого вопроса с открытыми весами — и ей максимум несколько дней от роду, и именно так следует читать всё вышесказанное. База — это отправная точка, а не продукт.

