Дообучение GigaAM-v3 на IT-терминах: WER упал с 8,81% до 5,76%

· ·

Дообучение GigaAM-v3 на IT-терминах: WER упал с 8,81% до 5,76%

PrimeCoder · 2026 · формат: tech

Разбор новинки простыми словами: что это, кому нужно и брать ли.

Кейс показывает, что дообучение открытой ASR-модели на 25 часах живой речи даёт +35% к точности и почти удваивает долю верных IT-терминов — это рабочий рецепт для SMB, строящих голосовые интерфейсы и диктовку на русском.

Связанные услуги: каталог, AI Boost Team, стать клиентом.

Версия 0.01, бета, без обещаний. Команда диктовки Glas выложила разбор того, как дообучила открытую модель распознавания речи GigaAM-v3 на 25 часах живой русской речи с IT-терминами. Результат на 525 отложенных коротких записях: WER 8,81% → 5,76%. Доля правильно написанных терминов: 43,8% → 86,7%.

Для владельца продукта это важнее, чем звучит. WER в районе 9% и 6% на глаз почти неразличимы, пока диктуешь «созвон в среду». Разница вылезает на слове Kubernetes. Или на «ИИ», которое модель слышит как затянутый союз «и».

Что было сломано

Модель построена на Conformer, взят вариант v3_e2e_rnnt: на выходе сразу текст с регистром и пунктуацией. Обычную русскую речь держала хорошо. На профессиональной лексике спотыкалась предсказуемо: Docker превращался в «докер», Python в «Пайтон». Иногда исчезали целые слова: «Мой ИИ редко ошибается» записывалось как «Мои редко ошибается».

Словарь замен спасает частично. Один Kubernetes в тестах становился «Кьюбернит», «Куберните», «кубернетис», «Gubernitis» и «Qubernit». А «ИИ» от «и» по тексту не отличить: нужен звук, а не строка.

Что сделали: верхние слои, а не переобучение с нуля

Заморозили препроцессор, субдискретизацию и первые 10 слоёв энкодера. Обучали верхние 6 слоёв и RNNT-голову. 83,4 млн параметров из 222,5 млн, 4 эпохи, 1332 шага, AdamW с lr 1·10⁻⁴, weight decay 1·10⁻³ и прогревом на 300 шагов. Батчи до 400 секунд суммарной длительности. Обучение на одной арендованной A100 40 ГБ.

Архитектуру, код и формат весов сохранили. Эту деталь легко пропустить, а она практическая: дообученную версию можно поставить на место прежней, не переписывая обвязку. Инференс остался на RTX A2000 12 ГБ, скорость почти не изменилась.

Токенизатор не трогали. В словаре на 1024 токена латиница уже есть, нужные названия кодируются без .

Разметка: вот где настоящая работа

25 часов вручную не расшифровывают. Каждую запись прогнали через GigaAM и Whisper large-v3-turbo: первая лучше держит русский текст и пунктуацию, вторая — английские названия. За основу брали текст GigaAM, участки с терминами заменяли вариантом Whisper. Разногласия сначала отдавали текстовой модели, но та выбирала правдоподобную фразу, не слыша записи. Перешли на мультимодальную: ей давали аудио и обе расшифровки, просили исправить расхождения.

Правила написания зафиксировали до разметки. Продукты, технологии, компании, аббревиатуры — латиницей: Docker, PostgreSQL, Jira, CRM, API. Освоенные заимствования, которые склоняются, — кириллицей: дедлайн, релиз, деплой, бэкенд, дашборд. Падеж у латинского названия не пишем: «в Докере» → «в Docker». Составные с «ИИ» — через дефис. Запинки выкидываем. Глоссарий: 126 терминов с правильными написаниями и типичными ошибками.

Отдельная история — дефис. Первые замеры показали девять лишних «ИИ» у новой модели против нуля у исходной. Шесть из девяти оказались расхождениями «ИИ-агент» и «ИИ агент». Пословный счётчик принимал разницу в дефисе за ошибку распознавания. Написание унифицировали в обучении и тесте, счётчик научили видеть «ИИ» внутри «ИИ-агент».

Первая попытка и её провал

До RNNT была ветка на CTC: 4,4 часа данных, около 1100 синтетических фраз плюс FLEURS, замороженные нижние 12 слоёв. На стенде из 12 синтетических фраз термины выросли с 6% до 86%. Красиво. Только стенд ничего не проверял.

