模型:
nvidia/stt_en_fastconformer_hybrid_large_pc
| | |
此模型可以转录大写和小写英文字母,包括空格、句号、逗号和问号。这是FastConformer Transducer-CTC(大约115M参数)模型的“大”版本。这是一个混合模型,使用了两种损失函数进行训练:Transducer(默认)和CTC。有关完整的架构详细信息,请参见模型架构部分和 NeMo documentation 。
要训练、微调或使用该模型,您需要安装 NVIDIA NeMo 。我们建议您在安装最新的PyTorch版本后再安装它。
pip install nemo_toolkit['all']
该模型可在NeMo工具包[3]中使用,并可用作预训练的检查点进行推理或在另一个数据集上进行微调。
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.EncDecHybridRNNTCTCBPEModel.from_pretrained(model_name="nvidia/stt_en_fastconformer_hybrid_large_pc")
首先,获取一个示例
wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav
然后简单地执行:
asr_model.transcribe(['2086-149220-0033.wav'])
使用Transducer模式推理:
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py pretrained_name="nvidia/stt_en_fastconformer_hybrid_large_pc" audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
使用CTC模式推理:
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py pretrained_name="nvidia/stt_en_fastconformer_hybrid_large_pc" audio_dir="<DIRECTORY CONTAINING AUDIO FILES>" decoder_type="ctc"
该模型接受16000 Hz单声道音频(wav文件)作为输入。
该模型为给定音频样本提供转录的语音字符串。
FastConformer [1] 是Conformer模型的优化版本,具有8倍的深度可分离卷积下采样。该模型以多任务设置进行训练,同时使用了Transducer和CTC解码器损失。您可以在这里找到有关FastConformer的详细信息: Fast-Conformer Model ,并了解混合Transducer-CTC训练的详细信息: Hybrid Transducer-CTC 。
该集合中的模型是使用NeMo工具包[3]在数百个纪元中进行训练的。这些模型使用了这个 example script 和这个 base config 进行训练。
这些模型的标记器是使用训练集的文本转录进行构建的,使用了这个 script 。
本系列中的模型使用组合数据集(NeMo ASRSet En PC)进行训练,该数据集包括数千小时的英语语音:
自动语音识别模型的性能是使用字错误率来衡量的。由于这个数据集是在多个领域和更大的语料库上进行训练的,因此它在一般的音频转录中的表现通常更好。
以下表总结了此集合中可用模型在使用Transducer解码器的情况下的性能。ASR模型的表现以字错误率(WER%)和贪婪解码方式报告。
a) 在没有标点符号和大写字母的数据上使用Transducer解码器
Version | Tokenizer | Vocabulary Size | MCV11 DEV | MCV11 TEST | MLS DEV | MLS TEST | VOXPOPULI DEV | VOXPOPULI TEST | EUROPARL DEV | EUROPARL TEST | FISHER DEV | FISHER TEST | SPGI DEV | SPGI TEST | LIBRISPEECH DEV CLEAN | LIBRISPEECH TEST CLEAN | LIBRISPEECH DEV OTHER | LIBRISPEECH TEST OTHER | NSC DEV | NSC TEST |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1.18.0 | SentencePiece Unigram | 1024 | 7.39 | 8.23 | 4.48 | 4.53 | 4.22 | 4.54 | 9.69 | 8.02 | 10.53 | 10.34 | 2.32 | 2.26 | 1.74 | 2.03 | 4.02 | 4.07 | 4.71 | 4.6 |
b) 在具有标点符号和大写字母的数据上使用Transducer解码器
Version | Tokenizer | Vocabulary Size | MCV11 DEV | MCV11 TEST | MLS DEV | MLS TEST | VOXPOPULI DEV | VOXPOPULI TEST | EUROPARL DEV | EUROPARL TEST | FISHER DEV | FISHER TEST | SPGI DEV | SPGI TEST | LIBRISPEECH DEV CLEAN | LIBRISPEECH TEST CLEAN | LIBRISPEECH DEV OTHER | LIBRISPEECH TEST OTHER | NSC DEV | NSC TEST |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1.18.0 | SentencePiece Unigram | 1024 | 9.32 | 10.1 | 9.73 | 12.65 | 6.72 | 6.73 | 14.55 | 12.52 | 19.14 | 19.02 | 5.25 | 5.06 | 6.74 | 7.35 | 8.98 | 9.16 | 9.77 | 7.19 |
由于此模型是使用公开可用的语音数据集进行训练的,因此该模型在包含技术术语或模型未经训练的方言的语音中的性能可能会下降。该模型在口音语音方面的表现可能也会更差。该模型只输出标点符号:“。”、“,”、“?”,因此在需要其他标点符号的场景中可能表现不佳。
NVIDIA Riva ,是一种加速的语音AI SDK,可在本地、所有云端、多云端、混合云、边缘计算和嵌入式系统上部署。此外,Riva还提供:
尽管这个模型目前还不被Riva支持,但 list of supported models is here 。
[1] Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition
[2] Google Sentencepiece Tokenizer
使用此模型的许可受 CC-BY-4.0 许可证约束。通过下载模型的公共和发布版本,您接受 CC-BY-4.0 许可证的条款和条件。
.hf-sanitized.hf-sanitized-5bw45oVsChftdfSvQEOL3 img {display: inline;}