语言:
- 俄语
库名称: nemo
数据集:
- mozilla-foundation/common_voice_10_0
- SberDevices/Golos
- Russian-LibriSpeech
- SOVA-Dataset
标签:
- 自动语音识别
- 语音
- 音频
- CTC
- Conformer
- Transformer
- pytorch
- NeMo
- hf-asr-leaderboard
- Riva
许可证: cc-by-4.0
模型索引:
- 名称: stt_ru_conformer_ctc_large
结果:
- 任务:
类型: 自动语音识别
名称: 语音识别
数据集:
名称: Mozilla Common Voice 10.0
类型: mozilla-foundation/common_voice_10_0
配置: ru
分割: test
参数:
语言: ru
指标:
- 名称: 测试WER
类型: wer
值: 4.28
- 任务:
类型: 自动语音识别
名称: 自动语音识别
数据集:
名称: Mozilla Common Voice 10.0
类型: mozilla-foundation/common_voice_10_0
配置: ru
分割: dev
参数:
语言: ru
指标:
- 名称: 开发集WER
类型: wer
值: 3.94
- 任务:
类型: 自动语音识别
名称: 自动语音识别
数据集:
名称: Sberdevices Golos (crowd)
类型: SberDevices/Golos
配置: crowd
分割: test
参数:
语言: ru
指标:
- 名称: 测试WER
类型: wer
值: 2.77
- 任务:
类型: 自动语音识别
名称: 自动语音识别
数据集:
名称: Sberdevices Golos (farfield)
类型: SberDevices/Golos
配置: farfield
分割: test
参数:
语言: ru
指标:
- 名称: 测试WER
类型: wer
值: 7.15
- 任务:
类型: 自动语音识别
名称: 自动语音识别
数据集:
名称: Russian LibriSpeech
类型: RuLS
配置: ru
分割: test
参数:
语言: ru
指标:
- 名称: 测试WER
类型: wer
值: 13.60
NVIDIA Conformer-CTC 大型(俄语)
|
|
| 
该模型将语音转录为包含空格的小写西里尔字母,并在约1636小时的俄语语音数据上进行训练。它是Conformer的非自回归“大型”变体,约有1.2亿参数。完整架构细节请参见模型架构部分和NeMo文档。
使用方式
该模型可在NeMo工具包[3]中使用,并可作为预训练检查点用于推理或对其他数据集进行微调。
要训练、微调或使用该模型,您需要安装NVIDIA NeMo。建议在安装最新版PyTorch后安装。
pip install nemo_toolkit['all']
自动实例化模型
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained(model_name="stt_ru_conformer_ctc_large")
使用Python转录
只需执行:
output = asr_model.transcribe(['sample.wav'])
print(output[0].text)
转录多个音频文件
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_ru_conformer_ctc_large"
audio_dir="<包含音频文件的目录>"
输入
该模型接受16 kHz单声道音频(wav文件)作为输入。
输出
该模型为给定音频样本提供转录后的语音字符串。
模型架构
Conformer-CTC模型是Conformer模型[1]的非自回归变体,用于自动语音识别,使用CTC损失/解码而非Transducer。更多详细信息请参见:Conformer-CTC模型。
训练
NeMo工具包[3]用于训练这些模型超过数百个epoch。这些模型使用此示例脚本和此基础配置进行训练。
这些模型的分词器是使用训练集的文本转录通过此脚本构建的。
我们使用的词汇表包含33个字符:
[' ', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
预处理过程中替换了带有变音符号的稀有符号。
这些模型的分词器是使用训练集的文本转录通过此脚本构建的。
数据集
本集合中的所有模型均在包含超过一千小时俄语语音的复合数据集(NeMo ASRSET)上训练:
- Mozilla Common Voice 10.0(俄语)- 训练子集[28小时]
- Golos - crowd[1070小时]和fairfield[111小时]子集
- Russian LibriSpeech(RuLS)[92小时]
- SOVA - RuAudiobooksDevices[260小时]和RuDevices[75小时]子集
性能
下表显示了本集合中可用模型的列表。ASR模型的性能以贪婪解码的词错误率(WER%)报告。
版本 |
分词器 |
词汇表大小 |
MCV 10.0开发集 |
MCV 10.0测试集 |
GOLOS-crowd测试集 |
GOLOS-farfield测试集 |
RuLS测试集 |
训练数据集 |
1.13.0 |
SentencePiece Unigram |
128 |
3.94 |
4.28 |
2.77 |
7.15 |
13.60 |
NeMo ASRSET |
限制
由于该模型是在公开可用的语音数据集上训练的,对于包含技术术语或模型未训练过的方言的语音,其性能可能会下降。对于带有口音的语音,模型的表现也可能较差。
使用NVIDIA Riva部署
为了获得最佳的实时准确性、延迟和吞吐量,请使用NVIDIA Riva部署该模型,这是一个可部署在本地、所有云、多云、混合云、边缘和嵌入式设备上的加速语音AI SDK。此外,Riva还提供:
- 针对最常见语言的全球领先开箱即用准确性,模型检查点基于专有数据训练,耗费数十万GPU计算小时
- 通过运行时词增强(例如品牌和产品名称)以及声学模型、语言模型和逆文本归一化的定制,实现最佳准确性
- 流式语音识别、兼容Kubernetes的扩展和企业级支持
查看Riva实时演示。
参考文献