🚀 Parakeet TDT-CTC 110M PnC(英文)
Parakeet TDT-CTC 110M PnC 是一款自动语音识别(ASR)模型,能够对英文语音进行转录,并添加标点和大小写。该模型由 NVIDIA NeMo 和 Suno.ai 团队联合开发,为语音转录提供了高效且准确的解决方案。
🚀 快速开始
安装 NVIDIA NeMo
要训练、微调或使用该模型,你需要安装 NVIDIA NeMo。建议在安装最新版本的 PyTorch 之后再进行安装。
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-110m")
使用 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-110m"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
输入
该模型接受 16000 Hz 单声道音频(wav 文件)作为输入。
输出
该模型会为给定的音频样本提供转录后的语音字符串。
✨ 主要特性
- 联合开发:由 NVIDIA NeMo 和 Suno.ai 团队联合开发。
- 架构优势:采用 Hybrid FastConformer [1] TDT-CTC [2] 架构,约有 114M 参数。使用全注意力的 fastconformer 架构进行训练,可一次性转录长达 20 分钟的音频。
- 快速 RTFx 值:在所有数据集上都能实现超快的 RTFx 值,在 Hugging Face 排行榜评估集的 A100 上平均 RTFx 约为 5300。
📦 安装指南
要训练、微调或使用该模型,你需要安装 NVIDIA NeMo。建议在安装最新版本的 PyTorch 之后再进行安装。
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-110m")
import os
os.system("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)
高级用法
转录多个音频文件,切换解码器使用 CTC:
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/parakeet-tdt_ctc-110m"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
decoding_type='ctc'
📚 详细文档
模型架构
该模型采用 Hybrid FastConformer-TDT-CTC 架构。FastConformer [1] 是 Conformer 模型的优化版本,具有 8 倍深度可分离卷积下采样。你可以在 Fast-Conformer Model 中找到更多关于 FastConformer 的详细信息。
训练
使用 NeMo 工具包 [3] 在 parakeet-tdt-1.1
模型上进行了 20,000 步的微调。该模型使用 示例脚本 和 基础配置 进行训练。
数据集
该模型在 NVIDIA NeMo 和 Suno 团队收集和准备的 36K 小时英文语音数据上进行训练。训练数据集包括 27K 小时的英文语音私有子集,以及来自以下公共 PnC 数据集的 9k 小时数据:
- 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)
性能
自动语音识别模型的性能通过词错误率(WER)来衡量。由于该数据集在多个领域和更大的语料库上进行训练,因此在一般音频转录方面通常表现更好。
以下表格总结了该集合中可用模型使用 Transducer 解码器的性能。ASR 模型的性能以词错误率(WER%)的形式报告,采用贪心解码。
版本 |
分词器 |
词汇表大小 |
AMI |
Earnings-22 |
Giga Speech |
LS test-clean |
LS test-other |
SPGI Speech |
TEDLIUM-v3 |
Vox Populi |
2.0 |
BPE |
1024 |
15.88 |
12.42 |
10.52 |
2.4 |
5.2 |
2.54 |
4.16 |
6.91 |
这些是未使用外部语言模型的贪心 WER 数值。更多评估细节可在 HuggingFace ASR Leaderboard 中找到。
NVIDIA Riva 部署
NVIDIA Riva 是一个加速语音 AI SDK,可在本地、所有云、多云、混合云、边缘和嵌入式设备上部署。此外,Riva 还提供以下功能:
- 高精度:针对最常见语言,使用在专有数据上训练的模型检查点,经过数十万 GPU 计算小时,实现了世界级的开箱即用精度。
- 定制化:通过运行时单词增强(如品牌和产品名称)以及对声学模型、语言模型和逆文本归一化的定制,实现一流的精度。
- 流式识别与企业支持:支持流式语音识别、Kubernetes 兼容扩展和企业级支持。
虽然该模型目前尚未得到 Riva 的支持,但 支持的模型列表在此。你可以查看 Riva 实时演示。
🔧 技术细节
该模型使用 Hybrid FastConformer-TDT-CTC 架构。FastConformer [1] 是 Conformer 模型的优化版本,具有 8 倍深度可分离卷积下采样。你可以在 Fast-Conformer Model 中找到更多关于 FastConformer 的详细信息。
📄 许可证
使用此模型的许可受 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
[7] Towards Measuring Fairness in AI: the Casual Conversations Dataset