🚀 NVIDIA Conformer-CTC Large (es)
这是一个用于西班牙语自动语音识别的模型,可将语音转录为小写西班牙语字母(包含空格)。它基于Conformer架构,拥有约1.2亿个参数,在1340小时的西班牙语语音复合数据集上进行训练,并且与NVIDIA Riva兼容,适用于生产级服务器部署。
🚀 快速开始
此模型可在NeMo工具包中使用,你可以将其作为预训练检查点进行推理或在其他数据集上进行微调。若要训练、微调或使用该模型,你需要安装 NVIDIA NeMo,建议在安装最新版本的PyTorch之后再安装它。
pip install nemo_toolkit['all']
✨ 主要特性
- 语言支持:专注于西班牙语语音识别。
- 模型架构:采用Conformer-CTC非自回归架构。
- 参数规模:约1.2亿个参数的“大型”模型。
- 兼容性:与NVIDIA Riva兼容,便于生产级部署。
📦 安装指南
安装NVIDIA NeMo工具包:
pip install nemo_toolkit['all']
💻 使用示例
基础用法
自动实例化模型:
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained("nvidia/stt_es_conformer_ctc_large")
高级用法
用Python进行转录
首先,获取一个示例音频文件:
wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav
然后进行转录:
output = asr_model.transcribe(['2086-149220-0033.wav'])
print(output[0].text)
转录多个音频文件
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_es_conformer_ctc_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 详细文档
输入
该模型接受16000 kHz单声道音频(wav文件)作为输入。
输出
该模型为给定的音频样本提供转录后的语音字符串。
模型架构
Conformer-CTC模型是用于自动语音识别的Conformer模型的非自回归变体,它使用CTC损失/解码而不是Transducer。你可以在 Conformer-CTC Model 中找到该模型的详细信息。
训练
使用NeMo工具包 [3] 对模型进行了数百个epoch的训练。这些模型使用 此示例脚本 和 此基础配置 进行训练。
这些模型的分词器使用训练集的文本转录,通过 此脚本 构建。
用作神经重评分器的语言模型的检查点可以在 这里 找到。你可以在 ASR Language Modeling 中找到有关如何为ASR模型训练和使用语言模型的更多信息。
数据集
此集合中的所有模型都在一个包含1340小时西班牙语语音的复合数据集(NeMo ASRSET)上进行训练:
- Mozilla Common Voice 7.0(西班牙语) - 数据清理后为289小时
- Multilingual LibriSpeech(西班牙语) - 数据清理后为801小时
- Voxpopuli转录子集(西班牙语) - 数据清理后为110小时
- Fisher数据集(西班牙语) - 数据清理后为140小时
性能
此集合中可用模型的列表如下表所示。ASR模型的性能以单词错误率(WER%)报告,采用贪心解码。
版本 |
分词器 |
词汇量大小 |
MCV 7.0 Dev |
MCV 7.0 Test |
MLS Dev |
MLS Test |
Voxpopuli Dev |
Voxpopuli Test |
Fisher Dev |
Fisher Test |
训练数据集 |
1.8.0 |
SentencePiece Unigram |
1024 |
6.3 |
6.9 |
4.3 |
4.2 |
6.1 |
7.5 |
18.3 |
18.5 |
NeMo ASRSET 2.0 |
在使用 NVIDIA Riva 进行部署时,你可以将此模型与外部语言模型结合使用,以进一步提高WER。以下表格报告了最新模型在不同语言建模技术下的WER(%)。
语言建模 |
训练数据集 |
MCV 7.0 Dev |
MCV 7.0 Test |
MLS Dev |
MLS Test |
Voxpopuli Dev |
Voxpopuli Test |
Fisher Dev |
Fisher Test |
备注 |
N-gram LM |
西班牙语新闻爬虫语料库(5000万句子) + NeMo ASRSET训练转录 |
5.0 |
5.5 |
3.6 |
3.6 |
5.5 |
6.7 |
17.4 |
17.5 |
N=4, beam_width=128, n_gram_alpha=0.8, n_gram_beta=1.5 |
限制
由于该模型是在公开可用的语音数据集上训练的,对于包含技术术语或模型未训练过的方言的语音,其性能可能会下降。对于带有口音的语音,模型的表现可能也会更差。
使用NVIDIA Riva进行部署
为了获得最佳的实时准确性、低延迟和高吞吐量,建议使用 NVIDIA Riva 部署该模型。NVIDIA Riva是一个加速语音AI SDK,可在本地、所有云、多云、混合云、边缘和嵌入式设备上部署。
此外,Riva还提供以下功能:
- 开箱即用的高精度:针对最常见语言,使用经过数十万GPU计算小时的专有数据训练的模型检查点。
- 一流的准确性:支持运行时单词增强(例如品牌和产品名称),并可自定义声学模型、语言模型和逆文本归一化。
- 流式语音识别:支持Kubernetes兼容的扩展和企业级支持。
查看 Riva实时演示。
🔧 技术细节
Conformer-CTC模型结合了卷积和Transformer架构,通过CTC损失函数进行训练,实现高效的语音识别。它在处理长序列语音时表现出色,能够捕捉语音中的上下文信息。
📄 许可证
本模型采用CC BY 4.0许可证。
参考文献