英文

NVIDIA Streaming Citrinet 1024 (uk)

| | | | |

该模型以小写的乌克兰字母表示语音,包括空格和撇号,并通过69小时的乌克兰语音数据进行训练。这是一种非自回归的"大"型Streaming Citrinet变体,具有大约1.41亿个参数。该模型是从预训练的俄语Citrinet-1024模型上使用跨语种迁移学习[4]的方法对乌克兰语音数据进行微调的。详细的模型体系结构和 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.EncDecCTCModel.from_pretrained("nvidia/stt_uk_citrinet_1024_gamma_0_25")

使用Python进行语音转换

首先,我们获取一个样本。

然后简单地执行:

asr_model.transcribe(['<Path of audio file(s)>'])

转录多个音频文件

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

输入

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

输出

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

模型体系结构

Streaming Citrinet-1024模型是Citrinet模型[1]的非自回归、流式变体,与使用Transducer的CTC损失/解码不同。您可以在这里找到有关该模型的更多信息: Citrinet Model

训练

使用NeMo工具包[3]对该模型进行了1000个epoch的训练。该模型使用了这个 example script 和这个 base config 进行训练。

该模型的分词器是使用训练集的文本转录本构建的,具体可参见这个 script

关于跨语言迁移学习的详细信息,请参见[4]。

数据集

该模型使用经过验证的Mozilla Common Voice Corpus 10.0数据集(不包括开发和测试数据)进行训练,包括69小时的乌克兰语音。这个模型进行微调的俄语模型是在以下数据集的联合训练下进行的:(1)Mozilla Common Voice (V7 Ru)、(2)Ru LibriSpeech (RuLS)、(3)Sber GOLOS和(4)SOVA。

性能

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

Version Tokenizer Vocabulary Size MCV-10 test MCV-10 dev MCV-9 test MCV-9 dev MCV-8 test MCV-8 dev
1.0.0 SentencePiece Unigram 1024 5.02 4.65 3.75 4.88 3.52 5.02

限制

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

与NVIDIA Riva的部署

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

  • 基于专有数据进行训练的模型检查点,提供最常见语言的开箱准确性,数十万个GPU计算小时
  • 最佳的准确性,具有运行时词提升(例如品牌和产品名称)以及声学模型、语言模型和逆文本归一化的自定义功能
  • 流式语音识别、与Kubernetes兼容的扩展和企业级支持。详见 Riva live demo

参考资料

[1] Citrinet: Closing the Gap between Non-Autoregressive and Autoregressive End-to-End Models for Automatic Speech Recognition [2] Google Sentencepiece Tokenizer [3] NVIDIA NeMo Toolkit [4] Cross-Language Transfer Learning

.hf-sanitized.hf-sanitized-WtEel_H-0JbDgNfPfFLsK img {display: inline;}