Ru Whisper Small
基於openai/whisper-small微調的俄語語音識別模型,在Sberdevices_golos_10h_crowd數據集上訓練
下載量 43
發布時間 : 12/28/2023
模型概述
針對俄語優化的語音識別模型,適用於自動語音轉錄任務
模型特點
俄語優化
專門針對俄語語音數據進行微調,提升俄語識別準確率
長音頻處理
支持通過分塊算法處理超過30秒的長音頻
時間戳預測
可返回語音識別結果的時間戳信息
推測解碼支持
可使用輔助模型加速推理過程
模型能力
俄語語音識別
長音頻轉錄
時間戳預測
使用案例
語音轉錄
俄語會議記錄
自動轉錄俄語會議內容
俄語媒體內容字幕生成
為俄語視頻自動生成字幕
🚀 ru_whisper_small - Val123val
本模型是 openai/whisper-small 在 Sberdevices_golos_10h_crowd 數據集上進行微調後的版本,可作為自動語音識別(ASR)解決方案,尤其適用於俄語語音識別。
✨ 主要特性
- Whisper 是基於 Transformer 的編解碼器模型,也稱為序列到序列模型,在 680k 小時的標註語音數據上進行訓練,其中俄語數據僅有 5k 小時。
- ru_whisper_small 是在 Sberdevices_golos_10h_crowd 數據集上微調的版本,對於開發者來說,可能是一個很有用的 ASR 解決方案,特別是在俄語語音識別方面。如果針對特定業務任務進行微調,還可能展現出額外的能力。
📦 安裝指南
文檔未提供具體安裝步驟,可參考相關庫的官方文檔進行安裝,如 transformers
、datasets
等。
💻 使用示例
基礎用法
from transformers import WhisperProcessor, WhisperForConditionalGeneration
from datasets import load_dataset
# 加載模型和處理器
processor = WhisperProcessor.from_pretrained("Val123val/ru_whisper_small")
model = WhisperForConditionalGeneration.from_pretrained("Val123val/ru_whisper_small")
model.config.forced_decoder_ids = None
# 加載數據集並讀取音頻文件
ds = load_dataset("bond005/sberdevices_golos_10h_crowd", split="validation", token=True)
sample = ds[0]["audio"]
input_features = processor(sample["array"], sampling_rate=sample["sampling_rate"], return_tensors="pt").input_features
# 生成令牌 ID
predicted_ids = model.generate(input_features)
# 將令牌 ID 解碼為文本
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=False)
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
長音頻轉錄
import torch
from transformers import pipeline
from datasets import load_dataset
device = "cuda:0" if torch.cuda.is_available() else "cpu"
pipe = pipeline(
"automatic-speech-recognition",
model="Val123val/ru_whisper_small",
chunk_length_s=30,
device=device,
)
ds = load_dataset("bond005/sberdevices_golos_10h_crowd", split="validation", token=True)
sample = ds[0]["audio"]
prediction = pipe(sample.copy(), batch_size=8)["text"]
# 也可以返回預測的時間戳
prediction = pipe(sample.copy(), batch_size=8, return_timestamps=True)["chunks"]
基於推測解碼的加速使用
import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor
from transformers import pipeline
device = "cuda:0" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
# 加載數據集
dataset = load_dataset("bond005/sberdevices_golos_10h_crowd", split="validation", token=True)
# 加載模型
model_id = "Val123val/ru_whisper_small"
model = AutoModelForSpeechSeq2Seq.from_pretrained(
model_id,
torch_dtype=torch_dtype,
low_cpu_mem_usage=True,
use_safetensors=True,
attn_implementation="sdpa",
)
model.to(device)
processor = AutoProcessor.from_pretrained(model_id)
# 加載輔助模型
assistant_model_id = "openai/whisper-tiny"
assistant_model = AutoModelForSpeechSeq2Seq.from_pretrained(
assistant_model_id,
torch_dtype=torch_dtype,
low_cpu_mem_usage=True,
use_safetensors=True,
attn_implementation="sdpa",
)
assistant_model.to(device);
# 創建管道
pipe = pipeline(
"automatic-speech-recognition",
model=model,
tokenizer=processor.tokenizer,
feature_extractor=processor.feature_extractor,
max_new_tokens=128,
chunk_length_s=15,
batch_size=4,
generate_kwargs={"assistant_model": assistant_model},
torch_dtype=torch_dtype,
device=device,
)
sample = dataset[0]["audio"]
result = pipe(sample)
print(result["text"])
📚 詳細文檔
訓練超參數
訓練過程中使用了以下超參數:
屬性 | 詳情 |
---|---|
學習率 | 0.0001 |
訓練批次大小 | 32 |
評估批次大小 | 16 |
隨機種子 | 42 |
優化器 | Adam(betas=(0.9, 0.999),epsilon=1e-08) |
學習率調度器類型 | 線性 |
學習率調度器熱身步數 | 500 |
訓練步數 | 5000 |
框架版本
- Transformers 4.36.2
- Pytorch 2.1.0+cu121
- Datasets 2.16.0
- Tokenizers 0.15.0
📄 許可證
本項目採用 Apache-2.0 許可證。
Voice Activity Detection
MIT
基於pyannote.audio 2.1版本的語音活動檢測模型,用於識別音頻中的語音活動時間段
語音識別
V
pyannote
7.7M
181
Wav2vec2 Large Xlsr 53 Portuguese
Apache-2.0
這是一個針對葡萄牙語語音識別任務微調的XLSR-53大模型,基於Common Voice 6.1數據集訓練,支持葡萄牙語語音轉文本。
語音識別 其他
W
jonatasgrosman
4.9M
32
Whisper Large V3
Apache-2.0
Whisper是由OpenAI提出的先進自動語音識別(ASR)和語音翻譯模型,在超過500萬小時的標註數據上訓練,具有強大的跨數據集和跨領域泛化能力。
語音識別 支持多種語言
W
openai
4.6M
4,321
Whisper Large V3 Turbo
MIT
Whisper是由OpenAI開發的最先進的自動語音識別(ASR)和語音翻譯模型,經過超過500萬小時標記數據的訓練,在零樣本設置下展現出強大的泛化能力。
語音識別
Transformers 支持多種語言

