Add Xiaomi MiMo-V2.5-ASR runner (closes #150) - #154
Conversation
MiMo-V2.5-ASR is an end-to-end multilingual ASR model jointly optimized for Mandarin Chinese and English, with strong support for Chinese dialects, code-switching, and noisy / multi-speaker audio. Architecture: 1.2B audio tokenizer (RVQ 8-layer, 25 Hz) + 7B Qwen2 LM decoder. The runner loads the model locally via MiMo's custom MimoAudio class (set MIMO_REPO_PATH to a clone of XiaomiMiMo/MiMo-V2.5-ASR). Resumable: each completed sample is appended to the manifest immediately, so re-running picks up where the prior run left off. flash_attn_shim.py provides a SDPA-based fallback for hosts where flash-attn cannot be installed (Windows native, exotic torch+CUDA combos). Auto-injected only when real flash_attn import fails, so Linux + flash-attn hosts use the canonical path unchanged. See mimo/README.md for full setup and run instructions.
|
This test has a minor issue; the audio sampling rate needs to be converted. The fixed code is here: AlexZhangji#1 |
|
Thanks for the submission! I ran the model on the 8 short-form English datasets (A100-80GB). Results below:
Note the low RTFx — Do these numbers look right to you? |
|
The audio sampling rate needs to be converted. The default sampling rate for mimo is 24000. Earnings22 WER should be around 11% . The fixed code is AlexZhangji@1b16f74 |
this looks good to me! |
Summary
Adds a runner for XiaomiMiMo/MiMo-V2.5-ASR, an end-to-end multilingual ASR model jointly optimized for Mandarin Chinese and English. Strong support for Chinese dialects (Wu / Cantonese / Hokkien / Sichuanese), code-switching, song lyrics, noisy / multi-speaker audio. Architecture: 1.2B audio tokenizer (RVQ 8-layer, 25 Hz) + 7B Qwen2 LM decoder.
Closes #150.
Setup
MiMo's package is not pip-installable; it must be cloned and added to
PYTHONPATH. Full instructions inmimo/README.md. Headline:flash_attn_shim.pyis a small SDPA-based fallback the runner auto-injects only when realflash_attnimport fails (Windows native, exotic torch+CUDA combos). Linux + flash-attn hosts use the canonical path unchanged.Result on Earnings22 (test, full set)
Hardware: NVIDIA RTX 4090 (24 GB VRAM, bf16 inference). MiMo's 8B bf16 weights (~16 GB) fit comfortably; A100-80GB (the leaderboard's reference HW) is fully supported.
Hyperparameters held identical to the runner's defaults — no per-dataset tuning. The runner accepts
--datasetfor any ofami / earnings22 / gigaspeech / librispeech / spgispeech / tedlium / voxpopuliwith the same hyperparameters.Remaining datasets
Submitting Earnings22 only for now. Per the README's "request a maintainer to run" policy, happy to either run the remaining 7 ESB short-form datasets myself or defer to maintainer evaluation — let me know which is preferred.
Notes on Earnings22 ground-truth quality
A spot-check of MiMo's 10 worst-WER samples (all <4 s utterances) found audio-to-reference misalignment in 10/10 cases, independently confirmed by re-transcribing each clip with Gemini 3.1 Pro. Example:
This is consistent with #153 and the cleaned variant published by Artificial Analysis (Earnings22-Cleaned-AA), which reports an average 5.6 p.p. WER reduction across all models on the cleaned set. The 13.75% reported here is on the standard (uncleaned) leaderboard set for direct comparability with existing entries.
Test plan
eval_utils.write_manifestexactly (audio_filepath/duration/time/text/pred_text)--datasetchoice