🚀 NVIDIA FastConformer-CTC Large (en)
该模型可将语音转录为小写英文字母,是FastConformer CTC的“大型”版本(约1.15亿个参数),能高效处理英文语音转录任务。
🚀 快速开始
要训练、微调或使用该模型,你需要安装 NVIDIA NeMo。建议在安装最新版本的Pytorch后再安装它。
pip install nemo_toolkit['all']
✨ 主要特性
- 可将语音转录为小写英文字母。
- 是FastConformer CTC的“大型”版本,约有1.15亿个参数。
- 采用多任务训练设置,使用Transducer解码器损失进行训练。
- 基于优化的FastConformer架构,具有8倍深度可分离卷积下采样。
📦 安装指南
要训练、微调或使用该模型,你需要安装 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="nvidia/stt_en_fastconformer_ctc_large")
高级用法
转录单个音频文件
首先,获取一个示例音频文件:
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_en_fastconformer_ctc_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 详细文档
输入
该模型接受16000 Hz单声道音频(wav文件)作为输入。
输出
该模型为给定的音频样本提供转录后的语音字符串。
模型架构
FastConformer [1] 是Conformer模型的优化版本,具有8倍深度可分离卷积下采样。该模型在多任务设置中使用Transducer解码器损失进行训练。你可以在 Fast-Conformer Model 中找到有关FastConformer详细信息。
训练
使用NeMo工具包 [3] 对模型进行了数百个epoch的训练。这些模型使用 示例脚本 和 基础配置 进行训练。
这些模型的分词器使用训练集的文本转录,通过 脚本 构建。
数据集
此集合中的模型在包含数千小时英语语音的复合数据集(NeMo ASRSet En)上进行训练:
- Librispeech:960小时的英语语音
- Fisher Corpus
- Switchboard-1 Dataset
- WSJ-0和WSJ-1
- National Speech Corpus (Part 1, Part 6)
- VCTK
- VoxPopuli (EN)
- Europarl-ASR (EN)
- Multilingual Librispeech (MLS EN) - 2000小时子集
- Mozilla Common Voice (v7.0)
- People's Speech - 12000小时子集
性能
自动语音识别模型的性能使用词错误率(WER)进行衡量。由于该数据集在多个领域和更大的语料库上进行训练,因此在一般情况下,它在转录音频方面通常表现更好。
以下表格总结了此集合中可用模型使用Transducer解码器的性能。ASR模型的性能以词错误率(WER%)的形式报告,使用贪心解码。
版本 |
分词器 |
词汇表大小 |
LS test-other |
LS test-clean |
WSJ Eval92 |
WSJ Dev93 |
NSC Part 1 |
MLS Test |
MCV Test 7.0 |
训练数据集 |
1.18.0 |
SentencePiece Unigram |
1024 |
4.2 |
2.1 |
1.6 |
2.5 |
6.3 |
6.4 |
8.3 |
NeMo ASRSET 3.0 |
局限性
由于该模型在公开可用的语音数据集上进行训练,对于包含技术术语或模型未训练过的方言的语音,其性能可能会下降。该模型对于带有口音的语音可能表现也较差。
NVIDIA Riva部署
NVIDIA Riva 是一个加速的语音AI SDK,可部署在本地、所有云、多云、混合云、边缘和嵌入式设备上。此外,Riva还提供:
- 针对最常见语言的世界级开箱即用准确性,模型检查点在专有数据上进行训练,使用了数十万小时的GPU计算时间。
- 具有运行时单词增强(例如品牌和产品名称)以及声学模型、语言模型和逆文本归一化的定制功能,实现一流的准确性。
- 流式语音识别、Kubernetes兼容的扩展和企业级支持。
虽然该模型目前尚未得到Riva的支持,但 支持的模型列表在此。 查看 Riva实时演示。
🔧 技术细节
FastConformer是Conformer模型的优化版本,通过8倍深度可分离卷积下采样,提升了模型的效率和性能。在多任务训练设置中,使用Transducer解码器损失进一步优化了模型的转录能力。训练过程使用NeMo工具包,结合特定的示例脚本和基础配置,在多个公开数据集上进行了数百个epoch的训练,以确保模型在不同场景下的泛化能力。
📄 许可证
使用此模型的许可受 CC-BY-4.0 许可协议的约束。通过下载该模型的公开版本,即表示你接受 CC-BY-4.0 许可协议的条款和条件。
参考文献
[1] Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition
[2] Google Sentencepiece Tokenizer
[3] NVIDIA NeMo Toolkit