ym103884448ym88659208ym87991671
GigaAM-v3: открытая SOTA-модель распознавания речи на русском языке
Над чем работаем
О работе в Сбере
7 минут на чтение
15 декабря 2025
GigaAM-v3: открытая SOTA-модель распознавания речи на русском языке
Александр Кучаков
Александр Кучаков
ML-инженер
Ранее мы представили семейство моделей GigaAM. Технологии автоматического распознавания речи (Automatic Speech Recognition, ASR) развиваются быстро, а решения с открытым исходным кодом (Open Source) становятся всё более востребованными для бизнеса и разработчиков. Они позволяют создавать независимые продукты и гибко настраивать инструменты под свои задачи.
Теперь выпускаем GigaAM-v3 — новую версию, которая поднимает планку качества открытых моделей. Мы улучшили архитектуру, расширили обучающую выборку и оптимизировали алгоритмы, чтобы модель точнее транскрибировала речь даже в сложных акустических условиях.
Семейство моделей GigaAM: архитектура и метрики. Схема иллюстрирует процесс обучения — от базового предобучения до специализации под задачи распознавания речи (CTC, RNN-T) и эмоций. В таблицах приведено сравнение Word Error Rate с конкурентами (включая Whisper) и эволюция функциональных возможностей от первой до третьей версии.
В статье расскажем, как HuBERT-CTC — метод, использующий уже обученную модель распознавания в качестве учителя, — повышает качество транскрипции минимум на 10% по сравнению с распространёнными подходами. Опишем процесс превращения «сырых» транскрипций без знаков препинания в читаемый текст с помощью GigaChat Audio. Отдельно остановимся на оценке качества в разных доменах, где поверх классической метрики ошибок мы подключили LLM-as-a-judge — метод валидации с использованием большой языковой модели. В завершение покажем, как запустить GigaAM-v3 в собственном контуре.
Полная техническая версия этой статьи от нашего разработчика опубликована на Хабре. Здесь — облегчённая версия.
Коротко о self-supervised-обучении для речи
Самообучение (Self-supervised learning, SSL) позволяет модели освоить структуру речевого сигнала без использования размеченных данных. Для этого формируется промежуточная задача (proxy-task), которую решает энкодер — компонент нейросети, преобразующий входные данные в цифровое представление. Подход позволяет использовать массивы неразмеченных аудиозаписей, что особенно актуально для языков с дефицитом ручной разметки.
Классические подходы к SSL:
  • HuBERT и BEST-RQ. Алгоритм извлекает признаки из аудиосигнала и кластеризует их, например, методом k-means — алгоритмом, который группирует похожие данные. Затем энкодер на архитектуре Transformer учится восстанавливать «скрытые токены» на замаскированных участках. Механика напоминает маскированное языковое моделирование (Masked Language Modeling, MLM) в текстовых моделях, но адаптирована для звука.
  • wav2vec2.0. Вместо восстановления токенов используется контрастивная задача. Модель учится отличать корректный вектор признаков для скрытого сегмента от набора ложных примеров.
