mod-sencevoice — Japanese chunk-streaming SenseVoiceSmall
SenseVoiceSmall をチャンクマスク学習(SCAMA方式)でファインチューニングした日本語特化モデルです。ストリーミング(チャンク逐次)推論時の精度劣化を解消することを目的としています。
ベースの SenseVoiceSmall は全区間双方向 attention で学習されているため、そのままチャンク推論すると精度が大きく劣化します。本モデルはダイナミックチャンクマスク(chunk_size を学習ステップごとに 8/12/16 からランダム選択)でファインチューニングを行い、このギャップをほぼ解消しました。
v3(現行): 814時間コーパス(58アーカイブ・56スタジオ)・H100×2(bf16)で学習。v2(300時間)から全指標で改善。
結果(保留話者 5,194クリップ・日本語・CER、fp32評価、v2/v3 は同一 val で厳密比較)
| モデル | チャンク推論 CER | フル注意 CER | ギャップ |
|---|---|---|---|
| SenseVoiceSmall(公開重み) | 0.4024 | 0.1781 | 0.2243 |
| v2(300h) | 0.1679 | 0.1584 | 0.0095 |
| v3(814h、現行) | 0.1623 | 0.1518 | 0.0106 |
- ベースモデル比でチャンク推論 CER 59.7% 削減、チャンクとフル注意の差は 0.2243 → 0.0106
- v2 → v3 はデータ 2.7 倍で chunk CER 3.3% 相対改善・full CER 4.2% 相対改善(同一 val・同一評価系での測定)
- 評価データは学習と話者を完全分離(声優単位のリーク検証済み)、
eval/に確定評価の生JSONを同梱
学習詳細(v3)
- データ: OOPPEENN/VisualNovel_Dataset のサブセット813.8時間(549,404クリップ、58アーカイブ・56スタジオ、16kHz mono、話者分離 train/val 分割)
- 方式: GT教師あり CTC + ダイナミックチャンクマスク(chunk_size=[8,12,16] / stride=[6,10,14] / pad_left=0 / look_back=1、1フレーム=60ms)
- 設定: 4エポック(採用は epoch 3)、LR 2e-4(Noam、warmup 8%)、実効バッチ 48,000 token、bf16、H100 NVL ×2 で約1時間52分
- 正規化: モデルネイティブの全角句読点規約(!?…~)を維持
- 学習・評価コード、転写品質監査ツール、再現手順: nelmo-ux/SenseVoice-mod(
feat/chunk-trainingブランチ、docs/chunk_training.md)
制約・注意
- 日本語特化です。中国語・広東語・英語・韓国語の性能は評価しておらず、維持対象外です
- 感情・イベントラベルはベースモデルの機能を引き継ぎますが、本 FT では最適化していません
- 同梱の
model.pyはチャンク推論対応版(forward_chunk/init_chunk_cacheを含む)です
使い方
通常(フル注意)推論
from funasr import AutoModel
model = AutoModel(
model="nelmo-ux/mod-sencevoice",
trust_remote_code=True,
remote_code="model.py",
device="cpu", # または "cuda:0"
)
res = model.generate(input="audio.wav", language="ja", use_itn=True)
チャンク(ストリーミング)推論
同梱 model.py の init_chunk_cache() / forward_chunk()、または SenseVoice-mod の streaming/ パッケージ(チャンクバックエンド)を使用してください。学習時ジオメトリ(window 12 / stride 10 / pad_right 2 / look_back 1)での評価値が上表です。
ファイル
model.pt— ファインチューニング済み重み(v3 採用チェックポイント = round-2 epoch 3、weights のみ)config.yaml/configuration.json/am.mvn/chn_jpn_yue_eng_ko_spectok.bpe.model— funasr ロードに必要な一式(ベースモデル由来)model.py— チャンク推論対応のモデル実装(remote code)eval/— v3 の全 val 確定評価JSON(ep2/ep3/ep4)。過去バージョンの評価はリポジトリの revision 履歴を参照
ライセンス・帰属
- ベースモデル FunAudioLLM/SenseVoiceSmall の派生モデルであり、FunASR Model Open Source License Agreement に従います(Section 2.2 の帰属・モデル名表示要件を含む)
- コード(
model.py)は MIT License - 学習データの利用条件は VisualNovel_Dataset のデータセットカードを参照してください
- Downloads last month
- 6
Model tree for nelmo-ux/mod-sencevoice
Base model
FunAudioLLM/SenseVoiceSmall