语言:
- 中文
库名称: nemo
数据集:
- aishell_2
缩略图: null
标签:
- 自动语音识别
- 语音
- 音频
- CTC
- Citrinet
- pytorch
- NeMo
- hf-asr-leaderboard
- Riva
许可证: cc-by-4.0
模型索引:
- 名称: stt_zh_citrinet_1024_gamma_0_25
结果:
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: 开发集 iOS
类型: aishell_2
配置: ios
分割: dev
参数:
语言: zh
指标:
- 名称: 开发集 CER
类型: cer
值: 4.8
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: 测试集 iOS
类型: aishell_2
配置: ios
分割: test
参数:
语言: zh
指标:
- 名称: 测试集 CER
类型: cer
值: 5.1
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: 开发集 Android
类型: aishell_2
配置: android
分割: dev
参数:
语言: zh
指标:
- 名称: 开发集 CER
类型: cer
值: 5.2
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: 测试集 Android
类型: aishell_2
配置: android
分割: test
参数:
语言: zh
指标:
- 名称: 测试集 CER
类型: cer
值: 5.5
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: 开发集 麦克风
类型: aishell_2
配置: mic
分割: dev
参数:
语言: zh
指标:
- 名称: 开发集 CER
类型: cer
值: 5.2
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: 测试集 麦克风
类型: aishell_2
配置: mic
分割: test
参数:
语言: zh
指标:
- 名称: 测试集 CER
类型: cer
值: 5.5
NVIDIA 流式 Citrinet 1024 (中文)
|
|
|
|
|
该模型采用字符编码方案,转录文本使用Aishell-2普通话语料库提供的标准字符集。
它是Citrinet的非自回归“大”变体,拥有约1.4亿参数。
完整架构细节请参阅模型架构部分和NeMo文档。
该模型还与NVIDIA Riva兼容,可用于生产级服务器部署。
使用方式
该模型可在NeMo工具包[3]中使用,可作为预训练检查点用于推理或对其他数据集进行微调。
要训练、微调或使用该模型,您需要安装NVIDIA NeMo。建议在安装最新版PyTorch后安装。
pip install nemo_toolkit['all']
自动实例化模型
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModel.from_pretrained("nvidia/stt_zh_citrinet_1024_gamma_0_25")
使用Python转录
首先,获取一段中文普通话语音样本。
然后简单执行:
output = asr_model.transcribe(['sample.wav'])
print(output[0].text)
转录多个音频文件
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_zh_citrinet_1024_gamma_0_25"
audio_dir="<包含音频文件的目录>"
输入
该模型接受16 kHz单声道音频(wav文件)作为输入。
输出
该模型为给定音频样本提供转录文本字符串。
模型架构
Citrinet模型是一种用于自动语音识别的非自回归模型[1],使用CTC损失/解码而非Transducer。更多详细信息请参阅:Citrinet模型。
训练
NeMo工具包[3]用于训练模型数百个epoch。这些模型使用此示例脚本和此基础配置进行训练。
这些模型的分词器使用训练集的文本转录通过此脚本构建。
数据集
本系列所有模型均在包含数千小时中文语音的复合数据集(NeMo ASRSET)上训练:
注:旧版模型可能在较小的数据集上训练。
性能
下表展示了本系列中可用模型的列表。ASR模型的性能以贪婪解码的字错误率(CER%)报告。
版本 |
分词器 |
词汇量大小 |
开发集 iOS |
测试集 iOS |
开发集 Android |
测试集 Android |
开发集 麦克风 |
测试集 麦克风 |
训练数据集 |
1.0.0 |
字符 |
5000+ |
4.8 |
5.1 |
5.2 |
5.5 |
5.2 |
5.5 |
AIShell 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用NVIDIA Riva部署时,可将此模型与外部语言模型结合以进一步提升WER。最新模型结合不同语言建模技术的WER(%)如下表所示。
限制
由于该模型在公开语音数据集上训练,对于包含技术术语或模型未训练过的方言的语音,性能可能下降。对口音较重的语音表现也可能较差。
使用NVIDIA Riva部署
为获得最佳实时准确性、延迟和吞吐量,建议使用NVIDIA Riva部署模型,这是一个可部署在本地、所有云、多云、混合云、边缘和嵌入式设备的加速语音AI SDK。
此外,Riva提供:
- 针对最常见语言的世界级开箱即用准确性,模型检查点基于专有数据训练,耗费数十万GPU计算小时
- 通过运行时词汇增强(如品牌和产品名称)以及声学模型、语言模型和逆文本归一化的定制实现最佳准确性
- 流式语音识别、Kubernetes兼容扩展和企业级支持
查看Riva实时演示。
参考文献