🚀 Wav2Vec2 XLS-R 芬蘭語自動語音識別模型
本聲學模型是 facebook/wav2vec2-xls-r-1b 針對芬蘭語自動語音識別(ASR)任務的微調版本。該模型使用了 275.6 小時的芬蘭語轉錄語音數據進行微調。Wav2Vec2 XLS-R 首次在 這篇論文 中被提出,並在 此頁面 首次發佈。
本倉庫還包含了在解碼階段與聲學模型一起使用的芬蘭語 KenLM 語言模型。
注意:此模型與 Finnish-NLP/wav2vec2-xlsr-1b-finnish-lm-v2 模型完全相同,只是將其複製/遷移到了 Finnish-NLP
Hugging Face 組織中。
✨ 主要特性
- 基於預訓練的
facebook/wav2vec2-xls-r-1b
模型,針對芬蘭語 ASR 任務進行微調。
- 包含用於解碼階段的芬蘭語 KenLM 語言模型。
- 在多個芬蘭語語音數據集上進行訓練,具有較好的性能表現。
📦 安裝指南
文檔中未提及安裝步驟,故跳過此章節。
💻 使用示例
文檔中未提供代碼示例,故跳過此章節。
📚 詳細文檔
模型描述
Wav2Vec2 XLS-R 是 Facebook AI 推出的大規模多語言語音預訓練模型。它在 436000 小時的無標籤語音數據上進行預訓練,這些數據來自 VoxPopuli、MLS、CommonVoice、BABEL 和 VoxLingua107 等數據集。該模型使用 wav2vec 2.0 目標函數,支持 128 種語言。
你可以從 這篇博客 和 這篇論文 中瞭解更多關於該預訓練模型的信息。
本模型是預訓練模型(10 億參數變體)針對芬蘭語 ASR 任務的微調版本。
預期用途與侷限性
預期用途
你可以將此模型用於芬蘭語自動語音識別(語音轉文本)任務。
使用方法
查看本倉庫中的 run-finnish-asr-models.ipynb 筆記本,以獲取使用此模型的詳細示例。
侷限性和偏差
- 該模型使用的音頻樣本最大長度為 20 秒,因此它最適合處理類似長度的較短音頻。不過,你也可以嘗試使用更長的音頻,並觀察其效果。如果在處理非常長的音頻文件時遇到內存不足的錯誤,你可以使用 這篇博客文章 中介紹的音頻分塊方法。
- 用於微調的大部分數據來自芬蘭議會數據集,因此該模型可能無法很好地泛化到非常不同的領域,例如帶有方言的日常芬蘭語口語等。此外,數據集中的音頻往往以成年男性為主,因此該模型在處理兒童和女性的語音時可能效果不佳。
- 解碼階段使用的芬蘭語 KenLM 語言模型是使用音頻轉錄文本數據和芬蘭維基百科的一個子集進行訓練的。因此,解碼器的語言模型可能無法很好地泛化到非常不同的語言,例如帶有方言的日常口語(因為維基百科主要包含正式的芬蘭語)。為你的領域語言訓練自己的 KenLM 語言模型並在解碼中使用它可能會更有益。
訓練數據
本模型使用了來自以下數據集的 275.6 小時芬蘭語轉錄語音數據進行微調:
數據集經過篩選,僅包含最大長度為 20 秒的音頻樣本。
訓練過程
本模型是在 Hugging Face 組織的 魯棒語音挑戰活動 期間進行訓練的。訓練在由 OVHcloud 贊助的 Tesla V100 GPU 上進行。
訓練腳本由 Hugging Face 提供,可在 此處 獲取。我們僅對其數據加載部分進行了修改,以適應我們的自定義數據集。
對於 KenLM 語言模型的訓練,我們遵循了 Hugging Face 提供的 博客文章教程。5 元 KenLM 的訓練數據包括音頻訓練數據的文本轉錄和 100000 個隨機抽樣的清理後的 芬蘭維基百科(2021 年 8 月)數據集。
訓練超參數
訓練期間使用了以下超參數:
- 學習率:5e-05
- 訓練批次大小:32
- 評估批次大小:8
- 隨機種子:42
- 優化器:8 位 Adam,β=(0.9, 0.999),ε=1e-08
- 學習率調度器類型:線性
- 學習率調度器熱身步數:500
- 訓練輪數:10
- 混合精度訓練:原生 AMP
預訓練的 facebook/wav2vec2-xls-r-1b
模型使用以下超參數進行初始化:
- 注意力丟棄率:0.094
- 隱藏層丟棄率:0.047
- 特徵投影丟棄率:0.04
- 掩碼時間概率:0.082
- 層丟棄率:0.041
- 激活丟棄率:0.055
- CTC 損失縮減方式:"mean"
訓練結果
訓練損失 |
輪數 |
步數 |
驗證損失 |
字錯誤率(WER) |
0.7778 |
0.17 |
500 |
0.2851 |
0.3572 |
0.5506 |
0.34 |
1000 |
0.1595 |
0.2130 |
0.6569 |
0.5 |
1500 |
0.1458 |
0.2046 |
0.5997 |
0.67 |
2000 |
0.1374 |
0.1975 |
0.542 |
0.84 |
2500 |
0.1390 |
0.1956 |
0.4815 |
1.01 |
3000 |
0.1266 |
0.1813 |
0.6982 |
1.17 |
3500 |
0.1441 |
0.1965 |
0.4522 |
1.34 |
4000 |
0.1232 |
0.1822 |
0.4655 |
1.51 |
4500 |
0.1209 |
0.1702 |
0.4069 |
1.68 |
5000 |
0.1149 |
0.1688 |
0.4226 |
1.84 |
5500 |
0.1121 |
0.1560 |
0.3993 |
2.01 |
6000 |
0.1091 |
0.1557 |
0.406 |
2.18 |
6500 |
0.1115 |
0.1553 |
0.4098 |
2.35 |
7000 |
0.1144 |
0.1560 |
0.3995 |
2.51 |
7500 |
0.1028 |
0.1476 |
0.4101 |
2.68 |
8000 |
0.1129 |
0.1511 |
0.3636 |
2.85 |
8500 |
0.1025 |
0.1517 |
0.3534 |
3.02 |
9000 |
0.1068 |
0.1480 |
0.3836 |
3.18 |
9500 |
0.1072 |
0.1459 |
0.3531 |
3.35 |
10000 |
0.0928 |
0.1367 |
0.3649 |
3.52 |
10500 |
0.1042 |
0.1426 |
0.3645 |
3.69 |
11000 |
0.0979 |
0.1433 |
0.3685 |
3.85 |
11500 |
0.0947 |
0.1346 |
0.3325 |
4.02 |
12000 |
0.0991 |
0.1352 |
0.3497 |
4.19 |
12500 |
0.0919 |
0.1358 |
0.3303 |
4.36 |
13000 |
0.0888 |
0.1272 |
0.3323 |
4.52 |
13500 |
0.0888 |
0.1277 |
0.3452 |
4.69 |
14000 |
0.0894 |
0.1279 |
0.337 |
4.86 |
14500 |
0.0917 |
0.1289 |
0.3114 |
5.03 |
15000 |
0.0942 |
0.1313 |
0.3099 |
5.19 |
15500 |
0.0902 |
0.1239 |
0.3079 |
5.36 |
16000 |
0.0871 |
0.1256 |
0.3293 |
5.53 |
16500 |
0.0861 |
0.1263 |
0.3123 |
5.7 |
17000 |
0.0876 |
0.1203 |
0.3093 |
5.86 |
17500 |
0.0848 |
0.1226 |
0.2903 |
6.03 |
18000 |
0.0914 |
0.1221 |
0.297 |
6.2 |
18500 |
0.0841 |
0.1185 |
0.2797 |
6.37 |
19000 |
0.0858 |
0.1165 |
0.2878 |
6.53 |
19500 |
0.0874 |
0.1161 |
0.2974 |
6.7 |
20000 |
0.0835 |
0.1173 |
0.3051 |
6.87 |
20500 |
0.0835 |
0.1178 |
0.2941 |
7.04 |
21000 |
0.0852 |
0.1155 |
0.258 |
7.21 |
21500 |
0.0832 |
0.1132 |
0.2778 |
7.37 |
22000 |
0.0829 |
0.1110 |
0.2751 |
7.54 |
22500 |
0.0822 |
0.1069 |
0.2887 |
7.71 |
23000 |
0.0819 |
0.1103 |
0.2509 |
7.88 |
23500 |
0.0787 |
0.1055 |
0.2501 |
8.04 |
24000 |
0.0807 |
0.1076 |
0.2399 |
8.21 |
24500 |
0.0784 |
0.1052 |
0.2539 |
8.38 |
25000 |
0.0772 |
0.1075 |
0.248 |
8.55 |
25500 |
0.0772 |
0.1055 |
0.2689 |
8.71 |
26000 |
0.0763 |
0.1027 |
0.2855 |
8.88 |
26500 |
0.0756 |
0.1035 |
0.2421 |
9.05 |
27000 |
0.0771 |
0.0998 |
0.2497 |
9.22 |
27500 |
0.0756 |
0.0971 |
0.2367 |
9.38 |
28000 |
0.0741 |
0.0974 |
0.2473 |
9.55 |
28500 |
0.0739 |
0.0982 |
0.2396 |
9.72 |
29000 |
0.0756 |
0.0991 |
0.2602 |
9.89 |
29500 |
0.0737 |
0.0975 |
框架版本
- Transformers 4.17.0.dev0
- Pytorch 1.10.2+cu102
- Datasets 1.18.3
- Tokenizers 0.11.0
評估結果
評估使用了 Common Voice 7.0 芬蘭語測試集。
要評估此模型,請運行本倉庫中的 eval.py
腳本:
python3 eval.py --model_id aapot/wav2vec2-xlsr-1b-finnish-lm-v2 --dataset mozilla-foundation/common_voice_7_0 --config fi --split test
與我們的其他模型相比,此模型(表格的第一行)在字錯誤率(WER)和字符錯誤率(CER)方面取得了以下結果:
模型 |
帶語言模型的 WER |
不帶語言模型的 WER |
帶語言模型的 CER |
不帶語言模型的 CER |
aapot/wav2vec2-xlsr-1b-finnish-lm-v2 |
4.09 |
9.73 |
0.88 |
1.65 |
aapot/wav2vec2-xlsr-1b-finnish-lm |
5.65 |
13.11 |
1.20 |
2.23 |
aapot/wav2vec2-xlsr-300m-finnish-lm |
8.16 |
17.92 |
1.97 |
3.36 |
團隊成員
如有更多詳情,請隨時聯繫我們 🤗
📄 許可證
本模型使用 Apache-2.0 許可證。