Эти методы подходят для создания универсальных базовых моделей (foundation models). Однако если цель — автоматическое распознавание речи (Automatic Speech Recognition, ASR), логично связать процесс самообучения с целевой задачей более тесно.
HuBERT-CTC: обучение на базе ASR-модели
Метод HuBERT-CTC использует уже обученную модель распознавания речи (ASR) как «учителя» на этапе предобучения. Ключевой компонент здесь — CTC (Connectionist Temporal Classification). Это функция потерь, которая позволяет обучать нейросети распознавать речь без необходимости выравнивать аудиосигнал по отдельным символам или фонемам.
Семейство моделей GigaAM: архитектура и метрики. Схема иллюстрирует процесс обучения — от базового предобучения до специализации под задачи распознавания речи (CTC, RNN-T) и эмоций. В таблицах приведено сравнение Word Error Rate с конкурентами (включая Whisper) и эволюция функциональных возможностей от первой до третьей версии.
Ниже приведено сравнение классического подхода и нашей модификации.
ХарактеристикаКлассический HuBERTHuBERT-CTC (наш подход)
Исходный энкодерУниверсальный SSL-энкодер.Энкодер, дообученный на задаче ASR с функцией потерь CTC.
Извлечение признаковИз промежуточных слоёв модели.С последнего слоя — чтобы максимально приблизить данные к задаче распознавания.
Основа для кластеризации«Сырые» признаки, сгруппированные методом k-means в дискретные токены.Представления, которые уже кодируют важную для распознавания фонетику и семантику.
Механика обученияВосстановление токенов на замаскированных участках (аналог Masked Language Modeling).Аналогично HuBERT: маскирование фреймов и восстановление токенов для скрытых участков.
Сравнение архитектур обучения. На схеме классического HuBERT (слева/сверху) признаки для кластеризации берутся из промежуточных слоёв модели. В подходе HuBERT-CTC (справа/снизу) используется энкодер, уже обученный распознавать речь (Supervised Encoder), а признаки извлекаются с последнего слоя. Это позволяет передать новой модели более точные фонетические знания «учителя».
Результаты экспериментов
Чтобы проверить эффективность подхода, мы провели probing-эксперимент. В этом тесте параметры энкодера замораживаются, а декодер дообучается на признаках с каждого слоя отдельно. Качество оценивается метрикой WER (Word Error Rate) — процентом слов, распознанных с ошибкой: чем ниже значение, тем лучше пространство признаков подходит для задачи.
Анализ эффективности слоёв (Probing). График показывает, как меняется качество распознавания (WER) на разных уровнях энкодера. У HuBERT-CTC (зелёные столбцы) ошибка снижается монотонно от первого слоя к последнему, что говорит о правильном формировании признаков. В то же время у классических подходов (синие столбцы) динамика нестабильна, и лучшие результаты часто достигаются в середине модели, а не на выходе.
Качество распознавания улучшается от нижних слоёв к верхним. Это отличает наш подход от метода BEST-RQ, где минимальный уровень ошибок часто достигается на средних слоях модели. Финальный WER после дообучения снижается примерно на 10% относительно чистого HuBERT, даже при использовании полного объёма размеченных данных.
Эффективность при разном объёме данных. Таблица демонстрирует зависимость качества распознавания (WER) от количества размеченных записей. HuBERT-CTC показывает наименьший уровень ошибок во всех сценариях, а разрыв с аналогами (BEST-RQ, Wav2vec2, классический HuBERT) становится наиболее заметным при сильном дефиците данных (0,1% выборки).
В сценариях с ограниченными ресурсами — когда доступно лишь 0,1%, 1% или 10% от всей разметки — преимущество метода становится ещё заметнее. Фактически происходит дистилляция знаний: мы передаём в SSL-модель информацию от уже обученного ASR-энкодера, но при этом используем огромные массивы неразмеченного аудио.
Масштабирование данных
Фундамент обучения модели — это данные. Для подготовки GigaAM-v3 мы существенно расширили объём неразмеченной выборки: примерно с 50 тысяч часов в предыдущей версии до 700 тысяч часов. Однако простого увеличения количества аудиозаписей недостаточно — критически важно их качество. Чтобы модель не обучалась на «тишине» или фоновом шуме, весь массив данных проходит предварительную обработку.
Основным инструментом фильтрации стал алгоритм обнаружения речевой активности (Voice Activity Detection, VAD). Он нарезает длинные аудиозаписи на минутные фрагменты и удаляет сегменты, в которых преобладает тишина. Мы также экспериментировали с более сложными методами семантической дедупликации (SemDeDup) и прунинга данных (Data Pruning — удаления малоинформативных примеров), но тесты показали, что они требуют значительных вычислительных ресурсов, при этом почти не влияя на финальное качество. Поэтому в итоговом пайплайне мы оставили VAD как наиболее эффективный фильтр.
Параллельно с неразмеченным массивом примерно в два раза — до 4000 часов — вырос и объём размеченной выборки. Здесь фокус сместился с простого масштабирования на диверсификацию доменов. Чтобы модель лучше справлялась с реальными сценариями использования, в обучающую выборку добавили сложные акустические условия и специфические типы речи.
Структура новых доменов в размеченной выборке
Тип данныхОбъём, часовОсобенности
Сложные тексты950Материалы, на которых другие модели часто совершали ошибки.
Спонтанная речь450Живой разговорный язык с паузами и сбивчивым ритмом.
Телефония350Записи звонков и разговоров с операторами колл-центров.
Зашумлённая речь110Голос на фоне музыки и посторонних звуков.
Синтез100Искусственно сгенерированная речь.
Речь с особенностями50Записи людей с нарушениями дикции и дефектами речи.
Благодаря такому балансу данных качество работы модели на открытых общепринятых датасетах (Golos, Common Voice, Russian LibriSpeech) осталось на высоком уровне, характерном для GigaAM-v2. При этом за счет добавления специфичных доменов модель стала работать значительно стабильнее в сложных сценариях, таких как расшифровка телефонных разговоров или распознавание речи с особенностями дикции.
От «сырого» текста к читаемому формату
Классические системы распознавания речи (ASR) обычно выдают транскрипцию в служебном формате: текст набран в нижнем регистре, знаки препинания отсутствуют, а числа и спецсимволы (вроде % или $) записаны словами. Такой формат удобен для обучения алгоритмов, но сложен для восприятия человеком. Для реальных бизнес-задач требуется текст, в котором расставлены запятые и точки, соблюдены заглавные буквы, а числительные и валюты записаны корректно.
Генерация данных с GigaChat Audio
Чтобы обучить модель сквозному распознаванию (End-to-End, когда нейросеть преобразует звук сразу в финальный текст), необходим большой объём аудиозаписей с идеальной транскрипцией. Подготовка такого параллельного корпуса вручную — трудоёмкий процесс, поэтому мы автоматизировали его с помощью GigaChat Audio.
Разметка end-to-end данных с GigaChat Audio
Для восстановления пунктуации и нормализации текста мы использовали именно аудиомодель. Опора на звуковую дорожку позволяет алгоритму слышать интонации, паузы и вопросительные акценты, что повышает точность расстановки знаков препинания по сравнению с чисто текстовым анализом.
Процесс подготовки данных:
  1. На вход подаётся аудиозапись и исходная «сырая» транскрипция из обучающего датасета.
  2. GigaChat Audio получает промпт с инструкциями по форматированию. Мы используем метод in-context learning — добавляем в контекст запроса 10 эталонных примеров выполнения задачи. Это помогает модели лучше понять требуемый формат вывода.
  3. На выходе формируется текст с корректной пунктуацией, регистрами и оформлением чисел.
