许可协议: apache-2.0
语言: 芬兰语
评估指标:
标签:
- 自动语音识别
- 芬兰语
- 芬兰文
- 训练生成
- hf-asr排行榜
- 鲁棒语音赛事
数据集:
- mozilla-foundation/common_voice_7_0
模型索引:
- 名称: wav2vec2-xlsr-1b-finnish-lm-v2
成果:
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: Common Voice 7
类型: mozilla-foundation/common_voice_7_0
参数: fi
指标:
- 名称: 测试WER
类型: wer
数值: 4.09
- 名称: 测试CER
类型: cer
数值: 0.88
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: FLEURS ASR
类型: google/fleurs
参数: fi_fi
指标:
- 名称: 测试WER
类型: wer
数值: 12.11
- 名称: 测试CER
类型: cer
数值: 5.65
芬兰语ASR的Wav2vec2-xls-r-1b模型
本声学模型是基于facebook/wav2vec2-xls-r-1b针对芬兰语ASR任务微调的版本。该模型使用275.6小时的芬兰语标注语音数据进行微调。Wav2Vec2 XLS-R的论文介绍见此处,首次发布于此页面。
本仓库还包含在声学模型解码阶段使用的芬兰语KenLM语言模型。
注意:此模型与aapot/wav2vec2-xlsr-1b-finnish-lm-v2完全相同,只是被复制/移动到了Finnish-NLP
这个Hugging Face组织下。
模型描述
Wav2Vec2 XLS-R是Facebook AI的大规模多语言预训练语音模型。它在43.6万小时的无标注语音数据上预训练,包括VoxPopuli、MLS、CommonVoice、BABEL和VoxLingua107。它使用wav2vec 2.0目标函数,支持128种语言。
您可以从这篇博客和这篇论文了解更多关于预训练模型的信息。
本模型是预训练模型(10亿参数版本)针对芬兰语ASR任务的微调版本。
预期用途与限制
您可以将此模型用于芬兰语ASR(语音转文本)任务。
使用方法
查看本仓库中的run-finnish-asr-models.ipynb笔记本,了解如何使用此模型的详细示例。
限制与偏差
此模型使用最长20秒的音频样本进行微调,因此可能最适合类似长度的较短音频。不过,您也可以尝试处理更长的音频文件。如果遇到超长音频文件的内存不足错误,可以使用这篇博客文章中介绍的音频分块方法。
微调所用数据绝大部分来自芬兰议会数据集,因此该模型可能无法很好地泛化到非常不同的领域,如带有方言的日常芬兰口语等。此外,数据集中的音频往往以成年男性为主,因此该模型可能对儿童和女性语音的效果不佳。
解码阶段使用的芬兰语KenLM语言模型是基于音频转录文本和芬兰维基百科子集训练的。因此,解码器的语言模型可能无法很好地泛化到非常不同的语言,例如带有方言的日常口语(因为维基百科主要包含正式的芬兰语)。针对您的领域语言训练自己的KenLM语言模型并在解码中使用可能会更有益。
训练数据
该模型使用来自以下数据集的275.6小时芬兰语标注语音数据进行微调:
数据集经过过滤,只包含最长20秒的音频样本。
训练过程
该模型是在Hugging Face组织的鲁棒语音挑战赛期间训练的。训练在OVHcloud赞助的Tesla V100 GPU上进行。
训练脚本由Hugging Face提供,可在此处获取。我们只修改了其数据加载部分以适应我们的自定义数据集。
对于KenLM语言模型训练,我们遵循Hugging Face提供的博客教程。5-gram KenLM的训练数据包括音频训练数据的文本转录和清洗后的芬兰维基百科(2021年8月)数据集的10万随机样本。
训练超参数
训练期间使用的超参数如下:
- 学习率:5e-05
- 训练批次大小:32
- 评估批次大小:8
- 随机种子:42
- 优化器:8-bit Adam,betas=(0.9,0.999),epsilon=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.279 |
|
|
|
|