Xiaomi · usage rank #8 · released 2026-04-22
MiMo-V2.5
What MiMo-V2.5’s own documents say it is built from — every method with the sentence that describes it.
Curator’s note310B total / 15B active omnimodal MoE, 1M context, MIT license. No dedicated arXiv report found for V2.5; the MiMo-V2-Flash report is the closest architecture lineage document.
Rank by open-weight tokens on OpenRouter, week of 2026-09-21.
Against the consensus recipe
Its documents state 9 of the 15 methods the field agrees on.
The recipe from the overview: the methods the most labs adopt, per stage. A missing one is something the documents do not say, not something the model lacks.
Data curation
- Agentic data synthesis pipelinenot in its documents
Training objective
- Multi-Token Predictionused
- KL alignment lossnot in its documents
Model architecture
Optimization
- Muonnot in its documents
- Expert Parallelismnot in its documents
- Cosine decayused
Post-training
Inference & serving
- Configurable reasoning effortnot in its documents
- Speculative decodingused
- FP8 KV-cache quantizationnot in its documents
Checked in its code
Its code shows 8 of the 19 architecture features checked — 3 of them are not stated in its documents.
Documents say what a lab chose to describe; the modeling code says what the checkpoint runs. Each feature below was put to a code verifier, and only the config values and source lines it cited that were found in the files are shown, linked to the line.
Read from the model repository’s own code (modeling_mimo_v2.py, configuration_mimo_v2.py) and config.json at revision 63651580ca, by anthropic/claude-sonnet-5 on 2026-09-25.
| Feature | Code | Its documents | Evidence |
|---|---|---|---|
| Grouped-query attention | in its code | used | Full-attention layers use 64 query heads with 4 KV heads and SWA layers use 64 query heads with 8 KV heads, both grouped via repeat_kv. num_attention_heads = 64num_key_value_heads = 4swa_num_key_value_heads = 8 |
| Multi-head latent attention | not in its code | not stated | There is no low-rank KV latent projection (no kv_lora_rank/q_lora_rank in config or code); attention uses standard per-head q/k/v projections. |
| Sliding-window attention | in its code | core | sliding_window is 128 and the hybrid_layer_pattern marks most layers as SWA (value 1), enabling create_sliding_window_causal_mask for those layers. sliding_window = 128hybrid_layer_pattern = [0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1… |
| Interleaved sliding-window and global attention | in its code | core | hybrid_layer_pattern interleaves full-attention layers (0) every 6 layers with sliding-window layers (1) for the rest, and the decoder layer sets attention_type accordingly. hybrid_layer_pattern = [0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1… |
| Indexer-selected sparse attention (DeepSeek Sparse Attention) | not in its code | not stated | No indexer scoring mechanism or index_topk/index_n_heads config exists in this codebase. |
| Linear-attention or state-space layers alongside full attention | not in its code | not stated | All decoder layers use MiMoV2Attention (softmax attention, full or sliding-window); there are no linear-attention or SSM mixer layers. |
| Gated DeltaNet layers | not in its code | not stated | No gated delta rule / recurrent state update mechanism is implemented in the code. |
| Mamba-2 layers | not in its code | not stated | No Mamba-2 SSD selective state-space blocks are implemented; no mamba_num_heads or ssm_state_size config exists. |
| Learnable attention sink | in its code | used | SWA layers get a learned per-head attention_sink_bias parameter concatenated as an extra logit column in the softmax denominator, enabled by add_swa_attention_sink_bias=true. add_swa_attention_sink_bias = trueadd_full_attention_sink_bias = false |
| Gated attention output | not in its code | not stated | No sigmoid gating of attention output before o_proj is implemented; attn_output goes straight from attention interface to o_proj. |
| QK normalization | not in its code | not stated | No RMSNorm or LayerNorm is applied to query/key states before the dot product in MiMoV2Attention; only rotary embedding is applied. |
| Partial RoPE code only | in its code | not stated | partial_rotary_factor=0.334 makes rope_dim less than head_dim, and the attention forward splits query/key into rope and nope parts, applying RoPE only to the rope slice. partial_rotary_factor = 0.334head_dim = 192 |
| YaRN RoPE scaling | not in its code | not stated | rope_scaling type is 'default', not YaRN, so no YaRN scaling is applied. rope_scaling = {"rope_type": "default", "type": "default"} |
| Layers without positional encoding (NoPE) | not in its code | not stated | All softmax attention layers apply RoPE to the rope_dim portion of every head (partial RoPE uniformly applied); there is no per-layer toggle disabling RoPE entirely on some attention layers. |
| Mixture of experts | in its code | core | MoE layers route each token via a sigmoid-scored router (noaux_tc) to 8 of 256 routed experts per token, per moe_layer_freq. n_routed_experts = 256num_experts_per_tok = 8moe_layer_freq = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1… |
| Shared expert | not in its code | not stated | n_shared_experts is null and MiMoV2MoE has no shared-expert module in the code. n_shared_experts = null |
| Auxiliary-loss-free load balancing (selection bias) code only | in its code | not stated | The gate adds e_score_correction_bias to scores only for top-k selection (noaux_tc), while the actual weights used to combine expert outputs come from the unbiased sigmoid scores. topk_method = "noaux_tc" |
| Multi-token prediction layers | code unclear | core | There is a regex to ignore loading model.mtp.* weights, implying an MTP module may exist, but no num_nextn_predict_layers or similar config key or module implementation is present in the given files. |
| SwiGLU feed-forward code only | in its code | not stated | MLP and expert FFNs compute down_proj(silu(gate_proj(x)) * up_proj(x)) with hidden_act set to silu. hidden_act = "silu" |
model architecture 26
token mixer 8
softmax attention 7
grouped-query attention 1
attention sink 1
hybrid layer stacking 1
channel mixer 8
dense feed-forward network 1
mixture of experts 7
expert routing 1
positional encoding 1
prediction head 1
multimodal architecture 6
context capacity 2
training objective 4
language modelling objective 1
multi-token prediction objective 1
distillation objective 1
auxiliary loss 1
optimization 4
optimizer 1
learning-rate schedule 1
training precision 1
training stability 1
data curation 2
data filtering 1
data mixture & curriculum 1
post-training 20
supervised fine-tuning 2
reinforcement learning algorithm 3
policy distillation 2
rollout & RL infrastructure 8
agentic post-training 2
inference & serving 14
decoding strategy 3
KV cache management 3
inference quantization 2
serving parallelism 2
inference kernel 1
context management 2
agentic scaffolding 1
software implementation 3
agent product 3
unfiled 4
Further reading
Picked by hand, not extracted: where to read more, not evidence for anything on this page.
- MiMo-V2.5 architecture card — LLM Architecture Gallery explainer sebastianraschka.com
Sources
The curated document list for this model. "not fetched" means the URL is recorded but its text was not read in the current run.
| Document | Kind | Publisher | Status |
|---|---|---|---|
| mimo.xiaomi.com/mimo-v2-5 | official blog | Xiaomi MiMo | read |
| huggingface.co/XiaomiMiMo/MiMo-V2.5 | model card | Xiaomi MiMo | read |
| huggingface.co/XiaomiMiMo/MiMo-V2.5-Base | model card | Xiaomi MiMo | read |
| github.com/XiaomiMiMo/MiMo | code repo | Xiaomi MiMo | read |
| arxiv.org/abs/2601.02780 | technical report | Xiaomi LLM-Core | read |
| recipes.vllm.ai/XiaomiMiMo/MiMo-V2.5 | vendor docs | vLLM | read |
| marktechpost.com/2026/04/22/xiaomi-releases-mimo-v2-5-pro-and-mimo-v2-5… | news | MarkTechPost | read |
| openrouter.ai/xiaomi/mimo-v2.5 | vendor docs | OpenRouter | read |