Whisper Large V2 Spanish
基於openai/whisper-large-v2微調的西班牙語語音識別模型,在Common Voice 11.0西班牙語測試集上WER為8.55%
下載量 85
發布時間 : 12/27/2022
模型概述
該模型是專門針對西班牙語優化的自動語音識別(ASR)模型,基於Whisper-large-v2架構微調,適用於西班牙語語音轉錄任務
模型特點
西班牙語優化
針對西班牙語語音特點進行專門微調,提升識別準確率
低詞錯誤率
在Common Voice 11.0西班牙語測試集上WER僅為8.55%
基於Whisper架構
採用OpenAI Whisper-large-v2的強大基礎架構
端到端訓練
直接從語音到文本的端到端訓練方式
模型能力
西班牙語語音識別
語音轉文本
長音頻處理
使用案例
語音轉錄
會議記錄
將西班牙語會議錄音自動轉錄為文字記錄
高準確率的轉錄文本
媒體字幕生成
為西班牙語視頻內容自動生成字幕
減少人工字幕製作時間
語音助手
西班牙語語音交互
用於西班牙語語音助手應用的語音識別模塊
提升語音指令識別準確率
🚀 西班牙語版Whisper-large-v2模型
本模型是基於Transformer架構的語音識別模型,在特定數據集上微調了openai/whisper-large-v2
模型,在評估集上取得了較好的損失和字錯率(WER)指標。
🚀 快速開始
此模型是 openai/whisper-large-v2 在特定數據集上的微調版本。它在評估集上取得了以下結果:
- 損失值:0.1466
- 字錯率(WER):0.0855
✨ 主要特性
- 基於
openai/whisper-large-v2
模型微調,在特定任務上表現更優。 - 提供了訓練超參數和訓練結果,方便了解模型訓練過程。
- 給出了轉錄和評估的代碼示例,便於使用和驗證模型。
📦 安裝指南
文檔未提供具體安裝步驟,可參考openai/whisper-large-v2
的安裝說明,並確保安裝以下框架版本:
- Transformers 4.26.0.dev0
- Pytorch 1.13.1+cu117
- Datasets 2.8.1.dev0
- Tokenizers 0.13.2
💻 使用示例
基礎用法
from datasets import load_dataset, Audio
import torch
from transformers import WhisperProcessor, WhisperForConditionalGeneration
# device
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# load the model
processor = WhisperProcessor.from_pretrained("clu-ling/whisper-large-v2-spanish")
model = WhisperForConditionalGeneration.from_pretrained("clu-ling/whisper-large-v2-spanish").to(device)
forced_decoder_ids = processor.get_decoder_prompt_ids(language="es", task="transcribe")
# load the dataset
commonvoice_eval = load_dataset("mozilla-foundation/common_voice_11_0", "es", split="validation", streaming=True)
commonvoice_eval = commonvoice_eval.cast_column("audio", Audio(sampling_rate=16000))
sample = next(iter(commonvoice_eval))["audio"]
# features and generate token ids
input_features = processor(sample["array"], sampling_rate=sample["sampling_rate"], return_tensors="pt").input_features
predicted_ids = model.generate(input_features.to(device), forced_decoder_ids=forced_decoder_ids)
# decode
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
print(transcription)
高級用法
from transformers.models.whisper.english_normalizer import BasicTextNormalizer
from datasets import load_dataset, Audio
import evaluate
import torch
import re
from transformers import WhisperProcessor, WhisperForConditionalGeneration
# device
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# metric
wer_metric = evaluate.load("wer")
# model
processor = WhisperProcessor.from_pretrained("clu-ling/whisper-large-v2-spanish")
model = WhisperForConditionalGeneration.from_pretrained("clu-ling/whisper-large-v2-spanish")
# dataset
dataset = load_dataset("mozilla-foundation/common_voice_11_0", "es", split="test", )#cache_dir=args.cache_dir
dataset = dataset.cast_column("audio", Audio(sampling_rate=16000))
#for debuggings: it gets some examples
#dataset = dataset.shard(num_shards=10000, index=0)
#print(dataset)
def normalize(batch):
batch["gold_text"] = whisper_norm(batch['sentence'])
return batch
def map_wer(batch):
model.to(device)
forced_decoder_ids = processor.get_decoder_prompt_ids(language = "es", task = "transcribe")
inputs = processor(batch["audio"]["array"], sampling_rate=batch["audio"]["sampling_rate"], return_tensors="pt").input_features
with torch.no_grad():
generated_ids = model.generate(inputs=inputs.to(device), forced_decoder_ids=forced_decoder_ids)
transcription = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
batch["predicted_text"] = whisper_norm(transcription)
return batch
# process GOLD text
processed_dataset = dataset.map(normalize)
# get predictions
predicted = processed_dataset.map(map_wer)
# word error rate
wer = wer_metric.compute(references=predicted['gold_text'], predictions=predicted['predicted_text'])
wer = round(100 * wer, 2)
print("WER:", wer)
🔧 技術細節
訓練超參數
訓練過程中使用了以下超參數:
- 學習率:1e-05
- 訓練批次大小:16
- 評估批次大小:16
- 隨機種子:42
- 優化器:Adam(β1=0.9,β2=0.999,ε=1e-08)
- 學習率調度器類型:線性
- 學習率調度器熱身步數:500
- 訓練步數:25000
- 混合精度訓練:Native AMP
訓練結果
訓練損失 | 輪數 | 步數 | 驗證損失 | 字錯率(WER) |
---|---|---|---|---|
0.1908 | 0.03 | 1000 | 0.2235 | 0.1154 |
0.1888 | 0.07 | 2000 | 0.2132 | 0.1131 |
0.167 | 0.1 | 3000 | 0.2115 | 0.1133 |
0.1752 | 0.14 | 4000 | 0.2081 | 0.1146 |
0.1656 | 0.17 | 5000 | 0.2002 | 0.1073 |
0.1535 | 0.21 | 6000 | 0.1971 | 0.1086 |
0.1854 | 0.24 | 7000 | 0.1927 | 0.1048 |
0.1722 | 0.28 | 8000 | 0.1889 | 0.1043 |
0.166 | 0.31 | 9000 | 0.1850 | 0.1022 |
0.1277 | 0.35 | 10000 | 0.1820 | 0.1032 |
0.1457 | 0.38 | 11000 | 0.1777 | 0.0998 |
0.169 | 0.42 | 12000 | 0.1771 | 0.0982 |
0.1612 | 0.45 | 13000 | 0.1724 | 0.0976 |
0.1616 | 0.49 | 14000 | 0.1693 | 0.0956 |
0.1556 | 0.52 | 15000 | 0.1671 | 0.0942 |
0.1448 | 0.56 | 16000 | 0.1646 | 0.0930 |
0.117 | 0.59 | 17000 | 0.1613 | 0.0914 |
0.1441 | 0.62 | 18000 | 0.1596 | 0.0899 |
0.148 | 0.66 | 19000 | 0.1571 | 0.0895 |
0.1255 | 0.69 | 20000 | 0.1547 | 0.0874 |
0.1479 | 0.73 | 21000 | 0.1525 | 0.0885 |
0.1304 | 0.76 | 22000 | 0.1503 | 0.0861 |
0.1111 | 0.8 | 23000 | 0.1486 | 0.0867 |
0.1337 | 0.83 | 24000 | 0.1472 | 0.0854 |
0.1289 | 0.87 | 25000 | 0.1466 | 0.0855 |
📄 許可證
本模型採用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