🚀 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許可證。