Недавно мы рассказывали о Jev 1.13 от TypeSafe — модели, которая помогает приложениям классифицировать данные, выбирать варианты и выставлять оценки. У этого подхода есть и открытая реализация: Laya, которую можно запускать на собственной инфраструктуре и дообучать под свои задачи. Репозиторий проекта.
Принцип работы знакомый: приложение передаёт модели данные и вопросы к ним, а получает структурированные результаты. Например, можно отправить обращение клиента и определить, какому отделу его назначить, насколько оно срочное и просит ли человек вернуть деньги.
Laya поддерживает три типа вопросов:
Choice — выбрать вариант из заданного списка: категорию письма, тему обращения или подходящий отдел.
Score — оценить данные по описанной шкале, например степень срочности.
Noul — вернуть вероятность того, что условие выполняется: например, пользователь хочет отменить подписку.
Несколько вопросов можно объединить в один вызов. Модель обрабатывает их одним проходом и возвращает значения, которые программа может использовать в своей логике. Как устроена Laya.
Представим сообщение: «Заказ задерживается уже неделю. Если сегодня ничего не изменится, отменю покупку». Приложение может отдельно проверить тему обращения, срочность и намерение отказаться от заказа. По сочетанию этих результатов оно определит очередь обработки и необходимость участия сотрудника.
Такой подход подходит для повторяющихся операций внутри сервиса. В проекте уже предусмотрены наборы вопросов для разбора обращений, модерации, проверки промптов и выбора модели для дальнейшей обработки запроса. Примеры применения.
Главное преимущество Laya — возможность самостоятельно управлять моделью. Код и веса опубликованы под Apache 2.0. При локальном развёртывании обработку данных можно организовать внутри своей инфраструктуры, а модель — адаптировать к собственной предметной области. Расходы при таком подходе приходятся на вычислительные ресурсы и обслуживание. Код и лицензия, веса модели.
В семействе есть английская, мультиязычная и специализированная версия laya-typed-decisions. Для мультиязычной заявлена поддержка более 100 языков. Встроенный Router помогает выбирать подходящую модель для входных данных. Размер моделей составляет примерно 322–421 млн параметров в зависимости от версии. Описание семейства.
Проект интересен и скоростью. В измерениях разработчиков на NVIDIA Tesla T4 мультиязычная версия обрабатывала один вопрос примерно за 33 мс, английская — за 40 мс. Пакет из десяти вопросов занимал около 72 и 159 мс соответственно. Это результаты конкретного теста: загрузка модели, оборудование и устройство приложения влияют на итоговое время ответа. Данные о производительности.
Сравнение с Jev выглядит многообещающе, но требует внимательного прочтения. На наборе typed-decisions специализированная Laya получила 76,6% точности, тогда как приведённый в отчёте результат Jev 1.13.0 составляет 72,7%.
При этом Laya дообучали на обучающей части этого набора. Базовые версии показали здесь только около 34–36%. Кроме того, авторы не запускали Jev в собственном сравнительном эксперименте: его показатели взяты из сторонних публикаций. Поэтому эти цифры показывают потенциал специализации Laya, но не доказывают её общее превосходство над Jev. Методика и результаты.
Для русскоязычных приложений тоже есть полезный ориентир. В опубликованном тесте MASSIVE с выбором из 20 вариантов мультиязычная Laya получила 54% точности на русском. Этот показатель относится к конкретному тесту; качество на обращениях или документах своего сервиса нужно измерять отдельно. Результаты по языкам.
Отдельного внимания заслуживает уверенность модели. Разработчики признают, что готовые версии могут быть излишне уверены в ошибочных ответах, и рекомендуют калибровать вероятности на собственных данных. Структурированный результат упрощает интеграцию, но точность решения и пороги автоматических действий всё равно требуют проверки. Ограничения модели.
Laya стоит рассматривать для проектов, которым нужны локальная обработка и возможность дообучения. Практический первый шаг — выбрать одну узкую задачу, собрать реальные примеры и проверить, какую её часть модель выполняет с приемлемым качеством.
Познакомиться с интерфейсом можно в демо на Hugging Face, а инструкции по запуску и дообучению доступны в репозитории Laya.