🚀 NVIDIA Conformer-CTC Large (es)
這是一個用於西班牙語自動語音識別的模型,可將語音轉錄為小寫西班牙語字母(包含空格)。它基於Conformer架構,擁有約1.2億個參數,在1340小時的西班牙語語音複合數據集上進行訓練,並且與NVIDIA Riva兼容,適用於生產級服務器部署。
🚀 快速開始
此模型可在NeMo工具包中使用,你可以將其作為預訓練檢查點進行推理或在其他數據集上進行微調。若要訓練、微調或使用該模型,你需要安裝 NVIDIA NeMo,建議在安裝最新版本的PyTorch之後再安裝它。
pip install nemo_toolkit['all']
✨ 主要特性
- 語言支持:專注於西班牙語語音識別。
- 模型架構:採用Conformer-CTC非自迴歸架構。
- 參數規模:約1.2億個參數的“大型”模型。
- 兼容性:與NVIDIA Riva兼容,便於生產級部署。
📦 安裝指南
安裝NVIDIA NeMo工具包:
pip install nemo_toolkit['all']
💻 使用示例
基礎用法
自動實例化模型:
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModelBPE.from_pretrained("nvidia/stt_es_conformer_ctc_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_es_conformer_ctc_large"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 詳細文檔
輸入
該模型接受16000 kHz單聲道音頻(wav文件)作為輸入。
輸出
該模型為給定的音頻樣本提供轉錄後的語音字符串。
模型架構
Conformer-CTC模型是用於自動語音識別的Conformer模型的非自迴歸變體,它使用CTC損失/解碼而不是Transducer。你可以在 Conformer-CTC Model 中找到該模型的詳細信息。
訓練
使用NeMo工具包 [3] 對模型進行了數百個epoch的訓練。這些模型使用 此示例腳本 和 此基礎配置 進行訓練。
這些模型的分詞器使用訓練集的文本轉錄,通過 此腳本 構建。
用作神經重評分器的語言模型的檢查點可以在 這裡 找到。你可以在 ASR Language Modeling 中找到有關如何為ASR模型訓練和使用語言模型的更多信息。
數據集
此集合中的所有模型都在一個包含1340小時西班牙語語音的複合數據集(NeMo ASRSET)上進行訓練:
- Mozilla Common Voice 7.0(西班牙語) - 數據清理後為289小時
- Multilingual LibriSpeech(西班牙語) - 數據清理後為801小時
- Voxpopuli轉錄子集(西班牙語) - 數據清理後為110小時
- Fisher數據集(西班牙語) - 數據清理後為140小時
性能
此集合中可用模型的列表如下表所示。ASR模型的性能以單詞錯誤率(WER%)報告,採用貪心解碼。
版本 |
分詞器 |
詞彙量大小 |
MCV 7.0 Dev |
MCV 7.0 Test |
MLS Dev |
MLS Test |
Voxpopuli Dev |
Voxpopuli Test |
Fisher Dev |
Fisher Test |
訓練數據集 |
1.8.0 |
SentencePiece Unigram |
1024 |
6.3 |
6.9 |
4.3 |
4.2 |
6.1 |
7.5 |
18.3 |
18.5 |
NeMo ASRSET 2.0 |
在使用 NVIDIA Riva 進行部署時,你可以將此模型與外部語言模型結合使用,以進一步提高WER。以下表格報告了最新模型在不同語言建模技術下的WER(%)。
語言建模 |
訓練數據集 |
MCV 7.0 Dev |
MCV 7.0 Test |
MLS Dev |
MLS Test |
Voxpopuli Dev |
Voxpopuli Test |
Fisher Dev |
Fisher Test |
備註 |
N-gram LM |
西班牙語新聞爬蟲語料庫(5000萬句子) + NeMo ASRSET訓練轉錄 |
5.0 |
5.5 |
3.6 |
3.6 |
5.5 |
6.7 |
17.4 |
17.5 |
N=4, beam_width=128, n_gram_alpha=0.8, n_gram_beta=1.5 |
限制
由於該模型是在公開可用的語音數據集上訓練的,對於包含技術術語或模型未訓練過的方言的語音,其性能可能會下降。對於帶有口音的語音,模型的表現可能也會更差。
使用NVIDIA Riva進行部署
為了獲得最佳的即時準確性、低延遲和高吞吐量,建議使用 NVIDIA Riva 部署該模型。NVIDIA Riva是一個加速語音AI SDK,可在本地、所有云、多雲、混合雲、邊緣和嵌入式設備上部署。
此外,Riva還提供以下功能:
- 開箱即用的高精度:針對最常見語言,使用經過數十萬GPU計算小時的專有數據訓練的模型檢查點。
- 一流的準確性:支持運行時單詞增強(例如品牌和產品名稱),並可自定義聲學模型、語言模型和逆文本歸一化。
- 流式語音識別:支持Kubernetes兼容的擴展和企業級支持。
查看 Riva即時演示。
🔧 技術細節
Conformer-CTC模型結合了卷積和Transformer架構,通過CTC損失函數進行訓練,實現高效的語音識別。它在處理長序列語音時表現出色,能夠捕捉語音中的上下文信息。
📄 許可證
本模型採用CC BY 4.0許可證。
參考文獻