🚀 鹦鹉螺TDT - CTC 1.1B PnC(英语)
parakeet - tdt_ctc - 1.1b
是一个自动语音识别(ASR)模型,可对英文语音进行转录,并添加标点和大小写。该模型由 NVIDIA NeMo 和 Suno.ai 团队联合开发。它是混合FastConformer [1] TDT - CTC [2] 模型的XXL版本(约11亿参数)。该模型采用局部注意力和全局令牌进行训练,因此可以一次转录长达11小时的音频。参考数据显示,在A100上,该模型可以在不到16秒的时间内转录90分钟的音频。有关完整的架构细节,请参阅模型架构部分和[NeMo文档](https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/main/asr/models.html#fast - conformer)。
🚀 快速开始
安装NVIDIA NeMo
若要训练、微调或使用该模型,你需要安装 NVIDIA NeMo。建议在安装最新版本的PyTorch之后再安装NeMo。
pip install nemo_toolkit['all']
如何使用此模型
该模型可在NeMo工具包 [3] 中使用,可作为预训练检查点进行推理,或在其他数据集上进行微调。
自动实例化模型
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="nvidia/parakeet-tdt_ctc-1.1b")
使用Python进行转录
首先,获取一个示例音频文件:
wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav
然后,进行转录:
output = asr_model.transcribe(['2086-149220-0033.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-1.1b"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
输入
该模型接受16000 Hz的单声道音频(wav文件)作为输入。
输出
该模型会为给定的音频样本输出转录后的语音字符串。
✨ 主要特性
- 强大的转录能力:能够一次转录长达11小时的音频,在A100上,90分钟音频的转录时间不到16秒。
- 混合架构:采用Hybrid FastConformer - TDT - CTC架构,结合了FastConformer和TDT - CTC的优势。
- 多领域适应:在多个领域的数据集上进行训练,能更好地适应不同场景的音频转录。
📦 安装指南
要训练、微调或使用该模型,需安装 NVIDIA NeMo。建议在安装最新版本的PyTorch之后再安装NeMo。
pip install nemo_toolkit['all']
💻 使用示例
基础用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="nvidia/parakeet-tdt_ctc-1.1b")
高级用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="nvidia/parakeet-tdt_ctc-1.1b")
output = asr_model.transcribe(['audio_file_1.wav', 'audio_file_2.wav'])
for result in output:
print(result.text)
📚 详细文档
模型架构
该模型采用Hybrid FastConformer - TDT - CTC架构。FastConformer [1] 是Conformer模型的优化版本,具有8倍深度可分离卷积下采样。有关FastConformer的详细信息,请参阅 [Fast - Conformer Model](https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/main/asr/models.html#fast - conformer)。
训练
使用NeMo工具包 [3] 在 parakeet - tdt - 1.1
模型的基础上对该模型进行了20,000步的微调。该模型使用 此示例脚本 和 此基础配置 进行训练。
这些模型的分词器使用训练集的文本转录,通过 此脚本 构建。
数据集
该模型在由NVIDIA NeMo和Suno团队收集和准备的36,000小时英语语音上进行训练。训练数据集包括一个27,000小时英语语音的私有子集,以及来自以下公共PnC数据集的9,000小时数据:
- Librispeech:960小时的英语语音
- Fisher Corpus
- National Speech Corpus Part 1
- VCTK
- VoxPopuli (EN)
- Europarl - ASR (EN)
- Multilingual Librispeech (MLS EN) - 2,000小时子集
- Mozilla Common Voice (v7.0)
性能
自动语音识别模型的性能通过词错误率(Word Error Rate,WER)来衡量。由于该数据集在多个领域和更大的语料库上进行训练,因此在一般音频转录方面通常表现更好。
以下表格总结了该集合中可用模型在使用Transducer解码器时的性能。ASR模型的性能以贪婪解码的词错误率(WER%)报告。
版本 |
分词器 |
词汇量大小 |
AMI |
Earnings - 22 |
Giga Speech |
LS test - clean |
LS test - other |
SPGI Speech |
TEDLIUM - v3 |
Vox Populi |
Common Voice |
1.23.0 |
SentencePiece Unigram |
1024 |
15.94 |
11.86 |
10.19 |
1.82 |
3.67 |
2.24 |
3.87 |
6.19 |
8.69 |
这些是没有外部语言模型的贪婪WER数值。有关评估的更多详细信息,请参阅 [HuggingFace ASR Leaderboard](https://huggingface.co/spaces/hf - audio/open_asr_leaderboard)。
模型公平性评估
正如论文 “Towards Measuring Fairness in AI: the Casual Conversations Dataset” 中所述,我们对 parakeet - tdt_ctc - 1.1b
模型进行了公平性评估。该模型在CausalConversations - v1数据集上进行评估,结果如下:
性别偏差
性别 |
男性 |
女性 |
未指定 |
其他 |
话语数量 |
19325 |
24532 |
926 |
33 |
WER% |
12.81 |
10.49 |
13.88 |
23.12 |
年龄偏差
年龄组 |
(18 - 30) |
(31 - 45) |
(46 - 85) |
(1 - 100) |
话语数量 |
15956 |
14585 |
13349 |
43890 |
WER% |
11.50 |
11.63 |
11.38 |
11.51 |
(公平性评估的错误率通过对参考文本和预测文本进行归一化来确定,与 https://github.com/huggingface/open_asr_leaderboard 中的评估方法类似。)
NVIDIA Riva:部署
NVIDIA Riva 是一个加速语音AI SDK,可部署在本地、所有云、多云、混合云、边缘和嵌入式设备上。此外,Riva还提供:
- 针对最常用语言的世界级开箱即用准确性,模型检查点在专有数据上进行训练,使用了数十万小时的GPU计算资源。
- 具有运行时单词增强(例如品牌和产品名称)以及声学模型、语言模型和逆文本归一化定制功能的一流准确性。
- 流式语音识别、Kubernetes兼容的扩展和企业级支持。
虽然Riva目前不支持此模型,但 支持的模型列表在此。请查看 Riva实时演示。
🔧 技术细节
该模型是混合FastConformer [1] TDT - CTC [2] 模型的XXL版本(约11亿参数)。采用局部注意力和全局令牌进行训练,使用FastConformer架构,具有8倍深度可分离卷积下采样。训练使用NeMo工具包 [3],在 parakeet - tdt - 1.1
模型基础上进行20,000步微调,使用特定的示例脚本和基础配置,分词器通过特定脚本构建。
📄 许可证
使用此模型的许可受 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] Google Sentencepiece Tokenizer
[4] NVIDIA NeMo Toolkit
[5] Suno.ai
[6] [HuggingFace ASR Leaderboard](https://huggingface.co/spaces/hf - audio/open_asr_leaderboard)
[7] Towards Measuring Fairness in AI: the Casual Conversations Dataset