🚀 NVIDIA Conformer-Transducer Large (俄语)
该模型可将语音转录为包含空格的小写西里尔字母,基于约1636小时的俄语语音数据进行训练。
|
|
| 
本模型能够将语音转录为包含空格的小写西里尔字母,它在约1636小时的俄语语音数据上进行了训练。它是Conformer的非自回归“大型”变体,约有1.2亿个参数。有关完整的架构细节,请参阅模型架构部分和NeMo文档。
🚀 快速开始
本模型可在NeMo工具包[3]中使用,可作为预训练检查点用于推理,或在其他数据集上进行微调。
若要训练、微调或使用该模型,你需要安装NVIDIA NeMo。我们建议你在安装最新版本的PyTorch之后再安装它。
pip install nemo_toolkit['all']
✨ 主要特性
- 多数据集训练:在多个俄语语音数据集上进行训练,包括Mozilla Common Voice 10.0、SberDevices/Golos、Russian-LibriSpeech和SOVA-Dataset等。
- 非自回归架构:采用Conformer的非自回归“大型”变体,约有1.2亿个参数。
- 易于使用:可在NeMo工具包中使用,支持自动实例化模型和转录语音。
📦 安装指南
若要训练、微调或使用该模型,你需要安装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")
使用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_transducer_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
高级用法
本模型接受16 kHz单声道音频(wav文件)作为输入,并将转录后的语音作为字符串输出。
📚 详细文档
模型架构
Conformer-Transducer模型是用于自动语音识别的Conformer模型[1]的自回归变体,它使用Transducer损失/解码。你可以在此处找到有关该模型详细信息:Conformer-Transducer模型。
训练
NeMo工具包[3]用于对模型进行数百个epoch的训练。这些模型使用此示例脚本和此基础配置进行训练。
我们使用的词汇表包含33个字符:
[' ', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я']
在预处理过程中,带有变音符号的稀有符号被替换。
这些模型的分词器使用训练集的文本转录,通过此脚本构建。
数据集
此集合中的所有模型均在复合数据集(NeMo ASRSET)上进行训练,该数据集包含超过一千小时的俄语语音:
- Mozilla Common Voice 10.0(俄语) - 训练子集[28小时]
- Golos - 众包[1070小时]和远场[111小时]子集
- Russian LibriSpeech(RuLS)[92小时]
- SOVA - RuAudiobooksDevices [260小时]和RuDevices [75小时]子集
性能
此集合中可用模型的列表如下表所示。ASR模型的性能以单词错误率(WER%)报告,采用贪心解码。
版本 |
分词器 |
词汇表大小 |
MCV 10.0开发集 |
MCV 10.0测试集 |
GOLOS众包测试集 |
GOLOS远场测试集 |
RuLS测试集 |
训练数据集 |
1.13.0 |
SentencePiece Unigram |
1024 |
3.5 |
4.0 |
2.7 |
7.6 |
12.0 |
NeMo ASRSET |
局限性
由于此模型是在公开可用的语音数据集上训练的,因此对于包含技术术语或模型未训练过的方言的语音,其性能可能会下降。该模型对于带有口音的语音的表现也可能较差。
使用NVIDIA Riva进行部署
NVIDIA Riva是一个加速语音AI SDK,可在本地、所有云、多云、混合云、边缘和嵌入式设备上部署。此外,Riva还提供:
- 针对最常见语言的世界级开箱即用准确性,模型检查点在专有数据上进行训练,使用了数十万小时的GPU计算资源。
- 一流的准确性,支持运行时单词增强(例如品牌和产品名称),并可自定义声学模型、语言模型和逆文本归一化。
- 流式语音识别、Kubernetes兼容的扩展和企业级支持。
虽然此模型目前不受Riva支持,但支持的模型列表在此处。请查看Riva实时演示。
📄 许可证
本项目采用CC BY 4.0许可证。
🔗 参考资料