🚀 NVIDIA Conformer-Transducer Large (fr)
該模型在包含超過1500小時法語語音的複合數據集上進行訓練,是Conformer - Transducer的大型版本(約1.2億個參數),可用於自動語音識別任務。
🚀 快速開始
此模型可用於NeMo工具包,可作為預訓練檢查點進行推理或在其他數據集上進行微調。要訓練、微調或使用該模型,你需要安裝 NVIDIA NeMo。建議在安裝最新版本的PyTorch之後再安裝它。
pip install nemo_toolkit['all']
✨ 主要特性
- 基於複合數據集訓練,包含超過1500小時的法語語音。
- 是Conformer - Transducer的大型版本,約1.2億個參數。
- 可用於自動語音識別任務,在多個評估數據集上有較好的表現。
📦 安裝指南
要使用此模型,需要安裝 NVIDIA NeMo。建議在安裝最新版本的PyTorch之後再安裝它,使用以下命令進行安裝:
pip install nemo_toolkit['all']
💻 使用示例
基礎用法
自動實例化模型:
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecRNNTBPEModel.from_pretrained("nvidia/stt_fr_conformer_transducer_large")
高級用法
使用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)
轉錄多個音頻文件
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_fr_conformer_transducer_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 詳細文檔
輸入
該模型接受16000 kHz單聲道音頻(wav文件)作為輸入。
輸出
該模型為給定的音頻樣本提供轉錄後的語音字符串。
模型架構
Conformer - Transducer模型是Conformer模型 [1] 用於自動語音識別的自迴歸變體,它使用Transducer損失/解碼而不是CTC損失。完整的架構細節請參閱 模型架構 部分和 NeMo文檔。
訓練
使用NeMo工具包 [3] 對模型進行了數百個epoch的訓練。這些模型使用 示例腳本 和 基礎配置 進行訓練。這些模型的Sentence - piece分詞器 [2] 使用訓練集的文本轉錄通過 腳本 構建。
數據集
此集合中的所有模型都在一個複合數據集(NeMo ASRSET)上進行訓練,該數據集包含超過一千小時的法語語音:
- MozillaCommonVoice 7.0 - 356小時
- Multilingual LibriSpeech - 1036小時
- VoxPopuli - 182小時
兩個模型使用相同的數據集,不過在第二個模型的訓練中,有一個去除數據中連字符的預處理步驟。
性能
自動語音識別模型的性能使用詞錯誤率(WER)來衡量。由於該數據集在多個領域和更大的語料庫上進行訓練,因此在一般的音頻轉錄中通常會表現得更好。最新模型在以下評估數據集上獲得了以下貪心得分:
- MCV7.0開發集:6.85 %
- MCV7.0測試集:7.95 %
- MLS開發集:5.05 %
- MLS測試集:4.10 %
請注意,這些評估數據集已經過過濾和預處理,僅包含法文字母字符,並且去除了連字符和撇號以外的標點符號。
侷限性
由於該模型是在公開可用的語音數據集上進行訓練的,因此對於包含技術術語或模型未訓練過的方言的語音,該模型的性能可能會下降。對於帶有口音的語音,模型的表現可能也會更差。此外,由於訓練集的部分內容包含1990年前後正字法改革的文本,兩種風格之間的標點規則可能會有所不同。對於需要更高一致性的下游任務,可能需要進行微調或下游處理。如果不需要精確的正字法,建議使用第二個模型。
📄 許可證
本項目採用CC - BY - 4.0許可證。
🔗 參考資料