Xiaomi · released 2026-04-22
MiMo-V2.5-Pro
What MiMo-V2.5-Pro’s own documents say it is built from — every method with the sentence that describes it.
Curator’s noteLarger sibling launched alongside MiMo-V2.5; MIT license, 1M context. Shares the mimo.xiaomi.com launch page with V2.5 — same double-mention caveat as the DeepSeek V4 pair.
Against the consensus recipe
Its documents state 7 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 decaynot in its documents
Post-training
- Group Relative Policy Optimizationnot in its documents
- Supervised fine-tuningused
- Multi-Teacher On-Policy Distillationcore
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 — 4 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 21d1ecfecd, by anthropic/claude-sonnet-5 on 2026-09-25.
| Feature | Code | Its documents | Evidence |
|---|---|---|---|
| Grouped-query attention code only | in its code | not stated | Full attention layers use 128 query heads sharing 8 key/value heads via repeat_kv grouping. num_attention_heads = 128num_key_value_heads = 8 |
| Multi-head latent attention | not in its code | not stated | No latent KV down/up projection mechanism (kv_lora_rank/q_lora_rank) exists in the code or config; attention uses standard per-head q/k/v projections. |
| Sliding-window attention | in its code | used | SWA layers (marked by hybrid_layer_pattern==1) use sliding_window=128 to build a sliding-window causal mask. sliding_window = 128 |
| Interleaved sliding-window and global attention | in its code | used | hybrid_layer_pattern interleaves full-attention layers (0) with sliding-window layers (1) in a fixed repeating pattern across 70 layers. |
| Indexer-selected sparse attention (DeepSeek Sparse Attention) | not in its code | not stated | No indexer-scoring or top-k token selection mechanism appears in the code or config (no index_topk/index_n_heads keys). |
| Linear-attention or state-space layers alongside full attention | not in its code | not stated | All decoder layers use MiMoV2Attention (softmax attention, either full or sliding-window); there is no linear-attention or SSM mixer layer type. |
| Gated DeltaNet layers | not in its code | not stated | No gated delta-rule recurrent mixer implementation or config keys (linear_num_key_heads, linear_conv_kernel_dim) are present. |
| Mamba-2 layers | not in its code | not stated | No Mamba-2 SSD state-space block implementation or related config keys (mamba_num_heads, ssm_state_size) are present. |
| Learnable attention sink | in its code | used | Sliding-window layers add a learned per-head attention_sink_bias as an extra logit column in the softmax denominator (enabled via 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 multiplication is applied to the attention output before o_proj; attn_output goes directly into o_proj. |
| QK normalization | not in its code | not stated | No RMSNorm/LayerNorm is applied to query or key states before the attention dot product in MiMoV2Attention; queries/keys go straight from projection/RoPE into matmul. |
| Partial RoPE code only | in its code | not stated | Only rope_dim = head_dim * partial_rotary_factor (0.334) of each head is rotated, the remainder (query_nope/key_nope) carries no position signal. partial_rotary_factor = 0.334 |
| YaRN RoPE scaling | not in its code | not stated | rope_scaling is not set in this config (no key present) so no YaRN scaling is applied; rotary embedding falls back to the default type. |
| Layers without positional encoding (NoPE) | not in its code | not stated | All softmax-attention layers apply the same partial_rotary_factor RoPE scheme uniformly (full-attention and sliding-window layers both get rotary embeddings via rotary_emb/swa_rotary_emb); there is no layer subset entirely without positional encoding. |
| Mixture of experts | in its code | core | Feed-forward layers route tokens to 8-of-384 experts chosen by a learned sigmoid router (noaux_tc top-k selection). n_routed_experts = 384num_experts_per_tok = 8 |
| Shared expert | not in its code | not stated | n_shared_experts is null in this config and no shared-expert module is instantiated in MiMoV2MoE. n_shared_experts = null |
| Auxiliary-loss-free load balancing (selection bias) code only | in its code | not stated | The MoE gate adds e_score_correction_bias to routing scores only for top-k selection (topk_method noaux_tc), not for weighting. topk_method = "noaux_tc" |
| Multi-token prediction layers | code unclear | used | The code ignores model.mtp.* weights on load and the config has no nextn/mtp layer count key, so it cannot be determined whether MTP modules are declared for this checkpoint. |
| SwiGLU feed-forward code only | in its code | not stated | MLP and expert feed-forwards compute silu(gate_proj(x)) * up_proj(x) then down_proj, with hidden_act set to silu. hidden_act = "silu" |
model architecture 13
token mixer 5
softmax attention 4
global attention 1
attention sink 1
hybrid layer stacking 1
channel mixer 1
mixture of experts 1
prediction head 1
multimodal architecture 4
context capacity 2
training objective 2
language modelling objective 1
multi-token prediction objective 1
optimization 1
training precision 1
data curation 2
data filtering 1
data mixture & curriculum 1
post-training 11
supervised fine-tuning 2
reinforcement learning algorithm 1
reward modelling 2
policy distillation 1
rollout & RL infrastructure 3
agentic post-training 2
inference & serving 5
decoding strategy 4
serving parallelism 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-Pro 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-Pro | model card | Xiaomi MiMo | read |
| github.com/XiaomiMiMo/MiMo | code repo | Xiaomi MiMo | read |
| openrouter.ai/xiaomi/mimo-v2.5-pro | vendor docs | OpenRouter | read |
| artificialanalysis.ai/models/mimo-v2-5-pro | third party analysis | Artificial Analysis | read |
| marktechpost.com/2026/04/22/xiaomi-releases-mimo-v2-5-pro-and-mimo-v2-5… | news | MarkTechPost | read |
| buildfastwithai.com/blogs/xiaomi-mimo-v2-5-pro-review-2026 | third party analysis | BuildFastWithAI | read |