许可协议:Apache-2.0
语言:芬兰语
评估指标:
标签:
- 自动语音识别
- 芬兰语
- 芬兰文
- 训练生成
- Hugging Face ASR排行榜
数据集:
- Mozilla基金会Common Voice 9.0
模型索引:
- 名称:wav2vec2-base-fi-voxpopuli-v2微调版
结果:
- 任务:
名称:自动语音识别
类型:自动语音识别
数据集:
名称:Common Voice 9
类型:mozilla-foundation/common_voice_9_0
参数:fi
评估指标:
- 名称:测试WER
类型:wer
值:5.93
- 名称:测试CER
类型:cer
值:1.40
- 任务:
名称:自动语音识别
类型:自动语音识别
数据集:
名称:FLEURS ASR
类型:google/fleurs
参数:fi_fi
评估指标:
- 名称:测试WER
类型:wer
值:13.99
- 名称:测试CER
类型:cer
值:6.07
芬兰语ASR专用Wav2Vec2-base-fi-voxpopuli-v2模型
本声学模型是基于facebook/wav2vec2-base-fi-voxpopuli-v2针对芬兰语自动语音识别任务微调的版本,使用了276.7小时的芬兰语标注语音数据进行训练。Wav2Vec2技术最初发表于此论文,并在该页面首次发布。
本仓库还包含解码阶段与声学模型配合使用的芬兰语KenLM语言模型。
模型描述
Wav2vec2-base-fi-voxpopuli-v2是Facebook AI针对芬兰语语音的预训练模型,基于VoxPopuli V2数据集中14.2万小时无标注芬兰语语音,采用wav2vec 2.0目标函数进行预训练。
本模型是在此预训练模型基础上针对芬兰语ASR任务微调的版本。
用途与限制
可用于芬兰语语音转文字任务。
使用方法
参考仓库中的run-finnish-asr-models.ipynb笔记本获取详细使用示例。
局限性
由于训练数据中音频样本最长20秒,本模型对类似长度的短音频效果最佳。处理更长音频时可尝试分块处理技术。
训练数据主要来自芬兰议会数据集,可能对日常口语或方言的泛化能力有限。数据中成年男性语音占比较高,可能影响对儿童或女性语音的识别效果。
解码使用的KenLM语言模型基于音频文本和芬兰维基百科子集训练,对非正式语言或方言的适应性可能不足。建议针对特定领域训练专属语言模型。
训练数据
使用276.7小时芬兰语标注语音数据微调,来源如下:
数据集 |
时长 |
占比 |
Common Voice 9.0芬兰语集 |
10.80小时 |
3.90% |
芬兰议会会议2 |
0.24小时 |
0.09% |
VoxPopuli芬兰语集 |
21.97小时 |
7.94% |
CSS10芬兰语集 |
10.32小时 |
3.73% |
阿尔托议会ASR语料库 |
228.00小时 |
82.40% |
芬兰广播语料库 |
5.37小时 |
1.94% |
所有数据集经筛选保留不超过20秒的音频样本。
训练过程
在Hugging Face与OVHcloud赞助的Tesla V100 GPU上完成训练,使用修改版的Hugging Face训练脚本。
KenLM语言模型训练遵循教程,使用音频文本及10万条清洗过的芬兰维基百科样本(2021年8月版)构建5-gram模型。
超参数设置
训练超参数:
- 学习率:1e-04
- 批量大小:64
- 优化器:8-bit Adam (beta=0.9/0.999, epsilon=1e-08)
- 学习率调度:线性预热500步
- 训练轮次:10
- 混合精度:原生AMP
预训练模型初始化参数:
- 注意力丢弃率:0.094
- 隐藏层丢弃率:0.047
- 特征投影丢弃率:0.04
- 掩码时间概率:0.082
- 层级丢弃率:0.041
- 激活丢弃率:0.055
- CTC损失缩减:均值
训练结果
训练损失 |
轮次 |
步数 |
验证损失 |
WER |
1.575 |
0.33 |
500 |
0.7454 |
0.7048 |
...(中间数据省略)... |
|
|
|
|
0.3252 |
9.95 |
15000 |
0.1316 |
0.1498 |
框架版本
- Transformers 4.19.1
- PyTorch 1.11.0+cu102
- Datasets 2.2.1
- Tokenizers 0.11.0
评估结果
在以下测试集评估:
- Common Voice 7.0芬兰语测试集
- Common Voice 9.0芬兰语测试集
- FLEURS ASR芬兰语测试集
Common Voice 7.0测试
运行评估脚本:
python3 eval.py --model_id Finnish-NLP/wav2vec2-base-fi-voxpopuli-v2-finetuned --dataset mozilla-foundation/common_voice_7_0 --config fi --split test
与其他模型对比(WER/CER指标):
模型 |
参数量 |
带LM-WER |
无LM-WER |
带LM-CER |
无LM-CER |
本模型 |
95M |
5.85 |
13.52 |
1.35 |
2.44 |
...(其他模型数据省略)... |
|
|
|
|
|
Common Voice 9.0测试
python3 eval.py --model_id Finnish-NLP/wav2vec2-base-fi-voxpopuli-v2-finetuned --dataset mozilla-foundation/common_voice_9_0 --config fi --split test
性能对比:
模型 |
参数量 |
带LM-WER |
无LM-WER |
带LM-CER |
无LM-CER |
本模型 |
95M |
5.93 |
14.08 |
1.40 |
2.59 |
...(其他模型数据省略)... |
|
|
|
|
|
FLEURS ASR测试
python3 eval.py --model_id Finnish-NLP/wav2vec2-base-fi-voxpopuli-v2-finetuned --dataset google/fleurs --config fi_fi --split test
性能对比:
模型 |
参数量 |
带LM-WER |
无LM-WER |
带LM-CER |
无LM-CER |
本模型 |
95M |
13.99 |
17.16 |
6.07 |
6.61 |
...(其他模型数据省略)... |
|
|
|
|
|
团队成员
欢迎随时联系我们获取更多细节 🤗