🚀 用於25000小時LargeScaleASR數據集的Conformer模型
該模型由三星人工智能劍橋中心貢獻。
本倉庫提供了在SpeechBrain中基於LargeScaleASR(英文)數據集預訓練的端到端自動語音識別系統所需的所有工具。為獲得更好的使用體驗,建議您進一步瞭解SpeechBrain。
該模型的性能如下:
參數數量 |
驗證集WER |
測試集WER |
LibriSpeech測試集-其他 |
CommonVoice 18測試集 |
Voxpopuli測試集 |
GPU數量 |
480M |
6.8 |
7.5 |
4.6 |
12.0 |
6.9 |
8xV100 32GB |
如果您想在該數據集上訓練自己的模型,請參考SpeechBrain工具包。
🚀 快速開始
安裝SpeechBrain
首先,請使用以下命令安裝SpeechBrain:
pip install speechbrain
建議您閱讀我們的教程,進一步瞭解SpeechBrain。
轉錄您自己的音頻文件(英文)
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr")
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", overrides={"test_beam_size":"1"})
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", overrides={"scorer":None, "ctc_weight_decode":0.0})
asr_model.transcribe_file("speechbrain/asr-conformer-largescaleasr/example.wav")
在GPU上進行推理
若要在GPU上進行推理,在調用from_hparams
方法時添加 run_opts={"device":"cuda"}
。
批量並行推理
請參考此Colab筆記本,瞭解如何使用預訓練模型並行轉錄一批輸入語句。
✨ 主要特性
- 多技術融合:結合了自動語音識別、CTC、注意力機制、Transformer和Conformer等多種技術。
- 高效解碼:支持多種解碼方式,包括大束搜索全解碼、貪心解碼和僅注意力解碼。
- 自動音頻處理:代碼會在調用
transcribe_file
時自動對音頻進行歸一化處理(重採樣+單聲道選擇)。
📦 安裝指南
請使用以下命令安裝SpeechBrain:
pip install speechbrain
💻 使用示例
基礎用法
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr")
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", overrides={"test_beam_size":"1"})
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", overrides={"scorer":None, "ctc_weight_decode":0.0})
asr_model.transcribe_file("speechbrain/asr-conformer-largescaleasr/example.wav")
高級用法
在GPU上進行推理:
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-conformer-largescaleasr", savedir="pretrained_models/asr-conformer-largescaleasr", run_opts={"device":"cuda"})
📚 詳細文檔
管道描述
此自動語音識別(ASR)系統由兩個不同但相互關聯的模塊組成:
- 分詞器(unigram):將單詞轉換為子詞單元,並使用LargeScaleASR數據集的訓練轉錄進行訓練。
- 聲學模型:由Conformer編碼器和聯合解碼器(結合CTC + Transformer)組成。因此,解碼過程也會結合CTC概率。
該系統使用採樣率為16kHz(單聲道)的錄音進行訓練。當調用transcribe_file
時,代碼會自動對音頻進行歸一化處理(即重採樣+單聲道選擇)。
🔧 技術細節
該ASR系統主要由分詞器和聲學模型兩部分組成:
- 分詞器:採用unigram算法,將單詞轉換為子詞單元,使用LargeScaleASR數據集的訓練轉錄進行訓練。這種方法可以更有效地處理未登錄詞和語言的多樣性。
- 聲學模型:由Conformer編碼器和聯合解碼器組成。Conformer編碼器結合了卷積神經網絡(CNN)和Transformer的優點,能夠更好地捕捉語音信號的局部和全局特徵。聯合解碼器使用CTC + Transformer架構,在解碼過程中結合了CTC概率,提高了識別的準確性。
系統訓練使用的錄音採樣率為16kHz(單聲道),代碼會在推理時自動對輸入音頻進行歸一化處理,確保系統的穩定性和兼容性。
📄 許可證
本項目採用Apache-2.0許可證。
關於SpeechBrain
- 官網:https://speechbrain.github.io/
- 代碼倉庫:https://github.com/speechbrain/speechbrain/
- HuggingFace頁面:https://huggingface.co/speechbrain/
引用SpeechBrain
如果您在研究或業務中使用了SpeechBrain,請引用以下文獻:
@article{speechbrainV1,
author = {Mirco Ravanelli and Titouan Parcollet and Adel Moumen and Sylvain de Langen and Cem Subakan and Peter Plantinga and Yingzhi Wang and Pooneh Mousavi and Luca Della Libera and Artem Ploujnikov and Francesco Paissan and Davide Borra and Salah Zaiem and Zeyu Zhao and Shucong Zhang and Georgios Karakasidis and Sung-Lin Yeh and Pierre Champion and Aku Rouhe and Rudolf Braun and Florian Mai and Juan Zuluaga-Gomez and Seyed Mahed Mousavi and Andreas Nautsch and Ha Nguyen and Xuechen Liu and Sangeet Sagar and Jarod Duret and Salima Mdhaffar and Ga{{\"e}}lle Laperri{{\`e}}re and Mickael Rouvier and Renato De Mori and Yannick Est{{\`e}}ve},
title = {Open-Source Conversational AI with SpeechBrain 1.0},
journal = {Journal of Machine Learning Research},
year = {2024},
volume = {25},
number = {333},
pages = {1--11},
url = {http://jmlr.org/papers/v25/24-0991.html}
}