模型:
nvidia/stt_en_conformer_ctc_large
任务:
自动语音识别数据集:
librispeech_asr fisher_corpus Switchboard-1 WSJ-0 WSJ-1 National-Singapore-Corpus-Part-1 National-Singapore-Corpus-Part-6 vctk VoxPopuli-(EN) Europarl-ASR-(EN) Multilingual-LibriSpeech-(2000-hours) mozilla-foundation/common_voice_7_0 3Amozilla-foundation/common_voice_7_0 3AMultilingual-LibriSpeech-(2000-hours) 3AEuroparl-ASR-(EN) 3AVoxPopuli-(EN) 3Avctk 3ANational-Singapore-Corpus-Part-6 3ANational-Singapore-Corpus-Part-1 3AWSJ-1 3AWSJ-0 3ASwitchboard-1 3Afisher_corpus 3Alibrispeech_asr语言:
en预印本库:
arxiv:2005.08100许可:
cc-by-4.0| | | | |
该模型以小写英文字母(包括空格和撇号)进行语音转录,经过几千小时的英语语音数据训练。它是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")
首先,让我们拿一个样例
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)进行训练,包括几千小时的英语语音:
注意:旧版本的模型可能是在较小的数据集上训练的。
此集合中可用模型的列表显示在下表中。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 将该模型与加速的语音AI SDK一起部署,并可在本地、所有云、多云、混合云、边缘和嵌入式环境中使用。此外,Riva还提供:
请查看 Riva live demo 。