WER — метрика ошибок распознавания речи. По ссылке доступны определения WER, micro-WER, медианы WER и среднего WER.
В базовом исследовании мы изучили ASR для русской речи. Но Россия — многоязычная страна. Для этого обзора мы выбрали ещё шесть языков, которые имеют государственный статус на уровне республик России. Число владеющих каждым из них превышает миллион человек или близко к этой отметке.
Для всех шести языков есть компоненты Meta MMS, а отдельные модели на Hugging Face — для татарского, башкирского, украинского и чувашского. Их заявленные WER получены на разных корпусах и не образуют рейтинг; на своём стенде мы измерили только faster-whisper large-v3 на татарском.
Источники данных и ограничения сравнения
Почти все значения WER/CER ниже взяты из карточек моделей и документации движков. Это заявленные результаты, и они несопоставимы между собой: использовались разные версии Common Voice (CV7, CV8, CV10, CV11, CV12), тестовые выборки и условия нормализации. Мы не проверяли эти значения на своём стенде. Самостоятельно мы измеряли только татарский на локальном faster-whisper large-v3.
Вот ещё два правила, которых я придерживаюсь:
- Дату последнего обновления модели я не использую как признак качества. Во многих карточках она не указана, а сама по себе дата ничего не говорит о результате распознавания.
- Заявленная поддержка не означает, что задача распознавания языка решена или что движок готов к практическому использованию. Поэтому далее указано только, заявлен ли язык и проверяли ли мы его на своём стенде.
Какие языки берём
В обзор вошли шесть государственных языков республик РФ. Во всех строках используем графу «Численность лиц, владеющих соответствующим языком» из таблицы 4 тома 5 итогов ВПН-2020 Росстата; перепись проведена в 2021 году.
| Язык | Владеющих языком | Республика | Примечание |
|---|---|---|---|
| Татарский | 3 261 155 | Татарстан | |
| Чеченский | 1 493 748 | Чечня | |
| Башкирский | 1 086 423 | Башкортостан | |
| Украинский | 627 106 | Крым | в 2010 году — около 1,13 млн; государственный язык Республики Крым |
| Чувашский | 700 222 | Чувашия | |
| Аварский | 654 363 | Дагестан |
Какие языки официально поддерживают восемь движков
В этом разделе учитывается только официально заявленная поддержка. В таблице два статуса: заявлено — язык прямо указан в документации или списке поддерживаемых; не заявлено — язык не указан ни у одного из восьми выбранных движков. Отказ API OpenAI принять запрос с language=tt и наш замер татарского на локальном faster-whisper разобраны отдельно ниже.
В обзор вошли восемь движков: GigaAM v3 (Сбер), faster-whisper / Whisper OSS, OpenAI whisper-1, OpenAI gpt-realtime-whisper, Deepgram nova-3, Yandex SpeechKit v3, Sber SaluteSpeech и Nexara. Пометки «не заявлено» и «не нашли» относятся только к этой восьмёрке, а не ко всему рынку ASR.
| Язык | Официальная поддержка в восьми движках |
|---|---|
| Украинский | Заявлено у whisper-1, Deepgram nova-3, faster-whisper/Whisper (в токенайзере и документации) и Nexara. Это единственный из шести языков, широко заявленный среди нашей восьмёрки |
| Татарский | Заявлено у Nexara; документация whisper-1 отсылает к списку языков Whisper, где есть tt. При нашей проверке облачные API OpenAI отклонили явный параметр language=tt; локальный Whisper/faster-whisper его принял |
| Башкирский | Заявлено у Nexara; документация whisper-1 отсылает к списку Whisper, где есть ba. Облачный API с language=ba и качество распознавания мы не проверяли |
| Чеченский | Не заявлено ни у одного из восьми выбранных движков; языка нет и в токенайзере Whisper (ce отсутствует) |
| Аварский | Не заявлено ни у одного из восьми выбранных движков; языка нет и в токенайзере Whisper (av отсутствует) |
| Чувашский | Не заявлено ни у одного из восьми выбранных движков; языка нет и в токенайзере Whisper (cv отсутствует) |
Среди нашей восьмёрки Yandex, Sber, GigaAM и Deepgram не заявляют ни чеченский, ни аварский, ни чувашский.
API OpenAI отклоняют запрос с явно указанным татарским языком (language=tt), но это не исключает попытку распознавания при автоматическом определении языка. Мы этот режим не проверяли и не знаем его качества. Проверка показывает только, что татарский нельзя передать в облачный API как явный параметр language.
Чем локальный Whisper отличается от облачных API OpenAI
Документация OpenAI для whisper-1 отсылает к списку языков Whisper, где есть татарский. Локальный faster-whisper принимает код tt: мы запускали его на собственном стенде. Однако облачные API OpenAI при нашей проверке отклонили явное указание татарского. Поэтому отдельно фиксируем и документацию, и фактический ответ API; качество автоматического определения языка мы не проверяли.
Наш замер: татарский на локальном faster-whisper large-v3
В выборку вошли 60 записей корпуса TatSC общей длительностью около 5,75 минуты; seed=42. Все 60 записей обработаны без ошибок. Запуск выполнялся на CPU с int8.
| Метрика | Значение |
|---|---|
| WER нормализованный, медиана | 95% |
| WER нормализованный, micro | 92% |
| CER нормализованный, медиана | 34% |
| CER нормализованный, micro | 33% |
| Время выполнения | около 41 мин (RTF 7,17) |
| Стоимость | Плата провайдеру — 0 $ (локальный запуск) |
WER считается как число операций редактирования на 100 эталонных слов, а не как буквальная «доля неверных слов». Медианный WER составил 95%, micro-WER — 92%. Micro-CER 33% означает, что число символьных замен, удалений и вставок равно 33% от числа символов в эталоне; это не доля «угаданных» символов. CER и WER измеряются в разных единицах — символах и словах — и напрямую не сопоставимы.
Эти значения нельзя обобщать на другие движки, языки или конфигурации Whisper. Они относятся к одной модели и одному корпусу. Замер показывает на конкретном примере, что наличие языка в токенайзере ещё не гарантирует приемлемого качества распознавания.
На момент замера нам не удалось подтвердить лицензию корпуса TatSC по первоисточнику. Поэтому мы не публикуем сам корпус, аудио или производные клипы, а приводим только агрегатные результаты внутренней оценки с обязательным цитированием авторов TatSC (ISSAI; Mussakhojayeva et al., ICAIIC-2024).
Модели с открытыми весами на Hugging Face
Для четырёх языков мы нашли отдельные дообученные модели с открытыми весами. В выборку также вошла одна чувашская модель, веса которой доступны только по заявке. Все значения WER взяты из карточек моделей: мы не проверяли их на своём стенде, а напрямую сравнивать результаты нельзя из-за разных версий Common Voice и тестовых выборок. Таблицы перечисляют кандидатов для будущей проверки, но не ранжируют их по качеству. Лицензии указаны по метаданным карточек и не служат юридической гарантией применимости.
Татарский
| Модель | Лицензия | Заявленный WER | Корпус в карточке |
|---|---|---|---|
| infinitejoy/wav2vec2-large-xls-r-300m-tatar | Apache-2.0 | 24,39% | CV7 |
| anton-l/wav2vec2-large-xlsr-53-tatar | Apache-2.0 | 26,76% | CV |
| 501Good/whisper-small-tt | Apache-2.0 | 29,14% | CV11 |
Корпус для татарского: TatSC (269 ч, issai/TatSC). Этот корпус мы использовали для замера faster-whisper. Есть также модель Söyle (Whisper-medium) на GitHub IS2AI/Soyle; её WER приведён только в статье ICAIIC-2024, а в карточке модели значения нет, поэтому модель не включена в таблицу.
Башкирский
| Модель | Лицензия | Заявленный WER | Корпус в карточке |
|---|---|---|---|
| sammy786/wav2vec2-xlsr-bashkir | Apache-2.0 | 11,32% (без LM) | CV8 |
| AigizK/wav2vec2-large-xls-r-300m-bashkir-cv7_opt | Apache-2.0 | 8,56% (без LM); 4,44% с внешним LM-декодером KenLM | CV7 |
| AigizK/bashkir-whisper-small | Apache-2.0 | 15,07% | CV11 |
У AigizK/wav2vec2-large-xls-r-300m-bashkir-cv7_opt WER 4,44% получен только с отдельным внешним языковым декодером KenLM; без него результат составляет 8,56%. Это разные конфигурации системы.
Украинский
| Модель | Лицензия | Заявленный WER | Корпус / рантайм |
|---|---|---|---|
| nvidia/stt_uk_citrinet_1024_gamma_0_25 | CC-BY-4.0 | 5,02% | CV10, требует NeMo |
| nvidia/stt_ua_fastconformer_hybrid_large_pc | CC-BY-4.0 | 5,66% | CV12, NeMo |
| theodotus/stt_ua_fastconformer_hybrid_large_pc | MIT | 7,1% | NeMo |
| Yehor/w2v-bert-uk | Apache-2.0 | 6,6% | CV10, transformers-native |
| anuragshas/whisper-large-v2-uk | Apache-2.0 | 10,04% | CV11 |
Для украинского мы нашли больше всего моделей — пять вариантов с лицензиями без NC (Apache/MIT/CC-BY — по метаданным карточек, без юридической гарантии). Лучшие заявленные результаты принадлежат моделям NVIDIA. Для их запуска требуется NeMo и отдельная инфраструктура; одного transformers недостаточно.
Чувашский
| Модель | Лицензия | Заявленный WER | Корпус |
|---|---|---|---|
| SpeechCollector/whisper-chuvash-turbo (веса доступны по заявке) | CC-BY-NC-4.0 (некоммерч.) | 16,02% | CV |
| sammy786/wav2vec2-xlsr-chuvash | Apache-2.0 | 27,81% | CV8 |
| anton-l/wav2vec2-large-xlsr-53-chuvash | Apache-2.0 | 40,01% | CV |
Лучший заявленный WER — 16,02%, но веса этой модели доступны только по заявке, а лицензия CC-BY-NC-4.0 разрешает лишь некоммерческое использование. Варианты без NC есть, однако заявленные результаты у них заметно хуже.
Чеченский и аварский
Отдельного репозитория с ASR-моделью и независимой оценкой для этих двух языков мы не нашли. При этом для facebook/mms-1b-all доступны адаптеры che и ava по некоммерческой лицензии CC-BY-NC-4.0, но опубликованной оценки WER у них нет.
Наличие адаптеров означает, что обучение не придётся начинать с нуля. Однако отдельной оценённой модели мы не нашли. CC BY-NC 4.0 разрешает использование только в некоммерческих целях; для коммерческого использования нужно отдельное разрешение правообладателя.
Многоязычные модели
| Модель | Доступные языковые компоненты | Лицензия | Ограничения |
|---|---|---|---|
Meta MMS (facebook/mms-1b-all) | адаптеры 6/6 | CC-BY-NC-4.0 | единственная модель с адаптерами под чеченский, аварский и чувашский; качество мы не измеряли; для коммерческого использования нужно отдельное разрешение |
| Whisper (OpenAI OSS) | токены 3/6 (tt, ba, uk) | MIT | сама модель Whisper и порт faster-whisper (CTranslate2) — под MIT; татарский и башкирский — только в токенайзере, результат для татарского приведён в разделе «Наш замер» |
У MMS есть адаптеры под все шесть языков. Это единственная найденная нами модель с адаптерами под чеченский, аварский и чувашский. Их качество мы не измеряли. CC BY-NC 4.0 разрешает использование только в некоммерческих целях; для коммерческого использования нужно отдельное разрешение правообладателя.
Выводы
- Среди восьми рассмотренных движков поддержка шести выбранных языков ограничена. Украинский заявлен в нескольких системах. Татарский и башкирский указаны в документации Nexara и в списке языков Whisper, к которому отсылает документация whisper-1. При нашей проверке облачные API OpenAI отклонили явный параметр
language=tt. Чеченский, аварский и чувашский не заявлены ни у одного из восьми движков и отсутствуют в токенайзере Whisper. - Модели с открытыми весами лишь частично расширяют поддержку этих языков. Для украинского мы нашли пять моделей с лицензиями без NC по метаданным карточек. Для башкирского, татарского и чувашского есть по несколько дообученных моделей. Лучший заявленный результат для чувашского получен на модели под лицензией NC, веса которой доступны только по заявке. Для чеченского и аварского доступны только MMS-адаптеры без опубликованной оценки WER и с некоммерческой лицензией.
- У многоязычной модели MMS есть адаптеры под все шесть языков. Их качество мы не измеряли, а для коммерческого использования потребуется отдельное разрешение.
Самостоятельно мы измерили только татарский на локальном faster-whisper large-v3: медианный WER составил 95%, micro-WER — 92%. Наличие языка в модели ещё не гарантирует приемлемого качества распознавания. Остальные значения WER/CER в таблицах заявлены разработчиками моделей и несопоставимы между собой.
Следующий шаг — протестировать модели с открытыми весами из раздела Hugging Face на одном корпусе и в одинаковых условиях. Чувашскую модель SpeechCollector можно добавить после получения доступа. До такого прогона строить рейтинг качества нельзя: собранные данные показывают наличие поддержки, а качество дообученных моделей ещё предстоит измерить.
Источники
- Численность людей, владеющих языками: ВПН-2020, том 5, таблица 4 — Росстат.
- Корпус татарского: issai/TatSC (269 ч). Обязательное цитирование: Mussakhojayeva et al., «Noise-Robust Multilingual Speech Recognition and the Tatar Speech Corpus», ICAIIC 2024, DOI 10.1109/ICAIIC60209.2024.10463419 (цитирование не подтверждает лицензию). Модель Söyle: IS2AI/Soyle.
- Модели Hugging Face (татарский): infinitejoy/wav2vec2-large-xls-r-300m-tatar · anton-l/wav2vec2-large-xlsr-53-tatar · 501Good/whisper-small-tt
- Модели (башкирский): sammy786/wav2vec2-xlsr-bashkir · AigizK/wav2vec2-large-xls-r-300m-bashkir-cv7_opt · AigizK/bashkir-whisper-small
- Модели (украинский): nvidia/stt_uk_citrinet_1024_gamma_0_25 · nvidia/stt_ua_fastconformer_hybrid_large_pc · theodotus/stt_ua_fastconformer_hybrid_large_pc · Yehor/w2v-bert-uk · anuragshas/whisper-large-v2-uk
- Модели (чувашский): SpeechCollector/whisper-chuvash-turbo (веса доступны по заявке) · sammy786/wav2vec2-xlsr-chuvash · anton-l/wav2vec2-large-xlsr-53-chuvash
- Многоязычные модели: facebook/mms-1b-all (адаптеры
che,ava) · Whisper (OpenAI) - Движки: Yandex SpeechKit · Sber SaluteSpeech · Nexara · Deepgram · OpenAI Speech-to-Text · список языков Whisper
- Предыдущее исследование по русскому: «В нашем тесте лучший движок распознавания русской речи оказался открытым и локальным»