语言:
- 英语
库名称: nemo
数据集:
- librispeech_asr
- fisher_corpus
- Switchboard-1
- WSJ-0
- WSJ-1
- 新加坡国立语料库第一部分
- 新加坡国立语料库第六部分
缩略图: null
标签:
- 自动语音识别
- 语音
- 音频
- CTC
- Citrinet
- Transformer
- pytorch
- NeMo
- hf-asr-leaderboard
- Riva
许可证: cc-by-4.0
小部件:
- 示例标题: Librispeech 样本1
来源: https://cdn-media.huggingface.co/speech_samples/sample1.flac
- 示例标题: Librispeech 样本2
来源: https://cdn-media.huggingface.co/speech_samples/sample2.flac
模型索引:
- 名称: stt_en_citrinet_1024_gamma_0_25
结果:
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: LibriSpeech (干净)
类型: librispeech_asr
配置: clean
分割: test
参数:
语言: en
指标:
- 任务:
类型: 自动语音识别
名称: automatic-speech-recognition
数据集:
名称: LibriSpeech (其他)
类型: librispeech_asr
配置: other
分割: test
参数:
语言: en
指标:
- 任务:
类型: 自动语音识别
名称: automatic-speech-recognition
数据集:
名称: 华尔街日报92
类型: wsj_0
参数:
语言: en
指标:
- 任务:
类型: 自动语音识别
名称: automatic-speech-recognition
数据集:
名称: 华尔街日报93
类型: wsj_1
参数:
语言: en
指标:
- 任务:
类型: 自动语音识别
名称: automatic-speech-recognition
数据集:
名称: 新加坡国立语料库
类型: nsc_part_1
参数:
语言: en
指标:
NVIDIA流式Citrinet 1024 (美式英语)
|
|
|
|
|
该模型用于转录包含空格和撇号的小写英语字母语音,训练数据包含数千小时的英语语音。它是流式Citrinet的"大型"非自回归变体,拥有约1.4亿参数。完整架构细节请参阅模型架构部分和NeMo文档。该模型还与NVIDIA Riva兼容,可用于生产级服务器部署。
使用方式
该模型可在NeMo工具包[3]中使用,可作为预训练检查点用于推理或对其他数据集进行微调。
安装NVIDIA NeMo后即可训练、微调或使用该模型。建议在安装最新版PyTorch后安装NeMo。
pip install nemo_toolkit['all']
自动实例化模型
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained("nvidia/stt_en_citrinet_1024_gamma_0_25")
使用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_citrinet_1024_gamma_0_25"
audio_dir="<音频文件目录>"
输入
该模型接受16kHz单声道音频(wav文件)作为输入。
输出
该模型为给定音频样本提供转录文本字符串。
模型架构
流式Citrinet-1024模型是用于自动语音识别的Citrinet模型[1]的非自回归流式变体,使用CTC损失/解码而非Transducer。更多信息请参阅:Citrinet模型。
训练
使用NeMo工具包[3]训练该模型数百个epoch。训练使用此示例脚本和此基础配置。
该模型的标记器使用训练集文本转录通过此脚本构建。
数据集
该系列所有模型均在包含数千小时英语语音的复合数据集(NeMo ASRSET)上训练:
- Librispeech 960小时英语语音
- Fisher语料库
- Switchboard-1数据集
- WSJ-0和WSJ-1
- 国家语音语料库(第一部分,第六部分)
注:旧版本模型可能在较小数据集上训练。
性能
下表展示了该系列可用模型。ASR模型性能以贪婪解码的词错误率(WER%)报告。
版本 |
标记器 |
词汇量 |
LS测试-其他 |
LS测试-干净 |
WSJ评估92 |
WSJ开发93 |
NSC第一部分 |
训练数据集 |
1.0.0 |
SentencePiece Unigram |
1024 |
7.6 |
3.4 |
2.5 |
4.0 |
6.2 |
NeMo ASRSET 1.0 |
与NVIDIA Riva部署时,可结合外部语言模型进一步降低WER。下表展示了最新模型结合不同语言建模技术后的WER(%)。
局限性
由于该模型在公开语音数据集上训练,对于包含技术术语或未训练方言的语音,性能可能下降。对口音语音表现也可能较差。
使用NVIDIA Riva部署
为获得最佳实时准确率、延迟和吞吐量,建议使用NVIDIA Riva部署模型。Riva是加速语音AI SDK,可部署在本地、所有云环境、多云、混合云、边缘和嵌入式设备中。此外,Riva提供:
- 基于数百上千GPU计算小时专有数据训练的世界级开箱即用准确率,支持最常见语言
- 通过运行时词汇增强(如品牌和产品名称)以及声学模型、语言模型和逆文本归一化定制实现最佳准确率
- 流式语音识别、Kubernetes兼容扩展和企业级支持
查看Riva实时演示。
参考文献
[1] Citrinet: 缩小非自回归与自回归端到端自动语音识别模型间的差距
[2] Google Sentencepiece标记器
[3] NVIDIA NeMo工具包