license: apache-2.0
tags:
- generated_from_trainer
model-index:
- name: wav2vec2-large-xls-r-300m-german-with-lm
results: []
wav2vec2-large-xls-r-300m-german-with-lm
该模型是基于facebook/wav2vec2-xls-r-300m在Common Voice数据集的德语部分上微调而成。
在评估集上达到了8.8%的词错误率。
模型描述
该德语wav2vec2-xls-r-300m模型使用n-gram语言模型在Common Voice数据集的完整训练集上进行训练。
完整代码可在我的Github仓库中获取。
引用
如需引用本工作,请使用:
@misc{mfleck/wav2vec2-large-xls-r-300m-german-with-lm,
title={XLS-R-300 Wav2Vec2 German with language model},
author={Fleck, Michael},
publisher={Hugging Face},
journal={Hugging Face Hub},
howpublished={\url{https://huggingface.co/mfleck/wav2vec2-large-xls-r-300m-german-with-lm}},
year={2022}
}
预期用途与限制
推理使用示例:
from transformers import pipeline
pipe = pipeline(model="mfleck/wav2vec2-large-xls-r-300m-german-with-lm")
output = pipe("/path/to/file.wav", chunk_length_s=5, stride_length_s=1)
print(output["text"])
训练与评估数据
训练脚本(在单张A100 40GB显卡上约需80小时):
import random
import re
import json
from typing import Any, Dict, List, Optional, Union
import pandas as pd
import numpy as np
import torch
from datasets import load_dataset, load_metric, Audio
from dataclasses import dataclass, field
from transformers import Wav2Vec2CTCTokenizer, Wav2Vec2FeatureExtractor, Wav2Vec2Processor, TrainingArguments, Trainer, Wav2Vec2ForCTC
'''
本脚本大部分内容遵循教程:https://huggingface.co/blog/fine-tune-xlsr-wav2vec2
'''
使用以下脚本评估模型词错误率为8.8%:
import argparse
import re
from typing import Dict
import torch
from datasets import Audio, Dataset, load_dataset, load_metric
from transformers import AutoFeatureExtractor, pipeline
训练过程
训练超参数
训练中使用以下超参数:
- 学习率:0.0001
- 训练批大小:32
- 评估批大小:8
- 随机种子:42
- 梯度累积步数:2
- 总训练批大小:64
- 优化器:Adam(beta1=0.9,beta2=0.999,epsilon=1e-08)
- 学习率调度器类型:线性
- 学习率预热步数:500
- 训练轮次:20
- 混合精度训练:原生AMP
训练结果
训练损失 |
轮次 |
步数 |
验证损失 |
词错误率 |
0.1396 |
1.42 |
5000 |
0.1449 |
0.1479 |
... |
... |
... |
... |
... |
0.0370 |
19.84 |
70000 |
0.1148 |
0.0882 |
框架版本
- Transformers 4.17.0
- PyTorch 1.9.0+cu111
- Datasets 1.18.4
- Tokenizers 0.11.6