语言:
- 英文
库名称: nemo
数据集:
- librispeech_asr
- fisher_corpus
- Switchboard-1
- WSJ-0
- WSJ-1
- National-Singapore-Corpus-Part-1
- National-Singapore-Corpus-Part-6
- vctk
- VoxPopuli
- Europarl-ASR
- Multilingual-LibriSpeech
- mozilla-foundation/common_voice_8_0
- MLCommons/peoples_speech
缩略图: null
标签:
- 自动语音识别
- 语音
- 音频
- 转换器
- FastConformer
- 变压器
- pytorch
- NeMo
- hf-asr-leaderboard
许可证: cc-by-4.0
小部件:
- 示例标题: Librispeech 样本 1
src: https://cdn-media.huggingface.co/speech_samples/sample1.flac
- 示例标题: Librispeech 样本 2
src: https://cdn-media.huggingface.co/speech_samples/sample2.flac
模型索引:
- 名称: stt_en_fastconformer_transducer_large
结果:
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: LibriSpeech (干净)
类型: librispeech_asr
配置: clean
分割: test
参数:
语言: en
指标:
- 名称: 测试 WER
类型: wer
值: 1.8
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: LibriSpeech (其他)
类型: librispeech_asr
配置: other
分割: test
参数:
语言: en
指标:
- 名称: 测试 WER
类型: wer
值: 3.8
- 任务:
类型: 自动语音识别
名称: automatic-speech-recognition
数据集:
名称: 多语言 LibriSpeech
类型: facebook/multilingual_librispeech
配置: english
分割: test
参数:
语言: en
指标:
- 名称: 测试 WER
类型: wer
值: 5.8
- 任务:
类型: 自动语音识别
名称: automatic-speech-recognition
数据集:
名称: Mozilla Common Voice 7.0
类型: mozilla-foundation/common_voice_7_0
配置: en
分割: test
参数:
语言: en
指标:
- 名称: 测试 WER
类型: wer
值: 7.5
- 任务:
类型: 自动语音识别
名称: automatic-speech-recognition
数据集:
名称: 华尔街日报 92
类型: wsj_0
参数:
语言: en
指标:
- 名称: 测试 WER
类型: wer
值: 1.4
- 任务:
类型: 自动语音识别
名称: automatic-speech-recognition
数据集:
名称: 华尔街日报 93
类型: wsj_1
参数:
语言: en
指标:
- 名称: 测试 WER
类型: wer
值: 2.4
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: 新加坡国家语料库
类型: nsc_part_1
分割: test
参数:
语言: en
指标:
- 名称: 测试 WER
类型: wer
值: 5.5
NVIDIA FastConformer-Transducer 大型模型 (英文)
|
|
| 
该模型用于将语音转录为小写英文字母。
这是 FastConformer Transducer 的“大型”版本(约 1.14 亿参数)模型。
有关完整的架构细节,请参阅模型架构部分和 NeMo 文档。
NVIDIA NeMo:训练
要训练、微调或使用该模型,您需要安装 NVIDIA NeMo。建议在安装最新版本的 PyTorch 后安装它。
pip install nemo_toolkit['all']
如何使用该模型
该模型可在 NeMo 工具包 [3] 中使用,并可作为预训练检查点用于推理或对另一个数据集进行微调。
自动实例化模型
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained(model_name="nvidia/stt_en_fastconformer_transducer_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_en_fastconformer_transducer_large"
audio_dir="<包含音频文件的目录>"
输入
该模型接受 16000 Hz 单声道音频(wav 文件)作为输入。
输出
该模型为给定的音频样本提供转录后的语音字符串。
模型架构
FastConformer [1] 是 Conformer 模型的优化版本,具有 8 倍深度可分离卷积下采样。该模型使用 Transducer 解码器损失在多任务设置中训练。您可以在此处找到有关 FastConformer 的更多详细信息:Fast-Conformer 模型。
训练
NeMo 工具包 [3] 用于训练这些模型超过数百个 epoch。这些模型使用此示例脚本和此基础配置进行训练。
这些模型的分词器是使用训练集的文本转录通过此脚本构建的。
数据集
该集合中的模型是在一个综合数据集(NeMo ASRSet En)上训练的,该数据集包含数千小时的英语语音:
- Librispeech 960 小时的英语语音
- Fisher 语料库
- Switchboard-1 数据集
- WSJ-0 和 WSJ-1
- 国家语音语料库(第 1 部分,第 6 部分)
- VCTK
- VoxPopuli (EN)
- Europarl-ASR (EN)
- 多语言 Librispeech (MLS EN) - 2000 小时的子集
- Mozilla Common Voice (v7.0)
- People's Speech - 12000 小时的子集
性能
自动语音识别模型的性能使用词错误率来衡量。由于该模型在多个领域和更大的语料库上进行训练,通常在转录一般音频时表现更好。
下表总结了该集合中可用模型与 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 |
3.8 |
1.8 |
1.4 |
2.4 |
5.5 |
5.8 |
7.5 |
NeMo ASRSET 3.0 |
局限性
由于该模型是在公开可用的语音数据集上训练的,对于包含技术术语或模型未训练过的方言的语音,其性能可能会下降。对于有口音的语音,模型的表现也可能较差。
NVIDIA Riva:部署
NVIDIA Riva,是一个加速的语音 AI SDK,可部署在本地、所有云、多云、混合云、边缘和嵌入式设备上。
此外,Riva 提供:
- 针对最常见语言的顶级开箱即用准确性,模型检查点基于专有数据训练,耗费数十万 GPU 计算小时
- 运行时词增强(例如品牌和产品名称)以及声学模型、语言模型和逆文本归一化的最佳准确性
- 流式语音识别、Kubernetes 兼容的扩展和企业级支持
尽管 Riva 尚未支持该模型,但支持的模型列表在此。
查看 Riva 实时演示。
参考文献
[1] Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition
[2] Google Sentencepiece Tokenizer
[3] NVIDIA NeMo Toolkit
许可证
使用该模型的许可证涵盖 CC-BY-4.0。通过下载该模型的公共和发布版本,您接受 CC-BY-4.0 许可证的条款和条件。