英文

NVIDIA Conformer-CTC大型模型(德语)

| | | | |

该模型可以转录包括空格在内的小写德语字母的语音,并且是在数千小时的德语语音数据上训练的。它是Conformer的非自回归“大型”变体,具有大约1.2亿个参数。有关完整的架构细节,请参见模型架构部分和 NeMo documentation 。它还与NVIDIA Riva兼容,可用于生产级服务器部署。

使用方法

该模型可在NeMo工具包[3]中使用,并可用作推理的预训练检查点,或用于在另一个数据集上进行微调。

要训练、微调或操作模型,您需要安装 NVIDIA NeMo 。我们建议在安装最新的PyTorch版本之后安装它。

pip install nemo_toolkit['all']

自动实例化模型

import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained("nvidia/stt_de_conformer_ctc_large")

使用Python进行转录

首先,让我们获得一个样本.

wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav

然后简单地执行:

asr_model.transcribe(['2086-149220-0033.wav'])

转录多个音频文件

python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py 
 pretrained_name="nvidia/stt_de_conformer_ctc_large" 
 audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"

输入

该模型接受16000 kHz单声道音频(wav文件)作为输入。

输出

该模型提供给定音频样本的转录语音字符串。

模型架构

Conformer-CTC模型是Conformer模型[1]的非自回归变体,用于自动语音识别,它使用CTC损失/解码而不是传输器。您可以在此处找到有关该模型详细信息的更多信息: Conformer-CTC Model

训练

该模型使用NeMo工具包[3]进行训练,训练时间超过几百个epochs。这些模型使用此 example script 和此 base config 进行训练。

这些模型的标记器使用训练集的文本转录本构建,使用此 script

数据集

此集合中的所有模型都是在复合数据集(NeMo ASRSET)上进行训练的,该数据集包含数千小时的英语语音:

  • VoxPopuli(德语)
  • 多语种Librispeech(MLS DE)-1500小时子集
  • Mozilla Common Voice(v7.0)

注意:较早版本的模型可能是在较小的数据集上进行训练的。

性能

此集合中可用模型的列表如下表所示。ASR模型的性能以使用贪婪解码的词错误率(WER%)报告。

Version Tokenizer Vocabulary Size MCV7.0 dev MCV7.0 test MLS dev MLS test Voxpopuli dev Voxpopuli test
1.5.0 SentencePiece Unigram 128 5.84 6.68 3.85 4.63 12.56 10.51

限制

由于该模型是在公开可用的语音数据集上进行训练的,因此对于包含技术术语或模型未经训练的本土化语音,该模型的性能可能会降低。对于有口音的语音,模型的性能可能也较差。

使用NVIDIA Riva进行部署

为了获得最佳的实时准确性、延迟和吞吐量,使用 NVIDIA Riva 部署该模型,该模型是一个加速的语音AI SDK,可在本地、所有云、多云、混合云、边缘和嵌入式设备上部署。此外,Riva还提供:

  • 以最常见语言为基础的开箱即用准确性,使用几十万个GPU计算小时训练的模型检查点
  • 最佳准确性与运行时单词增强(例如品牌和产品名称)以及声学模型、语言模型和逆文本规范化的自定义
  • 流式语音识别、兼容Kubernetes的扩展和企业级支持

请查看 Riva live demo

参考文献

.hf-已过滤.hf-已过滤-NqJLtsEsYK7pAhge6ZaWJ img {display: inline;}