模型:
nvidia/stt_ru_conformer_ctc_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.EncDecCTCModelBPE.from_pretrained(model_name="stt_ru_conformer_ctc_large")
只需执行以下操作:
asr_model.transcribe(['<your_audio>.wav'])
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py pretrained_name="nvidia/stt_ru_conformer_ctc_large" audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
该模型接受16 kHz 单声道音频(wav文件)作为输入。
该模型提供给定音频样本的转录文本字符串。
Conformer-CTC模型是Conformer模型的非自回归变体[1],用于自动语音识别,它使用CTC损失/解码代替传输损失。您可以在此处找到有关此模型详细信息的更多信息: Conformer-CTC Model 。
使用NeMo工具包[3]在数百个周期内训练了这些模型。这些模型是使用此 example script 和此 base config 进行训练的。
这些模型的标记器是使用训练集的文本转录文件构建的,使用此 script 进行处理。
我们使用的词汇表包含33个字符:
[' ', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
预处理期间会替换具有变音符号的稀有符号。
这些模型的标记器是使用训练集的文本转录文件构建的,使用此 script 进行处理。
该集合中的所有模型都是在组合数据集(NeMo ASRSET)上训练的,该数据集包括超过一千小时的俄文语音:
该系列中可用模型的列表显示在以下表中。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 | 128 | 3.94 | 4.28 | 2.77 | 7.15 | 13.60 | NeMo ASRSET |
由于该模型是在公开可用的语音数据集上训练的,所以该模型在包含技术术语或模型未经过训练的方言的语音中的性能可能会下降。该模型在带口音的语音上的表现也可能较差。
为获得最佳的实时准确性、延迟和吞吐量,使用NVIDIA Riva将模型部署为 NVIDIA Riva ,这是一个可在本地、多云、混合云、边缘和嵌入式系统上运行的加速语音AI SDK。此外,Riva还提供: