英文

NVIDIA Conformer-CTC Large(en-US)

| | | | |

该模型以小写英文字母(包括空格和撇号)进行语音转录,经过几千小时的英语语音数据训练。它是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_en_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_en_conformer_ctc_large" 
 audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"

输入

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

输出

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

模型体系结构

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

训练

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

这些模型的标记器使用训练集的文本转录使用此 script 构建。请在此处找到有关如何训练和使用语言模型进行ASR模型的更多信息: ASR Language Modeling

数据集

此集合中的所有模型均使用一个复合数据集(NeMo ASRSET)进行训练,包括几千小时的英语语音:

  • Librispeech 960小时的英语语音
  • Fisher Corpus
  • Switchboard-1数据集
  • WSJ-0和WSJ-1
  • 国家语音语料库(第1部分,第6部分)
  • VCTK
  • VoxPopuli(EN)
  • Europarl-ASR(EN)
  • 多语言Librispeech(MLS EN)- 2000小时子集
  • Mozilla Common Voice(v7.0)

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

性能

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

Version Tokenizer Vocabulary Size LS test-other LS test-clean WSJ Eval92 WSJ Dev93 NSC Part 1 MLS Test MLS Dev MCV Test 6.1 Train Dataset
1.6.0 SentencePiece Unigram 128 4.3 2.2 2.0 2.9 7.0 7.2 6.5 8.0 NeMo ASRSET 2.0

在与 NVIDIA Riva 一起部署时,您可以将该模型与外部语言模型相结合,以进一步提高WER。最新模型使用不同语言建模技术的WER(%)如下表所示。

Language Modeling Training Dataset LS test-other LS test-clean Comment
N-gram LM LS Train + LS LM Corpus 3.5 1.8 N=10, beam_width=128, n_gram_alpha=1.0, n_gram_beta=1.0
Neural Rescorer(Transformer) LS Train + LS LM Corpus 3.4 1.7 N=10, beam_width=128
N-gram + Neural Rescorer(Transformer) LS Train + LS LM Corpus 3.2 1.8 N=10, beam_width=128, n_gram_alpha=1.0, n_gram_beta=1.0

限制

由于该模型是在公开可用的语音数据集上训练的,因此对于包含技术术语或模型未经训练的方言的语音,该模型的性能可能会下降。对于带口音的语音,该模型的性能也可能较差。

使用NVIDIA Riva进行部署

要实现最佳的实时准确性、延迟和吞吐量,请使用 NVIDIA Riva 将该模型与加速的语音AI SDK一起部署,并可在本地、所有云、多云、混合云、边缘和嵌入式环境中使用。此外,Riva还提供:

  • 具有专有数据训练的模型检查点,针对最常见的语言提供一流的开箱即用准确性,使用了数十万个GPU计算小时
  • 具有运行时词增强(例如品牌和产品名称)以及配置声学模型、语言模型和逆文本规范化的最佳准确性
  • 流式语音识别、与Kubernetes兼容的扩展性和企业级支持

请查看 Riva live demo

参考文献

.hf-sanitized.hf-sanitized-C5UT4nOM8X2FAPRLZooei img {display: inline;}