🚀 NVIDIA FastConformer-CTC Large (en)
該模型可將語音轉錄為小寫英文字母,是FastConformer CTC的“大型”版本(約1.15億個參數),能高效處理英文語音轉錄任務。
🚀 快速開始
要訓練、微調或使用該模型,你需要安裝 NVIDIA NeMo。建議在安裝最新版本的Pytorch後再安裝它。
pip install nemo_toolkit['all']
✨ 主要特性
- 可將語音轉錄為小寫英文字母。
- 是FastConformer CTC的“大型”版本,約有1.15億個參數。
- 採用多任務訓練設置,使用Transducer解碼器損失進行訓練。
- 基於優化的FastConformer架構,具有8倍深度可分離卷積下采樣。
📦 安裝指南
要訓練、微調或使用該模型,你需要安裝 NVIDIA NeMo。建議在安裝最新版本的Pytorch後再安裝它。
pip install nemo_toolkit['all']
💻 使用示例
基礎用法
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained(model_name="nvidia/stt_en_fastconformer_ctc_large")
高級用法
轉錄單個音頻文件
首先,獲取一個示例音頻文件:
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)
轉錄多個音頻文件
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_en_fastconformer_ctc_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 詳細文檔
輸入
該模型接受16000 Hz單聲道音頻(wav文件)作為輸入。
輸出
該模型為給定的音頻樣本提供轉錄後的語音字符串。
模型架構
FastConformer [1] 是Conformer模型的優化版本,具有8倍深度可分離卷積下采樣。該模型在多任務設置中使用Transducer解碼器損失進行訓練。你可以在 Fast-Conformer Model 中找到有關FastConformer詳細信息。
訓練
使用NeMo工具包 [3] 對模型進行了數百個epoch的訓練。這些模型使用 示例腳本 和 基礎配置 進行訓練。
這些模型的分詞器使用訓練集的文本轉錄,通過 腳本 構建。
數據集
此集合中的模型在包含數千小時英語語音的複合數據集(NeMo ASRSet En)上進行訓練:
- Librispeech:960小時的英語語音
- Fisher Corpus
- Switchboard-1 Dataset
- WSJ-0和WSJ-1
- National Speech Corpus (Part 1, Part 6)
- VCTK
- VoxPopuli (EN)
- Europarl-ASR (EN)
- Multilingual Librispeech (MLS EN) - 2000小時子集
- Mozilla Common Voice (v7.0)
- People's Speech - 12000小時子集
性能
自動語音識別模型的性能使用詞錯誤率(WER)進行衡量。由於該數據集在多個領域和更大的語料庫上進行訓練,因此在一般情況下,它在轉錄音頻方面通常表現更好。
以下表格總結了此集合中可用模型使用Transducer解碼器的性能。ASR模型的性能以詞錯誤率(WER%)的形式報告,使用貪心解碼。
版本 |
分詞器 |
詞彙表大小 |
LS test-other |
LS test-clean |
WSJ Eval92 |
WSJ Dev93 |
NSC Part 1 |
MLS Test |
MCV Test 7.0 |
訓練數據集 |
1.18.0 |
SentencePiece Unigram |
1024 |
4.2 |
2.1 |
1.6 |
2.5 |
6.3 |
6.4 |
8.3 |
NeMo ASRSET 3.0 |
侷限性
由於該模型在公開可用的語音數據集上進行訓練,對於包含技術術語或模型未訓練過的方言的語音,其性能可能會下降。該模型對於帶有口音的語音可能表現也較差。
NVIDIA Riva部署
NVIDIA Riva 是一個加速的語音AI SDK,可部署在本地、所有云、多雲、混合雲、邊緣和嵌入式設備上。此外,Riva還提供:
- 針對最常見語言的世界級開箱即用準確性,模型檢查點在專有數據上進行訓練,使用了數十萬小時的GPU計算時間。
- 具有運行時單詞增強(例如品牌和產品名稱)以及聲學模型、語言模型和逆文本歸一化的定製功能,實現一流的準確性。
- 流式語音識別、Kubernetes兼容的擴展和企業級支持。
雖然該模型目前尚未得到Riva的支持,但 支持的模型列表在此。 查看 Riva即時演示。
🔧 技術細節
FastConformer是Conformer模型的優化版本,通過8倍深度可分離卷積下采樣,提升了模型的效率和性能。在多任務訓練設置中,使用Transducer解碼器損失進一步優化了模型的轉錄能力。訓練過程使用NeMo工具包,結合特定的示例腳本和基礎配置,在多個公開數據集上進行了數百個epoch的訓練,以確保模型在不同場景下的泛化能力。
📄 許可證
使用此模型的許可受 CC-BY-4.0 許可協議的約束。通過下載該模型的公開版本,即表示你接受 CC-BY-4.0 許可協議的條款和條件。
參考文獻
[1] Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition
[2] Google Sentencepiece Tokenizer
[3] NVIDIA NeMo Toolkit