🚀 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 许可证。