🚀 Hubert-Large-Finetuned
基于Facebook的Hubert模型,在960小时的Librispeech语音音频上进行微调,用于自动语音识别的模型
🚀 快速开始
本模型是在16kHz采样的语音音频上,基于960小时的Librispeech数据对大模型进行微调得到的。使用该模型时,请确保输入的语音也采样为16kHz。
模型是 hubert-large-ll60k 的微调版本。
论文链接
作者:Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed
摘要
语音表征学习的自监督方法面临三个独特的问题:(1)每个输入话语中存在多个声音单元;(2)在预训练阶段没有输入声音单元的词典;(3)声音单元长度可变且没有明确的分割。为了解决这三个问题,我们提出了用于自监督语音表征学习的Hidden-Unit BERT(HuBERT)方法,该方法利用离线聚类步骤为类似BERT的预测损失提供对齐的目标标签。我们方法的一个关键要素是仅在掩码区域上应用预测损失,这迫使模型在连续输入上学习组合的声学和语言模型。HuBERT主要依赖于无监督聚类步骤的一致性,而不是分配的聚类标签的内在质量。从一个简单的100聚类的k-means教师开始,并使用两轮聚类,HuBERT模型在Librispeech(960小时)和Libri-light(60,000小时)基准测试的10分钟、1小时、10小时、100小时和960小时微调子集上,要么与最先进的wav2vec 2.0性能相匹配,要么有所改进。使用一个10亿参数的模型,HuBERT在更具挑战性的dev-other和test-other评估子集上显示出高达19%和13%的相对字错误率(WER)降低。
原始模型可在 https://github.com/pytorch/fairseq/tree/master/examples/hubert 找到。
✨ 主要特性
- 数据集:使用了
libri-light
和 librispeech_asr
数据集。
- 适用领域:适用于语音、音频、自动语音识别等领域,位列HF自动语音识别排行榜。
- 许可证:采用
apache-2.0
许可证。
属性 |
详情 |
模型类型 |
Hubert-Large-Finetuned |
训练数据 |
libri-light、librispeech_asr |
在LibriSpeech (clean) 测试集上的测试字错误率(Test WER)为1.9。
💻 使用示例
基础用法
import torch
from transformers import Wav2Vec2Processor, HubertForCTC
from datasets import load_dataset
processor = Wav2Vec2Processor.from_pretrained("facebook/hubert-large-ls960-ft")
model = HubertForCTC.from_pretrained("facebook/hubert-large-ls960-ft")
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
input_values = processor(ds[0]["audio"]["array"], return_tensors="pt").input_values
logits = model(input_values).logits
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.decode(predicted_ids[0])
📄 许可证
本项目采用 apache-2.0
许可证。