🚀 hubert-base-korean
Hubert-base-korean是用于自动语音识别的模型,基于Facebook提出的Hubert架构,采用自监督学习方式直接从原始波形学习语音信号,在韩语语音处理方面表现出色。
🚀 快速开始
Pytorch
import torch
from transformers import HubertModel
model = HubertModel.from_pretrained("team-lucid/hubert-base-korean")
wav = torch.ones(1, 16000)
outputs = model(wav)
print(f"Input: {wav.shape}")
print(f"Output: {outputs.last_hidden_state.shape}")
JAX/Flax
import jax.numpy as jnp
from transformers import FlaxAutoModel
model = FlaxAutoModel.from_pretrained("team-lucid/hubert-base-korean", trust_remote_code=True)
wav = jnp.ones((1, 16000))
outputs = model(wav)
print(f"Input: {wav.shape}")
print(f"Output: {outputs.last_hidden_state.shape}")
✨ 主要特性
Hubert(Hidden-Unit BERT)是Facebook提出的语音表征学习模型。与传统的语音识别模型不同,Hubert采用自监督学习方法,直接从原始波形中学习语音信号。该研究使用由谷歌的TPU Research Cloud(TRC)支持的Cloud TPU进行训练。
📚 详细文档
模型描述
属性 |
详情 |
模型类型 |
Base:参数95M;Large:参数317M |
CNN Encoder strides |
Base和Large均为5, 2, 2, 2, 2, 2, 2 |
CNN Encoder kernel width |
Base和Large均为10, 3, 3, 3, 3, 2, 2 |
CNN Encoder channel |
Base和Large均为512 |
Transformer Encoder Layer |
Base为12;Large为24 |
Transformer Encoder embedding dim |
Base为768;Large为1024 |
Transformer Encoder inner FFN dim |
Base为3072;Large为4096 |
Transformer Encoder attention heads |
Base为8;Large为16 |
Projection dim |
Base为256;Large为768 |
训练详情
训练数据
该模型使用了由韩国科学技术信息通信部资助、韩国智能信息社会促进机构支持构建的数据集进行训练,包括自由对话语音(普通男女)、多说话人语音合成数据和广播内容对话体语音识别数据,共约4000小时的数据。
训练过程
与原论文相同,先基于MFCC训练Base模型,然后使用500个聚类进行k-means操作,再重新训练Base和Large模型。
训练超参数
超参数 |
Base |
Large |
Warmup Steps |
32,000 |
32,000 |
Learning Rates |
5e-4 |
1.5e-3 |
Batch Size |
128 |
128 |
Weight Decay |
0.01 |
0.01 |
Max Steps |
400,000 |
400,000 |
Learning Rate Decay |
0.1 |
0.1 |
\(Adam\beta_1\) |
0.9 |
0.9 |
\(Adam\beta_2\) |
0.99 |
0.99 |
📄 许可证
本项目采用Apache-2.0许可证。