| { |
| "generated_at": "2026-08-16T10:59:37+00:00", |
| "device": "mps", |
| "geometry": { |
| "geometry_index": 1, |
| "window_frames": 12, |
| "stride_frames": 10, |
| "pad_left_frames": 0, |
| "pad_right_frames": 2, |
| "encoder_look_back": 1, |
| "lookahead_ms": 120.0, |
| "training_config": { |
| "chunk_size": [ |
| 8, |
| 12, |
| 16 |
| ], |
| "stride": [ |
| 6, |
| 10, |
| 14 |
| ], |
| "pad_left": [ |
| 0, |
| 0, |
| 0 |
| ], |
| "encoder_att_look_back_factor": [ |
| 1, |
| 1, |
| 1 |
| ] |
| } |
| }, |
| "scoring": { |
| "cer": "corpus-level Levenshtein over NFKC-normalised characters", |
| "punctuation": "stripped", |
| "whitespace": "stripped", |
| "rich_tags": "stripped", |
| "wer_note": "whitespace tokens; near-meaningless for unsegmented Japanese and Chinese - read CER" |
| }, |
| "models": { |
| "base": { |
| "dir": "/Users/nelmo-ux/Desktop/SenceVoice/models/SenseVoiceSmall", |
| "checkpoint": null |
| }, |
| "finetuned": { |
| "dir": "/Users/nelmo-ux/Desktop/SenceVoice/models/SenseVoiceSmall", |
| "checkpoint": "outputs/chunk_mps_run1/model.pt.ep3" |
| } |
| }, |
| "japanese": { |
| "note": "the selection axis: checkpoint choice keys off these numbers only", |
| "val": { |
| "jsonl": "/Users/nelmo-ux/Desktop/SenceVoice/data/vn/val.jsonl", |
| "num_clips": 772, |
| "metrics": { |
| "per_model": { |
| "base": { |
| "chunk": { |
| "cer": 0.4058795637743006, |
| "mean_cer": 0.4907838660061337, |
| "wer": 0.9991586032814472, |
| "num_clips": 772, |
| "ref_chars": 18981, |
| "char_edits": 7704, |
| "ref_words": 2377, |
| "word_edits": 2375 |
| }, |
| "chunk_last_partial": { |
| "cer": 0.43016700911437755, |
| "mean_cer": 0.5131696714023274, |
| "wer": 0.9974758098443416, |
| "num_clips": 772, |
| "ref_chars": 18981, |
| "char_edits": 8165, |
| "ref_words": 2377, |
| "word_edits": 2371 |
| }, |
| "full": { |
| "cer": 0.16253095200463621, |
| "mean_cer": 0.24466634683089186, |
| "wer": 0.9882204459402608, |
| "num_clips": 772, |
| "ref_chars": 18981, |
| "char_edits": 3085, |
| "ref_words": 2377, |
| "word_edits": 2349 |
| }, |
| "chunk_minus_full_cer": 0.2433486117696644, |
| "chunk_vs_full_cer": 0.3289047310434219 |
| }, |
| "finetuned": { |
| "chunk": { |
| "cer": 0.1781781781781782, |
| "mean_cer": 0.25116116326155347, |
| "wer": 0.7143458140513252, |
| "num_clips": 772, |
| "ref_chars": 18981, |
| "char_edits": 3382, |
| "ref_words": 2377, |
| "word_edits": 1698 |
| }, |
| "chunk_last_partial": { |
| "cer": 0.24398082292819134, |
| "mean_cer": 0.34804007307148555, |
| "wer": 0.7770298695835086, |
| "num_clips": 772, |
| "ref_chars": 18981, |
| "char_edits": 4631, |
| "ref_words": 2377, |
| "word_edits": 1847 |
| }, |
| "full": { |
| "cer": 0.1475159369896212, |
| "mean_cer": 0.2187134390366345, |
| "wer": 0.6798485485906605, |
| "num_clips": 772, |
| "ref_chars": 18981, |
| "char_edits": 2800, |
| "ref_words": 2377, |
| "word_edits": 1616 |
| }, |
| "chunk_minus_full_cer": 0.030662241188556982, |
| "chunk_vs_full_cer": 0.09854978705051486 |
| } |
| }, |
| "delta": { |
| "chunk_cer": -0.22770138559612244, |
| "full_cer": -0.01501501501501501, |
| "chunk_minus_full_cer": -0.21268637058110743, |
| "chunk_vs_full_cer": -0.230354943992907 |
| } |
| } |
| }, |
| "clips": [ |
| { |
| "key": "ja.mp3", |
| "path": "/Users/nelmo-ux/.cache/huggingface/hub/models--FunAudioLLM--SenseVoiceSmall/snapshots/3847d57b6bdf2dd8875cb1508d2af43d80a16bf7/example/ja.mp3", |
| "language": "ja", |
| "reference_source": "base model full-attention decode (no ground truth)", |
| "per_model": { |
| "base": { |
| "full": "<|ja|><|NEUTRAL|><|Speech|><|woitn|>うちの中学は弁当制で持っていきない場合は50円の学校販売のパンを買う", |
| "chunk": "ううちの中学は弁当等制で持っていききない場合は五0円の学校行販売ののパンを買う買う", |
| "chunk_last_partial": "ううちの中学は弁当等制で持っていききない場合は五0円の学校行販売ののパンを買う買う", |
| "chunk_vs_full_cer": 0.23529411764705882 |
| }, |
| "finetuned": { |
| "full": "<|ja|><|NEUTRAL|><|Speech|><|woitn|>うちの中学は弁当制で持っていけない場合は50円の学校販売のパンを買う", |
| "chunk": "うちの中学は弁当生で持っていきない場合は50円の学校販売のパンを買う", |
| "chunk_last_partial": "うちの中学は弁当生で持っていきない場合は50円の学校販売のパンを買う", |
| "chunk_vs_full_cer": 0.058823529411764705 |
| } |
| }, |
| "drift_cer_vs_base_full": 0.029411764705882353, |
| "gap_delta": -0.1764705882352941 |
| } |
| ] |
| }, |
| "reference_only": { |
| "note": "reference only, not a selection criterion: this finetune is Japanese-specialised and Chinese retention is not a maintained property", |
| "clips": [ |
| { |
| "key": "zh_sample.wav", |
| "path": "/Users/nelmo-ux/Desktop/SenceVoice/runtime/llama.cpp/tests/sample.wav", |
| "language": "auto", |
| "reference_source": "base model full-attention decode (no ground truth)", |
| "per_model": { |
| "base": { |
| "full": "<|zh|><|NEUTRAL|><|Speech|><|woitn|>我想问我在滨海新区有房", |
| "chunk": "我想想问我在滨海心新区有有房", |
| "chunk_last_partial": "我想想问我在滨海心新区有", |
| "chunk_vs_full_cer": 0.2727272727272727 |
| }, |
| "finetuned": { |
| "full": "<|zh|><|NEUTRAL|><|Speech|><|woitn|>我想问我在滨海新区有房", |
| "chunk": "我想。我在滨海新区有房", |
| "chunk_last_partial": "我想。我在滨海新区", |
| "chunk_vs_full_cer": 0.09090909090909091 |
| } |
| }, |
| "drift_cer_vs_base_full": 0.0, |
| "gap_delta": -0.1818181818181818 |
| } |
| ] |
| }, |
| "selection": { |
| "metric": "ja_val_chunk_cer", |
| "value": 0.1781781781781782, |
| "model": "finetuned", |
| "note": "corpus CER of the complete chunk-mode decode on the held-out Japanese val set; lower is better" |
| }, |
| "examples": [ |
| { |
| "key": "GIGA_Ai_Kiss_2__うめき声__a1040039", |
| "scope": "japanese", |
| "reference": "――うぅぉぁあ……", |
| "base_full": "<|nospeech|><|EMO_UNKNOWN|><|Event_UNK|><|woitn|>", |
| "base_chunk": "うんうん", |
| "base_chunk_last_partial": "うんうん", |
| "finetuned_full": "<|ja|><|NEUTRAL|><|Speech|><|woitn|>う", |
| "finetuned_chunk": "う", |
| "finetuned_chunk_last_partial": "う" |
| }, |
| { |
| "key": "GIGA_Ai_Kiss_2__アヤメ・ヒナタ__06900000", |
| "scope": "japanese", |
| "reference": "蓮くん、デートしよ♪", |
| "base_full": "<|ja|><|EMO_UNKNOWN|><|Speech|><|woitn|>レくんデートしよう", |
| "base_chunk": "レんくくんでデートしよよ", |
| "base_chunk_last_partial": "レんくくんで", |
| "finetuned_full": "<|ja|><|NEUTRAL|><|Speech|><|woitn|>蓮君ん、デートしよ?", |
| "finetuned_chunk": "蓮君、デートしよう?", |
| "finetuned_chunk_last_partial": "蓮君、" |
| }, |
| { |
| "key": "GIGA_Ai_Kiss_2__クラスメイトの男子__a1050000", |
| "scope": "japanese", |
| "reference": "――みんな気になるのさ。あんな可愛い双子の子に挟まれてるあいつは何者なのか、ってね", |
| "base_full": "<|ja|><|ANGRY|><|Speech|><|woitn|>みんな気になるのさあんな可愛い双子の子に挟まれてるあいつは何者なのかってね", |
| "base_chunk": "みんなき気になるのさあんな顔かい子の子に挟まれてるあいつつは何何者なのかってねてね", |
| "base_chunk_last_partial": "みんなき気になるのさあんな顔かい子の子に挟まれてるあいつつは何何者なのかってね", |
| "finetuned_full": "<|ja|><|NEUTRAL|><|Speech|><|woitn|>みんな気になるのさ、あんな可愛い双子の子に挟まれてるアイつは何者なのか、ってね", |
| "finetuned_chunk": "みんな気になるのさ、あんな可愛い双子の子に挟まれてるあイつは何者なのかってね", |
| "finetuned_chunk_last_partial": "みんな気になるのさ、あんな可愛い双子の子に挟まれてるあイつは何者なのかって" |
| }, |
| { |
| "key": "GIGA_Ai_Kiss_2__マネージャー__01900000", |
| "scope": "japanese", |
| "reference": "分かりました、気をつけて下さい。委員のキミもごくろう、くれぐれもよろしく頼むよ", |
| "base_full": "<|ja|><|ANGRY|><|Speech|><|woitn|>わかりました気をつけてください委員の君もご苦労くれぐれもよろしく頼むよ", |
| "base_chunk": "わかりましした気をつけてくださいい委員の君もご苦労くれぐれれもよろしく頼むよ", |
| "base_chunk_last_partial": "わかりましした気をつけてくださいい委員の君もご苦労くれぐれれもよろしく頼", |
| "finetuned_full": "<|ja|><|NEUTRAL|><|Speech|><|woitn|>わかりました。気をつけてください。委員のキミもご苦労。くれぐれもよろしく頼むよ", |
| "finetuned_chunk": "わかりました。気をつけてください。委員のキミも心労。くれぐれもよろしく頼むよ", |
| "finetuned_chunk_last_partial": "わかりました。気をつけてください。委員のキミも心労。くれぐれもよろしく頼" |
| }, |
| { |
| "key": "GIGA_Ai_Kiss_2__事故にあった女子__02030027", |
| "scope": "japanese", |
| "reference": "――ねえ、私の腕。見つからないの、どこにあるか知らない?", |
| "base_full": "<|ja|><|EMO_UNKNOWN|><|Speech|><|woitn|>ねえ私の腕見つからないのどこにあるか知らない", |
| "base_chunk": "ねえね私の腕見つからないのどこにあるか知らなない", |
| "base_chunk_last_partial": "ねえね私の腕見つからないのどこにあるか知らな", |
| "finetuned_full": "<|ja|><|NEUTRAL|><|Speech|><|woitn|>ねえ私の腕、見つからないの、どこにあるか知らない", |
| "finetuned_chunk": "ねえ、私の腕、見つからないの、どこにあるか知らない", |
| "finetuned_chunk_last_partial": "ねえ、私の腕、見つからないの、どこにあるか知ら" |
| } |
| ], |
| "warnings": [] |
| } |
|
|