🚀 鹦鹉螺TDT - CTC 0.6B(日语)
鹦鹉螺TDT - CTC 0.6B(日语)是一款自动语音识别模型,能够转录带标点的日语语音,由NVIDIA NeMo团队开发。
🚀 快速开始
要训练、微调或使用该模型,你需要安装 NVIDIA NeMo。我们建议你在安装最新版本的 PyTorch 之后再安装它。
pip install nemo_toolkit['asr']
✨ 主要特性
parakeet-tdt_ctc-0.6b-ja
是一款能够转录带标点日语语音的自动语音识别模型。
- 它是混合 FastConformer TDT - CTC 模型的 XL 版本,约有 0.6B 个参数。
📦 安装指南
要训练、微调或使用该模型,你需要安装 NVIDIA NeMo。我们建议在安装最新版本的 PyTorch 之后再进行安装。
pip install nemo_toolkit['asr']
💻 使用示例
基础用法
自动实例化模型:
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="nvidia/parakeet-tdt_ctc-0.6b-ja")
高级用法
使用 Python 进行转录
output = asr_model.transcribe(['speech.wav'])
print(output[0].text)
转录多个音频文件
默认情况下,模型使用 TDT 对音频文件进行转录。若要切换解码器使用 CTC,可使用 decoding_type='ctc'
。
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/parakeet-tdt_ctc-0.6b-ja"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 详细文档
输入
该模型接受 16000 Hz 的单声道音频(wav 文件)作为输入。
输出
该模型会为给定的音频样本提供转录后的语音字符串。
模型架构
此模型采用混合 FastConformer - TDT - CTC 架构。
FastConformer 是 Conformer 模型的优化版本,具有 8 倍深度可分离卷积下采样。你可以在 Fast - Conformer Model 中找到有关 FastConformer 详细信息。
TDT(Token - and - Duration Transducer)是传统 Transducer 的推广,它通过解耦令牌和持续时间预测来实现。与传统 Transducer 在推理过程中会产生大量空白不同,TDT 模型可以利用持续时间输出(对于 parakeet-tdt_ctc-0.6b-ja
模型,最多可跳过 4 帧)跳过大部分空白预测,从而显著提高推理速度。有关 TDT 的详细信息,请参阅 Efficient Sequence Transduction by Jointly Predicting Tokens and Durations。
训练
该模型使用 NeMo 框架进行训练,训练脚本为 example script,基础配置为 base config。
模型在 32 个 NVIDIA A100 80GB GPU 上进行了 300k 步的训练,采用动态分桶和每 GPU 600s 的批量时长,然后在修改后的训练数据(CER > 10% 的训练样本的预测文本)上再微调 100k 步。
该模型使用 SentencePiece 分词器,包含 3072 个令牌,是使用训练集的文本转录通过 script 构建的。
数据集
该模型在包含超过 35k 小时自然日语语音的 ReazonSpeech v2.0 语音语料库上进行训练。
性能
以下表格总结了该模型在字符错误率(CER%)方面的性能。
在 CER 计算中,会去除标点符号和非字母字符,并使用 num2words
库 [6] 将数字转换为单词。
版本 |
解码器 |
JSUT basic5000 |
MCV 8.0 测试集 |
MCV 16.1 开发集 |
MCV16.1 测试集 |
TEDxJP - 10k |
1.23.0 |
TDT |
6.4 |
7.1 |
10.1 |
13.2 |
9.0 |
1.23.0 |
CTC |
6.5 |
7.2 |
10.2 |
13.3 |
9.1 |
这些是没有外部语言模型的贪婪 CER 数值。
NVIDIA Riva:部署
NVIDIA Riva 是一个加速语音 AI SDK,可部署在本地、所有云、多云、混合云、边缘和嵌入式设备上。
此外,Riva 还提供:
- 针对最常见语言的世界级开箱即用准确性,其模型检查点在专有数据上进行了数十万 GPU 计算小时的训练。
- 具有运行时单词增强(例如品牌和产品名称)以及声学模型、语言模型和逆文本归一化定制的一流准确性。
- 流式语音识别、Kubernetes 兼容扩展和企业级支持。
尽管该模型目前尚未得到 Riva 的支持,但 支持的模型列表在此。你可以查看 Riva 实时演示。
🔧 技术细节
模型架构
此模型采用混合 FastConformer - TDT - CTC 架构。FastConformer 是 Conformer 模型的优化版本,具有 8 倍深度可分离卷积下采样。TDT(Token - and - Duration Transducer)是传统 Transducer 的推广,通过解耦令牌和持续时间预测,可显著提高推理速度。
训练过程
模型使用 NeMo 框架进行训练,在 32 个 NVIDIA A100 80GB GPU 上进行 300k 步训练,采用动态分桶和每 GPU 600s 的批量时长,后在修改后的训练数据上微调 100k 步。使用 SentencePiece 分词器,包含 3072 个令牌,通过训练集文本转录构建。
数据集
模型在 ReazonSpeech v2.0 语音语料库上训练,该语料库包含超过 35k 小时的自然日语语音。
📄 许可证
使用此模型的许可受 CC - BY - 4.0 许可协议的约束。通过下载该模型的公开和发布版本,即表示你接受 CC - BY - 4.0 许可协议的条款和条件。
参考文献
[1] Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition
[2] Efficient Sequence Transduction by Jointly Predicting Tokens and Durations
[3] NVIDIA NeMo Framework
[4] Google SentencePiece Tokenizer
[5] ReazonSpeech v2.0
[6] num2words library - Convert numbers to words in multiple languages