🚀 トランスフォーマー
このライブラリは、音声認識(ASR)に特化したモデルを提供します。特に、Whisperモデルを用いて、ロシア語の音声認識を高精度に行うことができます。
🚀 クイックスタート
モデルの詳細
このモデルは、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時間以上かかりました。
プロパティ |
詳細 |
モデルタイプ |
ファインチューニングされたWhisper-large-v3 |
トレーニングデータ |
Common Voice 17.0のロシア語部分 |
評価指標 |
単語誤り率(WER) |
📦 インストール
このモデルを使用するには、transformers
ライブラリをインストールする必要があります。
pip install transformers
💻 使用例
基本的な使用法
電話通話を処理する場合、音声認識(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
次に、ASRコードは次のようになります。
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 BytesIO
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'])
🔧 開発中
このモデルは現在開発中です。目標は、電話通話の音声認識にできるだけ適したモデルをファインチューニングすることです。もしあなたが貢献したい場合や、良いデータセットを持っている場合は、ぜひ教えてください。あなたの助けを大いに歓迎します。