Jev или свой классификатор (BERT, GLiNER, fine-tuning): что выбрать
Классификация — главный сценарий Jev, но у этой задачи давно есть проверенное решение. Это небольшая модель вроде BERT или GLiNER, дообученная на своих данных. Разбираем независимые сравнения и объясняем, когда какой вариант выгоднее.
Коротко
| Jev | GLiNER 2.5 без обучения | Дообученный классификатор | |
|---|---|---|---|
| Размеченные данные | Не нужны | Не нужны | Нужны |
| Новый класс | Правка запроса | Правка списка меток | Разметка и переобучение |
| Где работает | Только облако TypeSafe | Локально, хватает CPU | Локально |
| Точность без обучения | Чаще выше в известных сравнениях | Чаще ниже, чем у Jev | — |
| Точность после обучения | Не меняется: дообучения нет | — | В эксперименте на Banking77 выше Jev |
| Вероятности | В каждом ответе | Уверенность по меткам | Зависит от модели |
| Данные | Уходят в облако | Остаются у вас | Остаются у вас |
Jev стоит $0,042 за миллион входных токенов, подробнее — в статье о ценах. Свой классификатор оплачивается железом и временем на разметку и обучение.
Кто есть кто
BERT — модель Google AI Language 2018 года. Её предобучают на неразмеченных текстах, а под конкретную задачу добавляют один выходной слой и дообучают на размеченных примерах. Базовая версия содержит 110 млн параметров, большая — 340 млн. «Свой классификатор на BERT» обычно означает именно это: взять предобученную модель и дообучить её на своих данных.
GLiNER — открытая модель для извлечения именованных сущностей. Её продолжение GLiNER2 от компании Fastino умеет ещё классифицировать текст и извлекать структурированные данные. Метки задаются прямо при вызове, поэтому модель работает и без дообучения. GLiNER 2.5 — новая архитектура с тремя чекпойнтами: 74 млн параметров (английский, для CPU и edge), 194 млн (английский) и 287 млн (многоязычный). Код открыт под лицензией Apache 2.0, модели запускаются локально на обычном процессоре, дообучение и LoRA поддерживаются.
Jev — закрытая облачная модель. TypeSafe не дообучает её под клиентов, в том числе через LoRA: все аккаунты работают с одними и теми же весами. Модель подстраивают через запрос — содержимое state, инструкции и описания вариантов. Вместо обучения на ваших примерах TypeSafe делает ставку на метод RLCD, который должен давать откалиброванные вероятности: из ответов с вероятностью 0,8 верными должны оказываться около 80%.
«Без обучения» при этом не значит «без работы». Вместо разметки вы пишете и отлаживаете инструкции и описания вариантов, а качество всё равно измеряете на размеченной выборке — просто она нужна меньше, чем для дообучения.
Что показали сравнения
Без обучения Jev чаще впереди
Открытый репозиторий jev-benchmarks сравнил Jev с многоязычной GLiNER 2.5 в режиме zero-shot: одинаковые примеры, одинаковые описания меток, по 100 примеров на каждый набор данных.
| Набор данных | Классов | Jev | GLiNER 2.5 |
|---|---|---|---|
| AG News | 4 | 0,91 | 0,70 |
| Banking77 (версия BTZSC) | 72 | 0,87 | 0,61 |
| DAIR Emotion | 6 | 0,48 | 0,44 |
На первых двух наборах Jev уверенно впереди. На эмоциях разница в пределах погрешности, а калибровка у Jev хуже: в 16% примеров модель дала правильному ответу нулевую вероятность. По скорости GLiNER на процессоре Apple M4 Max отвечала примерно за 44 мс против 236–256 мс у Jev через сеть из Франции. На 72 классах картина обратная: 246 мс у Jev против 296 мс у GLiNER. Автор называет это пилотом на 300 примерах, а не рейтингом.
После обучения классификатор обгоняет
Второй эксперимент пересказывает статья на Хабре. Josh Kuechly сравнил Jev и GLiNER 2.5 на Banking77 — наборе из 13 083 банковских обращений с 77 интентами, из них около 10 тысяч в обучающей части. Без обучения GLiNER отставала от Jev примерно на 9 процентных пунктов, зато работала в 10 раз быстрее. После 51 минуты дообучения примерно на 10 тысячах примеров она прибавила 18 пунктов, обошла Jev примерно на 9 и работала локально в 8 раз быстрее.
Автор эксперимента не выложил ни код, ни логи, поэтому результат остаётся единичным опытом, а не независимым бенчмарком. Вывод автора статьи на Хабре сводится к выбору по ситуации: Jev выигрывает там, где нужно обойтись без обучения, а узкий классификатор — там, где задача стабильна и важны скорость и точность.
Когда выбирать Jev
- Размеченных данных нет или мало, а решение нужно на этой неделе.
- Классы часто меняются: новый вариант — это строка в запросе, а не новый цикл разметки.
- Задач много, и все небольшие: одна модель и один API вместо зоопарка классификаторов.
- Нужно несколько суждений о тексте сразу — тема, срочность, тон. Вопросы считаются параллельно в одном запросе.
- Нужны вероятности для маршрутизации по уверенности. Калибровку всё равно проверьте на своих данных, как показывает пример с эмоциями. Подробнее — в статье об уверенности Jev.
- Данные можно отправлять во внешнее облако.
Когда выбирать свой классификатор
- Классы стабильны, и есть тысячи размеченных примеров. После дообучения точность может оказаться выше, чем у Jev.
- Данные не должны покидать периметр: Jev работает только в облаке TypeSafe.
- Бюджет задержки — десятки миллисекунд, или нужен офлайн-режим.
- Важен контроль над версией. Алиас
jev-latestпереезжает на новые релизы, и для стабильных порогов TypeSafe советует закреплять конкретную версию. Свою модель вы обновляете, когда захотите. - Тексты не на английском. TypeSafe пишет, что английский — основной язык Jev, а на других точность пока ниже. У GLiNER есть многоязычный чекпойнт; проверьте оба варианта на своих текстах.
Учтите и полную стоимость владения. Кроме обучения, своему классификатору нужны хостинг, мониторинг дрейфа данных, переразметка и повторное обучение, когда поток меняется. У Jev эти заботы берёт на себя TypeSafe, но вместе с ними и контроль над моделью.
Комбинации
Каскад. Локальный классификатор разбирает поток и уверенные случаи, а сомнительные и новые уходят в Jev или LLM. Похожая схема с Jev перед дорогой моделью описана в статье о Jev и ChatGPT.
Jev как генератор признаков. В рецепте TypeSafe ответы Jev на 38 вопросов о тексте превращаются в 67 числовых признаков для CatBoost. На 2000 винных рецензиях модель предсказывала оценку критика с ошибкой RMSE 1,77 балла. У той же CatBoost на подсчёте слов ошибка 2,47, а если просто спросить оценку у Jev — 2,15. Это цифры компании, но важна идея: учитель здесь — ваша разметка, а не ответы Jev.
Чего не делать без юриста. Схема «разметить датасет с помощью Jev и дообучить на нём BERT» упирается в договор. Master Customer Agreement TypeSafe запрещает использовать ответы сервиса для дистилляции и обучения модели, которая имитирует его ответы.
Как сравнить на своих данных
- Возьмите размеченную выборку и отложите тестовую часть.
- Прогоните Jev и GLiNER без обучения с одинаковыми описаниями классов.
- Если данных хватает, дообучите классификатор и сравните снова. Учтите время на разметку и обучение.
- Кроме точности, считайте калибровку (Brier, log loss), долю случаев, которые можно автоматизировать при допустимой ошибке, задержку p50 и p95 и стоимость тысячи решений.
- Тестируйте на том же языке и в том же домене, что и в продакшене.
Типичные слабые места Jev, которые всплывают на таких тестах, собраны в разборе ограничений. Если вы сравниваете Jev не с классификатором, а с LLM в режиме JSON, смотрите отдельное сравнение.
Частые вопросы
Что точнее — Jev или дообученный BERT?
Зависит от данных. Без обучения Jev в известных сравнениях точнее GLiNER 2.5, но в эксперименте на Banking77 дообученный GLiNER 2.5 обошёл её примерно на 9 процентных пунктов. Если у вас тысячи размеченных примеров и стабильные классы, свой классификатор может оказаться точнее.
Можно ли дообучить Jev на своих данных?
Нет. TypeSafe не дообучает Jev под клиентов, в том числе через LoRA, все аккаунты работают с одними весами. Модель подстраивают через содержимое state, инструкции и описания вариантов.
Можно ли разметить датасет с помощью Jev и обучить на нём свою модель?
Осторожно. Договор TypeSafe запрещает использовать ответы сервиса для дистилляции и обучения модели, которая имитирует его ответы. Прочитайте условия, прежде чем строить такой процесс.
Источники
- Хабр — Jev — как устроен его API решений и что на нём уже строят
- GitHub — jev-benchmarks, пилотное сравнение Jev и GLiNER 2.5
- TypeSafe Docs — AI primer
- TypeSafe Docs — Models
- TypeSafe Docs — Autoresearch feature discovery
- TypeSafe AI — Master Customer Agreement
- GitHub — GLiNER2 (Fastino)
- arXiv — BERT — Pre-training of Deep Bidirectional Transformers for Language Understanding
- Hugging Face — набор данных BANKING77