На 150 живых записях FLEURS картина другая: WER без пунктуации 4,65% → 5,39%, а с регистром и пунктуацией 9,69% → 28,75%. В скрипте подготовки данных взяли transcription (нормализованный текст) вместо raw_transcription. Ни в одном из 150 ответов не было заглавной буквы и точки. Плюс «deadloin» вместо «дедлайна». От ветки отказались.

Урок шире конкретного кейса: сначала метрика, потом данные. Тест, размеченный тем же конвейером, что и обучение, показывает согласованность конвейера, а не качество модели.

Ограничения, которые нельзя проглотить

  • Версия 0.01, бета. В продакшн по умолчанию не идёт.
  • Модель чаще пропускает слова.
  • На обычной речи хуже воспроизводит регистр и пунктуацию.
  • Тест размечен тем же автоматическим конвейером, что и обучение, с выборочной ручной проверкой. Часть выигрыша может объясняться совпадением стиля разметки.
  • Корректор на 132 синтетических записях дал WER 4,8% и 94,6% верных терминов. Это проверка конвейера на синтетике, не оценка всей живой разметки.
Это версия 0.01, пока бета. Есть и ухудшения: модель чаще пропускает слова, а на обычной речи хуже воспроизводит регистр и пунктуацию.

Кому нужно и как применить

Тем, кто строит диктовку, голосового ассистента, расшифровку звонков или заметки в CRM на русском. Порог входа низкий: GigaAM-v3 опубликована под MIT, модификация и коммерческое использование разрешены, публиковать свои веса лицензия не обязывает. В копиях модели и кода нужно сохранить уведомление об авторских правах и текст лицензии.

Порядок действий, если хотите повторить. Соберите 20–30 часов живой речи из своего домена. Зафиксируйте правила написания терминов до разметки, а не после. Отложите дикторов короткого теста целиком. Добавьте отдельный тест на записи, которых в обучении не было (в кейсе так сделали с выпуском подкаста). Обучайте верхние слои, не трогая низ. Считайте две метрики: WER и долю верных терминов.

Вторая для бизнеса часто важнее. «Kubernetes» с ошибкой ломает поиск по базе знаний, автоподстановку в тикетах и любое сравнение с справочником. Разница между 43,8% и 86,7% — это разница между «оператор правит каждую вторую строку» и «правит иногда».

Брать или подождать

СитуацияРешение
Узкий домен с латиницей и аббревиатурами, есть 25 часов своей речи, есть кому чистить разметкуБрать. Повторяемый рецепт с понятной ценой
Нужен готовый продукт без инженера внутриПодождать. Бета 0.01, пропуски слов не закрыты
Общая русская речь без терминов, важна пунктуацияПодождать. Заявлено ухудшение регистра и пунктуации
Нужен ориентир для собственного пилотаБрать как метод. Метрики, правила, отложенные дикторы

Вердикт за 30 секунд. Это не прорыв, это аккуратная инженерная работа с измеримым результатом. Минус 35% к WER и удвоение доли верных терминов на 25 часах данных — хороший ориентир для бюджета проекта. Плохая новость: половина сложности кейса не в обучении, а в разметке и в правилах, о которых договорились заранее.

FAQ

Сколько данных реально нужно

В кейсе 25 часов: 8301 короткая запись и 1770 сегментов подкастов. Плюс валидация 290 записей и три отдельных теста. Меньше — можно, но проверять придётся строже.

Нужна ли своя видеокарта

Для обучения арендовали A100 40 ГБ. Для инференса хватило RTX A2000 12 ГБ, энкодер в FP16, RNNT-голова в FP32.

Можно ли использовать в коммерческом продукте

Лицензия MIT это допускает. Обязательство одно: сохранить уведомление об авторских правах и текст лицензии в копиях. Публиковать свои веса не требуется.

Почему нельзя просто добавить словарь замен

Потому что модель путает не только написание, но и границы слов, а «ИИ» и «и» различаются звуком, а не строкой. Замены закрывают часть ошибок и не трогают остальные.

Что делать дальше

Возьмите свою диктовку или расшифровку звонков и посчитайте две цифры вручную на сотне записей: WER и долю верных терминов из вашего глоссария. Дальше решение принимается по арифметике, не по ощущению «вроде норм». Если вторая цифра ниже 60%, у вас та же проблема, что была у Glas, и рецепт выше применим почти дословно.

Читайте также

Комментарии (1)

  • PrimeCoder Team · Официальный ответ · PrimeCoder

    Пришлите формат отчётности (дашборд / таблица / «на глаз») — подскажем минимальный набор метрик на старт.

Обсудить на сайте