项目介绍:wav2vec2-xls-r-300m-timit-phoneme
项目背景
wav2vec2-xls-r-300m-timit-phoneme项目是一种自动语音识别(ASR)模型。它是基于Facebook的wav2vec2-xls-r-300m模型的微调版本,该模型专为DARPA TIMIT数据集上的音素识别而设计。TIMIT数据集是一种用于声学-音素连续语音研究的标准数据集,主要用于研究语音识别相关技术。该项目的技术和模型实现使得语音转文字的过程更加高效和精准。
使用方法
方法1:使用HuggingFace's pipeline
HuggingFace's pipeline提供了一种便捷的方法,可以从原始音频输入到文本输出的全流程。使用这条管道只需以下几步:
from transformers import pipeline
# 载入模型
pipe = pipeline(model="vitouphy/wav2vec2-xls-r-300m-timit-phoneme")
# 处理原始音频
output = pipe("audio_file.wav", chunk_length_s=10, stride_length_s=(4, 2))
方法2:自定义音素预测
对于需要更大灵活性的用户,他们可以选择自定义的方法进行音素预测:
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
from datasets import load_dataset
import torch
import soundfile as sf
# 载入模型和处理器
processor = Wav2Vec2Processor.from_pretrained("vitouphy/wav2vec2-xls-r-300m-timit-phoneme")
model = Wav2Vec2ForCTC.from_pretrained("vitouphy/wav2vec2-xls-r-300m-timit-phoneme")
# 读取并处理输入音频
audio_input, sample_rate = sf.read("audio_file.wav")
inputs = processor(audio_input, sampling_rate=16_000, return_tensors="pt", padding=True)
with torch.no_grad():
logits = model(inputs.input_values, attention_mask=inputs.attention_mask).logits
# 解码ID为字符串
predicted_ids = torch.argmax(logits, axis=-1)
predicted_sentences = processor.batch_decode(predicted_ids)
print(predicted_sentences)
训练和评估数据
本模型使用DARPA TIMIT数据集进行训练和评估。数据集被分为训练、验证和测试三个部分,比例为80/10/10,分别对应于大约137/17/17分钟的语音数据。在测试集上的字符错误率(CER)为7.996%。
训练过程
训练超参数
在训练过程中,使用了以下超参数:
- 学习率:3e-05
- 训练批次大小:8
- 评估批次大小:8
- 随机种子:42
- 梯度累积步数:4
- 总训练批次大小:32
- 优化器:Adam,参数为betas=(0.9, 0.999) 和 epsilon=1e-08
- 学习率调度类型:线性
- 学习率调度预热步骤:2000
- 训练步骤:10000
- 混合精度训练:Native AMP
使用的框架版本
- Transformers 版本:4.17.0.dev0
- Pytorch 版本:1.10.2+cu102
- Datasets 版本:1.18.2.dev0
- Tokenizers 版本:0.11.0
引用
@misc { phy22-phoneme,
author = {Phy, Vitou},
title = {{Automatic Phoneme Recognition on TIMIT Dataset with Wav2Vec 2.0}},
year = 2022,
note = {{If you use this model, please cite it using these metadata.}},
publisher = {Hugging Face},
version = {1.0},
doi = {10.57967/hf/0125},
url = {https://huggingface.co/vitouphy/wav2vec2-xls-r-300m-timit-phoneme}
}
wav2vec2-xls-r-300m-timit-phoneme项目运用了先进的自然语言处理和机器学习技术,使得语音识别更加高效可靠,是研究和应用语音技术的重要工具。