Открытые модели для распознавания русской речи

Мы протестировали доступные модели для распознавания русской речи на различных наборах данных. Интересных моделей довольно много, каждая со своими особенностями.

Dataset Vosk Small Vosk Big Nvidia RNNT Large Whisper Medium Whisper Adapted Medium Whisper Adapted Large HF Wav2VecLM
Аудиокниги АЦ 17.8 5.4 8.2 8.6 8.9 7.5 11.9
Аудиокниги Silero 21.1 12.1 13.6 19.9 15.2 14.9 19.8
CommonVoice 12.0 21.8 8.7 5.8 10.4 9.6 7.9 7.5
Golos Crowd 10.1 8.6 2.8 22.6 20.8 19.1 10.1
Golos Farfield 21.6 15.8 7.9 27.4 25.9 17.0 18.6
Sova устройства 28.9 18.5 6.6 18.5 19.2 16.3 27.0
Youtube Silero 31.0 20.1 19.4 20.8 15.7 - -
Команды Яндекса 16.8 12.0 4.0 30.2 21.7 22.4 -
Звонки Silero 49.9 37.0 28.9 32.0 29.0 28.0 41.1
Звонки заказы 43.0 27.8 23.0 37.1 35.5 35.8 38.6
Звонки поддержка 44.9 31.8 24.3 35.3 29.6 28.4 36.3

Ссылки на модели:

Скорость декодирования на сервере. Большинство моделей тестировались на GPU GTX1080 8Gb на сервере i7 с 8 ядрами. Скорость Воска на CPU на 8 параллельных потоках. Указана скорость xRT.

  Vosk Small Vosk Big Nvidia RNNT Large Whisper Medium Whisper Adapted Medium Whisper Adapted Large HF Wav2VecLM
xRT 0.056 0.12 0.01 0.61 0.15 0.32 0.24

Результаты:

  • Nemo RNNT очень быстрый и довольно точный
  • Vosk начитанный
  • Whisper не очень хорошо работает для русского и его тяжело дообучить. Тем не менее на Silero он дообучился.
  • Whisper медленный, но даже на старой карте вполне удовлетворительный. Когда-то давно 10xRT считалось хорошей скоростью распознавания.
  • Wav2Vec переобучен на CommonVoice, в целом модель не очень хороша. Имеет смысл попробовать его с другой моделью языка, может будет получше.

Пишите, если знаете о хорошей модели, которую можно протестировать