模型:
nvidia/stt_ru_conformer_transducer_large
| | |
该模型将语音转录为小写的西里尔字母,包括空格,训练数据包括约1636小时的俄语语音数据。它是Conformer的非自回归“大”变体,具有约1.2亿个参数。有关完整的体系结构详细信息,请参见 NeMo documentation 。
该模型可用于 NeMo 工具包[3]中,可用作预训练的检查点进行推断或在其他数据集上进行微调。
要训练、微调或使用该模型,需要安装 NVIDIA NeMo 。我们建议在安装最新的 PyTorch 版本后再安装它。
pip install nemo_toolkit['all']
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained("nvidia/stt_ru_conformer_transducer_large")
只需执行以下操作:
asr_model.transcribe(['<your_audio>.wav'])
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py pretrained_name="nvidia/stt_ru_conformer_transducer_large" audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
该模型接受16 kHz 单声道音频(wav 文件)作为输入。
该模型为给定音频样本提供转录的语音字符串。
Conformer-Transducer 模型是Conformer模型[1]的一种自回归变体,用于自动语音识别,使用了转录器损失/解码。有关该模型的详细信息,请参见 Conformer-Transducer Model 。
使用 NeMo 工具包[3] 对模型进行了数百个 epoch 的训练。这些模型是使用此 example script 和此 base config 进行训练的。
我们使用的词汇表包含 33 个字符:
[' ', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
在预处理过程中,稀有带变音符号的符号被替换。
这些模型的分词器是使用训练集的文本转录进行构建的,使用了此 script 。
此系列中的所有模型都是使用组合数据集(NeMo ASRSET)进行训练的,该数据集包含超过1000小时的俄语语音:
此集合中可用模型的列表如下表所示。ASR 模型的性能以词错误率(WER%)进行报告,使用贪婪解码进行解码。
Version | Tokenizer | Vocabulary Size | MCV 10.0 dev | MCV 10.0 test | GOLOS-crowd test | GOLOS-farfield test | RuLS test | Train Dataset |
---|---|---|---|---|---|---|---|---|
1.13.0 | SentencePiece Unigram | 1024 | 3.5 | 4.0 | 2.7 | 7.6 | 12.0 | NeMo ASRSET |
由于该模型是使用公开可用的语音数据集进行训练的,因此对于包含技术术语或模型未经训练的方言的语音,该模型的性能可能会降低。对于带有口音的语音,模型的性能也可能较差。
NVIDIA Riva 是一种加速的语音 AI SDK,可在本地部署,在所有云端、多云端、混合云、边缘和嵌入式设备上部署。此外,Riva 还提供以下功能:
虽然此模型目前尚不受 Riva 支持,但可以使用 list of supported models is here 进行自定义部署。请查看 Riva live demo 。