🚀 語音識別模型
本項目基於 openai/whisper-large-v3 模型進行微調,旨在更好地支持俄語語音識別。使用 Common Voice 17.0 數據集的俄語部分進行微調,該數據集包含超過 20 萬條語音數據。
🚀 快速開始
本模型是 openai/whisper-large-v3 的微調版本,旨在更好地支持俄語。
用於微調的數據集是 Common Voice 17.0 的俄語部分,包含超過 20 萬行數據。
在對原始數據集進行預處理(將所有分割數據混合,並按 0.95/0.05 的比例重新劃分為新的訓練集和測試集,即分別為 225761/11883 行)後,原始的 Whisper v3 模型的字錯率(WER)為 9.84,而微調後的版本目前顯示為 6.39。
微調過程在雙 Tesla A100 80Gb 上花費了超過 60 小時。
✨ 主要特性
- 語言支持:針對俄語進行了微調,能更好地識別俄語語音。
- 性能提升:相比原始模型,字錯率(WER)顯著降低。
📦 安裝指南
文檔未提及安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
在處理語音通話時,強烈建議在進行自動語音識別(ASR)之前對錄音進行預處理並調整音量。例如,可以使用以下命令:
sox record.wav -r 16k record-normalized.wav norm -0.5 compand 0.3,1 -90,-90,-70,-70,-60,-20,0,0 -5 0 0.2
高級用法
以下是進行自動語音識別的 Python 代碼示例:
import torch
from transformers import WhisperForConditionalGeneration, WhisperProcessor, pipeline
torch_dtype = torch.bfloat16
device = 'cpu'
if torch.cuda.is_available():
device = 'cuda'
elif torch.backends.mps.is_available():
device = 'mps'
setattr(torch.distributed, "is_initialized", lambda : False)
device = torch.device(device)
whisper = WhisperForConditionalGeneration.from_pretrained(
"antony66/whisper-large-v3-russian", torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True,
)
processor = WhisperProcessor.from_pretrained("antony66/whisper-large-v3-russian")
asr_pipeline = pipeline(
"automatic-speech-recognition",
model=whisper,
tokenizer=processor.tokenizer,
feature_extractor=processor.feature_extractor,
max_new_tokens=256,
chunk_length_s=30,
batch_size=16,
return_timestamps=True,
torch_dtype=torch_dtype,
device=device,
)
from io import BufferIO
wav = BytesIO()
with open('record-normalized.wav', 'rb') as f:
wav.write(f.read())
wav.seek(0)
asr = asr_pipeline(wav, generate_kwargs={"language": "russian", "max_new_tokens": 256}, return_timestamps=False)
print(asr['text'])
📚 詳細文檔
本模型目前仍在開發中。目標是儘可能對其進行微調,以用於語音通話的識別。如果您想提供幫助,並且知道或擁有任何優質的數據集,請告知。非常感謝您的支持。
🔧 技術細節
- 微調數據集:Common Voice 17.0 的俄語部分,包含超過 20 萬行數據。
- 數據預處理:將所有分割數據混合,並按 0.95/0.05 的比例重新劃分為新的訓練集和測試集。
- 性能指標:原始的 Whisper v3 模型的字錯率(WER)為 9.84,而微調後的版本目前顯示為 6.39。
- 微調硬件:雙 Tesla A100 80Gb,微調過程花費超過 60 小時。
📄 許可證
文檔未提及許可證信息,故跳過此章節。
⚠️ 重要提示
在處理語音通話時,強烈建議在進行自動語音識別(ASR)之前對錄音進行預處理並調整音量。
💡 使用建議
若您想為模型的開發提供幫助,並且知道或擁有任何優質的數據集,請告知作者。