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-modfeat/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.pyinit_chunk_cache() / forward_chunk()、または SenseVoice-modstreaming/ パッケージ(チャンクバックエンド)を使用してください。学習時ジオメトリ(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 履歴を参照

ライセンス・帰属

Downloads last month
6
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for nelmo-ux/mod-sencevoice

Finetuned
(11)
this model