Как и любая генеративная модель, GigaChat Audio может допускать неточности или «галлюцинации». Чтобы исключить попадание артефактов в обучающую выборку, мы внедрили систему фильтрации:
  • Контроль длины. Сравниваем объём входного и выходного текста. Модель не должна дописывать лишние фразы или слишком сильно сокращать оригинал.
  • Проверка алфавита. Исключаем любые символы, не входящие в разрешённый список (например, эмодзи).
  • Очистка от тегов. Удаляем Markdown-разметку и служебные пометки вроде «(тишина)».
  • Логическая согласованность. Если в нормализованном тексте появляется символ «%», проверяем, было ли в оригинале слово «процент».
  • Мониторинг метрик. Отслеживаем CER (Character Error Rate) — долю ошибок на уровне символов.
Альтернативный подход: Forced Decoding
Мы сравнили наш метод с технологией Whisper Forced Decoding. Это способ принудительного декодирования, когда модель заставляют генерировать текст, строго соответствующий референсу, но с добавлением знаков препинания.
У этого метода есть плюс: метрика ошибок слов (WER) гарантированно не ухудшается, так как сам лексический состав фразы не меняется. Однако есть и недостатки: снижается разнообразие вариантов нормализации, а качество расстановки знаков препинания оказывается ниже, чем при использовании полноценной LLM.
Результаты сравнения на внутренних данных представлены в таблице. Для тестов использовались модели двух архитектур: CTC (Connectionist Temporal Classification — классический подход без выравнивания) и RNN-T (Recurrent Neural Network Transducer — архитектура для потокового распознавания).
Сравнение качества пунктуации и метрик моделей
Метод нормализацииF1 (запятая)F1 (точка)F1 (вопрос)WER, %CER, %
GigaChat Audio (Полная)84,285,674,918,410,9
Whisper Punctuator62,285,077,70,00,0
GigaAM (обучение на Whisper)50,384,177,712,07,8
GigaAM-e2e-CTC (Полная)83,786,778,616,08,7
GigaAM-e2e-RNNT (Полная)84,586,779,814,28,8
F1 — метрика точности (чем выше, тем лучше), WER и CER — метрики ошибок (чем ниже, тем лучше).
Модели GigaAM-v3 и методика оценки качества
В линейке GigaAM-v3 доступны четыре модели. Мы сохранили быстрые версии с архитектурой CTC и более точные RNN-T. Теперь каждая из них представлена и в формате End-to-End с BPE-токенизацией (Byte Pair Encoding) — алгоритмом, который разбивает слова на часто встречающиеся подслова. Все модели базируются на едином энкодере HuBERT-CTC, а различия заключаются в декодерах, используемых данных и функции потерь при дообучении.
На публичных бенчмарках (Golos, Common Voice, Russian LibriSpeech) семейство GigaAM ещё во второй версии опережало открытые аналоги по метрике WER (Word Error Rate — процент ошибок в словах). Третья версия сохраняет лидерство на этих данных и показывает прирост качества в среднем на 30% на новых доменах.
Однако классический WER не всегда объективен, когда речь идёт о нормализации текста. Эталонная разметка в датасетах часто не содержит знаков препинания и заглавных букв, тогда как наши End-to-End модели генерируют полноценный читаемый текст. Формально это увеличивает количество отличий от референса и ухудшает метрику, хотя результат становится более ценным для реальных бизнес-задач. Поэтому для финальной оценки мы используем две группы метрик.
Word Error Rate с постобработкой
Чтобы корректно сравнить модели между собой и с конкурентами, мы приводим все транскрипции к единому «сырому» виду. С удалением пунктуации и приведением к нижнему регистру сложностей не возникает, но для остальных категорий требуются правила обратной нормализации:
  • Числительные. Это самый массивный пласт данных. Простые числа («42» → «сорок два») конвертируются библиотеками. Для падежных форм («2-го» → «второго») и специальных случаев («00» → «ноль ноль», «4K» → «четыре ка») мы используем ручные правила замены.
  • Англицизмы. Универсального алгоритма нет, поэтому мы провели частотный анализ. Слова, которые встречаются в тестовых сетах не менее 10 раз, заменяются на кириллические аналоги: «youtube» → «ютуб», «sms» → «смс».
  • Междометия и дефисы. End-to-End модели могут добавлять речевые артефакты («э-э-э»), которые мы удаляем. Дефисы в неопределённых местоимениях чаще всего целесообразно заменять на пробел («какие-то» → «какие то»).