W
openai
4.0M
2,317
Wav2vec2 Large Xlsr 53 Russian
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53模型微調的俄語語音識別模型,支持16kHz採樣率的語音輸入
語音識別 其他
W
jonatasgrosman
3.9M
54
Wav2vec2 Large Xlsr 53 Chinese Zh Cn
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53模型微調的中文語音識別模型,支持16kHz採樣率的語音輸入。
語音識別 中文
W
jonatasgrosman
3.8M
110
Wav2vec2 Large Xlsr 53 Dutch
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53微調的荷蘭語語音識別模型,在Common Voice和CSS10數據集上訓練,支持16kHz音頻輸入。
語音識別 其他
W
jonatasgrosman
3.0M
12
Wav2vec2 Large Xlsr 53 Japanese
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53模型微調的日語語音識別模型,支持16kHz採樣率的語音輸入
語音識別 日語
W
jonatasgrosman
2.9M
33
Mms 300m 1130 Forced Aligner
基於Hugging Face預訓練模型的文本與音頻強制對齊工具,支持多種語言,內存效率高
語音識別
Transformers 支持多種語言

M
MahmoudAshraf
2.5M
50
Wav2vec2 Large Xlsr 53 Arabic
Apache-2.0
基於facebook/wav2vec2-large-xlsr-53微調的阿拉伯語語音識別模型,在Common Voice和阿拉伯語語音語料庫上訓練
語音識別 阿拉伯語
W
jonatasgrosman
2.3M
37
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98