语言:
- 葡萄牙语(pt)
许可证: Apache-2.0
标签:
- whisper-event
- 训练生成
数据集:
- mozilla-foundation/common_voice_11_0
评估指标:
- 词错误率(wer)
模型索引:
- 名称: Whisper Medium 葡萄牙语版
结果:
- 任务:
名称: 自动语音识别
类型: automatic-speech-recognition
数据集:
名称: mozilla-foundation/common_voice_11_0 pt
类型: mozilla-foundation/common_voice_11_0
配置: pt
拆分: test
参数: pt
指标:
- 名称: 词错误率(Wer)
类型: wer
值: 6.5785713084850626
Whisper Medium 葡萄牙语版 🇧🇷🇵🇹
欢迎使用葡萄牙语转录的中等规模Whisper模型 👋🏻
如果您希望快速且可靠地将葡萄牙语音频转换为文本,您来对地方了!
在Common Voice 11数据集上,该模型以仅6.579的先进词错误率(WER),相比之前最先进的wav2vec2模型,精度提高了两倍。与原始whisper-medium模型相比,性能提升了1.2倍 🚀。
此模型是基于mozilla-foundation/common_voice_11数据集对openai/whisper-medium进行微调的版本。
下表展示了我们的模型与HuggingFace Hub中下载量最高的葡萄牙语自动语音识别模型的结果对比 🗣:
使用方法
您可以直接使用pipeline调用此模型,特别适合短音频转录。对于长音频转录,请参考长音频转录部分的代码。
pip install git+https://github.com/huggingface/transformers --force-reinstall
pip install torch
>>> from transformers import pipeline
>>> import torch
>>> device = 0 if torch.cuda.is_available() else "cpu"
>>> transcribe = pipeline(
... task="automatic-speech-recognition",
... model="jlondonobo/whisper-medium-pt",
... chunk_length_s=30,
... device=device,
... )
>>> transcribe.model.config.forced_decoder_ids = transcribe.tokenizer.get_decoder_prompt_ids(language="pt", task="transcribe")
>>> transcribe("audio.m4a")["text"]
'我会说葡萄牙语。'
长音频转录
为了提升长音频转录性能,您可以将HF模型转换为whisper
模型,并使用原论文的匹配算法。为此需要安装whisper
及@bayartsogt开发的一系列工具。
pip install git+https://github.com/openai/whisper.git
pip install git+https://github.com/bayartsogt-ya/whisper-multiple-hf-datasets
然后转换HuggingFace模型并进行转录:
>>> import torch
>>> import whisper
>>> from multiple_datasets.hub_default_utils import convert_hf_whisper
>>> device = "cuda" if torch.cuda.is_available() else "cpu"
>>> convert_hf_whisper("jlondonobo/whisper-medium-pt", "local_whisper_model.pt")
>>> model = whisper.load_model("local_whisper_model.pt", device=device)
>>> model.transcribe("long_audio.m4a", language="pt")["text"]
'你好我是若泽。今年23岁,职业是...'
训练超参数
训练采用以下超参数配置:
- 学习率: 1e-05
- 训练批大小: 32
- 评估批大小: 16
- 随机种子: 42
- 优化器: Adam (beta1=0.9, beta2=0.999, epsilon=1e-08)
- 学习率调度器类型: 线性
- 学习率预热步数: 500
- 总训练步数: 5000
- 混合精度训练: 原生AMP
训练结果
训练损失 |
周期 |
步数 |
验证损失 |
词错误率(Wer) |
0.0698 |
1.09 |
1000 |
0.1876 |
7.189 |
0.0218 |
3.07 |
2000 |
0.2254 |
7.110 |
0.0053 |
5.06 |
3000 |
0.2711 |
6.969 |
0.0017 |
7.04 |
4000 |
0.3030 |
6.686 |
0.0005 |
9.02 |
5000 |
0.3205 |
6.579 🤗 |
框架版本
- Transformers 4.26.0.dev0
- Pytorch 1.13.0+cu117
- Datasets 2.7.1.dev0
- Tokenizers 0.13.2