Сокращения. Расшифровываем стандартные аббревиатуры: «кг» → «килограмм», «км» → «километров».
Даже с учётом этих правил End-to-End модели оказываются в менее выгодном положении при расчёте WER. Например, для датасета Golos Crowd постобработка снижает ошибку модели GigaAM-e2e-RNNT с 15,2% до 9,1%, но разрыв с «чистыми» акустическими моделями сохраняется из-за нюансов генерации:
  • Исправление ошибок. Модель может автоматически исправлять грамматику говорящего (например, «четыре реалов» → «четыре реала»). С точки зрения русского языка это плюс, но WER считает это ошибкой.
  • Терминология и синонимы. Из-за BPE-токенизации могут искажаться редкие названия городов, а иногда модель заменяет слова на синонимы («суперспособность» → «суперсила»).
Сравнение Word Error Rate (WER) на русскоязычных доменах
Датасетv3 CTCv3 RNNTe2e CTCe2e RNNTT-One + LMWhisper
Golos Farfield4,53,96,15,512,216,4
Golos Crowd2,82,49,79,15,719,0
Russian LibriSpeech4,74,46,46,46,29,4
MCV 191,30,93,23,05,25,4
Natural Speech7,86,99,68,514,513,4
Disordered Speech20,619,222,823,151,058,6
Callcenter10,39,513,312,613,523,1
Average7,46,710,29,715,520,8
Выходы End-to-End моделей прошли процедуру постобработки.
Оценка с помощью LLM-as-a-judge
Чтобы оценить реальное качество транскрипции без оглядки на форматирование, мы использовали метод LLM-as-a-judge («LLM как судья»). В роли арбитра выступила модель Gemini 2.5 Pro. Она получает аудиозапись и два варианта текста, после чего выбирает лучший, игнорируя пунктуационные и регистровые различия.
Для объективности сравнения мы настроили процесс валидации:
  • Анонимизация. Порядок подачи транскрипций (t1 и t2) рандомизируется, чтобы исключить предвзятость модели к первому или второму варианту (position bias).
  • Специфичные инструкции. Промпт учитывает особенности русского языка (например, корректное использование буквы «ё») и допустимые вариации в оформлении.
  • Фильтрация «галлюцинаций». Иногда модель-судья может придумывать несуществующие ошибки. Мы добавили инструкции для обработки идентичных транскрипций и фильтруем ответы, где аргументация модели противоречит фактам.
