Holy-fox/whisper-large-v3-turbo-ja-personal-sft-v2
whisper-large-v3-turbo-ja-personal-sft-v2
openai/whisper-large-v3-turbo を、日本語の音声入力(LLMへのプロンプト発話)へ LoRA SFT で適応させたモデルです。話者の発音・言い回しと、AI/LLM 関連の専門用語・表記に合わせています。LoRA はベースへマージ済みで、そのまま WhisperForConditionalGeneration として読み込めます。
whisper.cpp / ggml 版: `Holy-fox/whisper-large-v3-turbo-ja-personal-sft-v2-ggml`
学習データ
1名の話者が Mac / iPhone / iPad で録音した、LLM への音声入力 約2.5時間を素材にしています。Silero VAD で 30 秒以内に分割して 16 kHz モノラルへ統一し、うち 272 セグメント(約66分)を学習に使いました。転記は人手ではなく、音声対応 LLM に同一音声から複数候補を作らせ、別の審査 LLM が音声を聴いて1つを選ぶ自動疑似ラベルです。汎用の日本語ASRではなく、口語のままの言い回しと、AI/LLM 系の用語・英字略語が混ざる話し方に合わせています。
表記規則
- 製品名は聞こえた発音のカタカナへ統一(
Claude→クロード、Whisper→ウィスパー、ChatGPT→チャットGPT)。文脈から製品名を推測して補うことはせず、その発音が実際に聞こえたときだけ適用します。 - 一文字ずつ読む略語(AI・LLM・GPT・GPU・API・SFT など)は大文字のまま。
- 日本語とラテン文字の境界にスペースを入れず、1.2秒以上の間があって文や話題が切れているところで改行、短い間は「、」、完結した文は「。」。
- フィラー・言い直し・繰り返しは消さずに残します。
精度
短音声 83 セグメントでの文字誤り率。content CER は表記ゆれ(Anthropic↔アンソロピック など)を正規化した後の内容CERです。
特定話者・特定ドメインへの適応モデルです。他の話者や一般的な日本語音声では、ベースの Whisper のほうが良い結果になる場合があります。
使い方
import torch, librosa
from transformers import WhisperForConditionalGeneration, WhisperProcessor
model_id = "Holy-fox/whisper-large-v3-turbo-ja-personal-sft-v2"
processor = WhisperProcessor.from_pretrained(model_id)
model = WhisperForConditionalGeneration.from_pretrained(
model_id, dtype=torch.float16
).to("cuda").eval()
audio, _ = librosa.load("recording.wav", sr=16_000, mono=True)
features = processor.feature_extractor(audio, sampling_rate=16_000, return_tensors="pt")
ids = model.generate(
features.input_features.to("cuda", torch.float16),
language="ja", task="transcribe", num_beams=5,
)
print(processor.tokenizer.decode(ids[0], skip_special_tokens=True))学習は 30 秒以内のセグメントで行っています。長い録音は VAD で 30 秒以内に分割し、チャンクごとに文脈をリセットして時刻順に連結してください。
ライセンス
ベースモデルの Apache-2.0 を継承します。
