← Лендинг Hermes Agent

Опубликовано

Любовь - это русские придумали, чтобы денег не платить: добиваем бесплатных Бертов до платного Jev

Автор: Гусев Николай [портфолио]

Дата обновления не указана в исходнике.

Темы: fine-tuning, local-models

Сложность: высокая

В прошлой части laya уступала Jev в калибровке, и ответ был "плати за то, что сделали за тебя". Спойлер: не обязательно. Десять тысяч моих писем, ротатор бесплатных моделей, две тренировки на RTX 4060 за 82 секунды и 15.5 минуты - и необученный BERT даёт accuracy 0.959 с калибровкой, которой позавидует платный API. Плюс честная цена: специализация съедает универсальность.

Исходная точка

Laya-multilingual: 322M параметров, mmBERT-энкодер, лицензия Apache 2.0. Авторы честно пишут в карточке: базовые чекпоинты не умеют почти ничего, сила появляется после дообучения на своём домене. В прошлых частях я гонял её zero-shot на эвалах - теперь задача обратная: научить её делать мою работу бесплатно.

Датасет: три источника меток

Выгрузил через IMAP десять тысяч писем за год: тема плюс полторы тысячи знаков тела. Метки - из трёх источников по возрастанию цены.

Правила по доменам: GitHub-уведомления о падениях билдов - автоматика, промо-рассылки - шум, Госуслуги и платежи за серверы - важное. hh.ru хитрее: уведомление о вакансии - шум, приглашение работодателя - важное. Правила закрыли 3608 писем бесплатно.

Локальная модель yandexgpt-5-lite-8b в LM Studio - для остатка на первой тысяче: промпт с вопросом о действии, temperature 0, 45 секунд.

Ротатор бесплатных моделей через OpenRouter - для основного корпуса: deepseek-v4-flash основная, ling-3.0-flash и nex-mini на подхвате. При 429 или недоступности запрос автоматически переезжает на следующую модель в списке. Шесть с лишним тысяч писем за три часа; без метки осталось около трёх процентов корпуса.

Итоговый корпус: 9690 писем, из них 879 важных. Дисбаланс 12 к 1 - типичный для почты, он же ловушка для метрик: модель, говорящая всем не важно, получит accuracy 0.91 и не будет стоить ничего. Поэтому смотрим в скобки: F1 по важному классу - единственная честная метрика.

Тренировка: два прогона

Формат - классификация последовательности: энкодер mmBERT плюс свежая голова на два класса. Гиперпараметры без тюнинга: learning rate 2e-5, batch 16, три эпохи, линейный прогрев первых 10 процентов шагов, bf16. Из подводных камней: конфиг laya нестандартный, веса лежат в схеме с головами RL-агента - энкодер вынимается переименованием префикса в modernbert и выбрасыванием лишних голов. Три строчки кода, о которых стоило догадаться сразу.

`прогон 1: 1000 писем,  82 секунды
прогон 2: 9690 писем,  15.5 минуты
железо:   RTX 4060, 8 ГБ VRAM, пиково 3.6 ГБ`

Базовая точка - свежесозданная голова без обучения - даёт accuracy 0.427. Это не способности laya, это случайная инициализация: все честные цифры начинаются после первой эпохи.

Результаты

Сплит 8000 на обучение, 1000 валидация, 690 тест, который модель не видела ни разу:

`                     1000 писем   10 000 писем
accuracy                0.873        0.959
F1 важного класса       0.537        0.725
ECE                     0.095        0.032
время тренировки        82 с         15.5 мин`

Десятикратный корпус поднял accuracy на 8.6 пункта, F1 важного класса - на 19. Дёшево не значит плохо. ECE 0.032 означает: когда модель называет уверенность 80 процентов, она права примерно в 80 случаях из ста. Для сравнения - сторонние замеры дают Jev ECE 0.246. Наборы разные, напрямую сравнивать нельзя, но порядок понятен: то, за что берут деньги, получилось дома бесплатно.

Цена специализации

Регрессия на сетах из прошлых частей показала обратную сторону. Фильтр инъекций: дообученная модель разделяет атаки и нормальные тексты хуже случайного угадывания - было 18 из 20 у zero-shot laya. Реранкер: 22 попарные победы из 36 - было 9 из 12. Голова заточена под вопрос важности письма, и универсальность обменялась на точность в домене. Бесплатный BERT - не один вездесущий солдат, а целый штат узких специалистов, каждый из которых надо ещё и обучить. Дешёвая модель не бесплатна - она стоит твоего вечера. Но вечер стоит дешевле подписки.

Пайплайн из нескольких специализаций

Описанный протокол повторяем для любой задачи: раз разметил - раз обучил. Естественное продолжение - не одна модель, а несколько, каждая на своём месте обработки потока. Пришло письмо: первая модель проверяет на инъекции, вторая сортирует на важное и шум, третья для важных оценивает срочность, спорное уходит человеку. Микросервисы, только вместо контейнеров - энкодеры по 300 мегапараметров.

Математика памяти для RTX 4060 с 8 гигабайтами:

`одна mmBERT (307.5M весов)
  bf16    0.57 ГБ
  int8    0.29 ГБ
  int4    0.14 ГБ

10 моделей одновременно
  bf16    5.7 ГБ   - влезает впритык
  int8    2.9 ГБ   - свободно
  на CPU  32 ГБ RAM - хоть двадцать`

Латентность каждой - 20-40 миллисекунд на суждение, поэтому цепочка из пяти моделей по конвейеру быстрее одного вызова локальной 8B. Прокачка квантования - отдельная минута работы: каждая модель жмётся до int8 почти без потери качества, и десятимодельный пайплайн живёт в трёх гигабайтах.

Два подводных камня. Первый - данные: N моделей означают N датасетов, и это основная работа, но конвейер разметки из этой части (правила доменов плюс ротатор бесплатных моделей плюс выборочная ручная проверка) одинаково годится для любой головы. Второй - эксплуатация: проще держать N независимых копий (упала одна - перекатываешь одну), чем общий энкодер с N головами, хотя второй вариант экономнее по памяти. Начинать с копий.

Jev при такой архитектуре меняет роль: не основа пайплайна, а генератор учителей для разметки и инструмент холодного старта нового звена.

Что это даёт

Итог для тех, кто хочет платить меньше. Платный API остаётся в двух местах: cold start на новом домене, где своих меток ещё нет, и лень собрать свои - тогда калиброванные вердикты из коробки за копейки. Но если поток текстов есть, а видеокарта не совсем игрушка - бесплатный BERT добивается до уровня, где вопрос 'зачем платить' уже не риторический. Платный сервис из обязательной зависимости становится инструментом первой примерки.

И сноска для тех, кто дочитал: всё это - про любовь к инженерным экспериментам. Полный конвейер - выгрузка писем, ротатор разметки, тренировка - выложен в репозиторий: отдайте этот текст своему агенту, и он повторит его на вашем ящике за вечер.

Ссылки

|

|

|