Сравнение качества с Whisper. На гистограммах приведены результаты «слепого» голосования, где LLM-арбитр выбирала лучшую транскрипцию. Модели GigaAM (столбцы ctc и rnnt) побеждают Whisper (левый столбец) в подавляющем большинстве случаев, особенно на сложных доменах вроде колл-центров и спонтанной речи.
Результаты попарного сравнения (Side-by-Side) показали, что GigaAM-v3 уверенно опережает Whisper-large-v3 на русскоязычных датасетах. Это подтверждает, что, несмотря на усложнение данных и новые домены, качество распознавания выросло не только формально, но и фактически.
Архитектурные решения
В финальной версии GigaAM-v3 мы приняли ряд решений, касающихся размера нейросети и токенизации. Ниже опишем эксперименты, которые обосновывают этот выбор.
Размер модели: 220M против 600M
С ростом объёма обучающих данных и расширением списка доменов логично предположить, что увеличение ёмкости модели повысит качество. Мы проверили эту гипотезу, сравнив переход от базовой архитектуры на 220 миллионов параметров к версии на 600 миллионов.
Результаты показали, что увеличение размера не всегда оправдано:
  • Классические модели (CTC и RNN-T). Прирост качества составил около 10% относительно версии на 220M. Однако скорость работы при этом упала более чем в два раза. Мы посчитали, что такое замедление не компенсируется полученным выигрышем в точности.
  • End-to-End модели. Для версии RNN-T разница в метрике WER оказалась незначительной — около 5%. Поскольку автоматические метрики не всегда дают полную картину, мы провели дополнительное попарное сравнение (Side-by-Side). Оно подтвердило, что на большинстве доменов модели работают с сопоставимым качеством.
