🚀 鸚鵡螺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