🚀 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