Принцип работы HuBERT-CTC. Схема показывает модифицированный процесс обучения: вместо сырых признаков используются представления с последнего слоя уже обученного ASR-энкодера (Supervised Encoder). Это позволяет формировать более качественные кластеры для обучения модели восстанавливать скрытые участки речи.
В итоге для релиза мы сохранили более компактную и быструю архитектуру на 220 миллионов параметров.
Размер токенизатора
Для End-to-End моделей мы используем BPE-токенизацию. Это необходимо, так как даже базовый посимвольный словарь (русский и английский алфавиты в двух регистрах, цифры, знаки препинания) уже занимает около 150 позиций. Словарь формировался алгоритмом Unigram, и нам предстояло выбрать его оптимальный размер. Мы протестировали значения в диапазоне от 160 до 2048 токенов.
Архитектура HuBERT-CTC. Диаграмма иллюстрирует процесс обучения с использованием «учителя». В этой роли выступает Supervised Encoder (справа), который предварительно обучается на транскрипциях с функцией потерь CTC. Признаки для кластеризации извлекаются с его последнего слоя, благодаря чему целевые токены содержат уже сформированную фонетическую информацию, необходимую для точного распознавания.
Результаты тестов:
  • Архитектура RNN-T. При расширении словаря от 160 до 2048 токенов качество распознавания плавно снижалось (WER вырос примерно на 5%). Однако здесь критически важна скорость: декодирование при 1024 токенах происходит до двух раз быстрее, чем при 160, и почти не меняется при дальнейшем увеличении до 2048. Мы остановились на значении 1024, так как оно обеспечивает лучший баланс между производительностью и точностью.
  • Архитектура CTC. Здесь размер словаря практически не влияет на скорость инференса, но тенденция к снижению качества при увеличении словаря сохраняется. Варианты на 160 и 256 токенов показали идентичные результаты. Для финальной версии мы выбрали размер 256.
Как запустить GigaAM-v3
Модели распространяются под открытой лицензией MIT. Веса и примеры запуска (инференса) опубликованы в репозитории на GitHub.
Установка
Для работы потребуются:
  • Python версии 3.10 или выше;
  • установленная библиотека ffmpeg (должна быть доступна в системной переменной PATH).
Команды для установки:
git clone https://github.com/salute-developers/GigaAM.git
cd GigaAM
pip install -e .
Пример использования
import gigaam
model = gigaam.load_model("e2e_rnnt")
text = model.transcribe("example.wav")
print(text)
Заключение
Выпуск GigaAM-v3 задаёт новый базовый уровень для систем распознавания русской речи. В этой работе мы подтвердили несколько гипотез:
  • Масштабирование работает. Увеличение объёма неразмеченных данных до сотен тысяч часов в сочетании с грамотным подбором доменов (колл-центры, зашумлённая речь) даёт ощутимый прирост качества.
  • Синтетические данные эффективны. Использование LLM (GigaChat Audio) для восстановления пунктуации позволяет обучать End-to-End модели, которые выдают читаемый текст без серьёзного ущерба для классических метрик вроде WER.
  • Нужны новые методы оценки. Подход LLM-as-a-judge обеспечивает более объективное сравнение моделей, когда результат содержит знаки препинания и нормализацию, которые отсутствуют в эталонной разметке.
Мы продолжаем публиковать веса моделей в открытом доступе. Это делает качественный ASR доступным не только для крупных технологических компаний, но и для независимых исследователей и небольших команд. В проектах, где уже используется Whisper, можно протестировать GigaAM-v3, чтобы оценить изменение метрик и качества транскрипции.
При развитии архитектуры мы учитываем запросы сообщества. В новой версии убраны зависимости от фреймворка NeMo, добавлена поддержка конвертации в формат ONNX и восстановление пунктуации, а сами модели размещены на платформе Hugging Face.
Мы открыты к обратной связи: будем рады вопросам, сообщениям об ошибках и результатам тестирования на собственных данных.

Присоединяйся
к команде Сбера

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.