MiniMax-M3.1-Flash on two 96 GB cards instead of four, answering in the language it was asked in.
Expert-pruned build of MiniMaxAI/MiniMax-M3.1-Flash
at 170.17 GB, against 250.12 GB for the release.
Each of the 57 MoE layers keeps 84 of its 128 routed experts, and the router is cut to the same 84 rows. Nothing is
requantized: the kept experts are the release's NVFP4 tensors, and attention, shared experts, dense MLPs, embeddings,
LM head and vision tower are byte-identical to the release.
Updated 2026-10-31. Until now this repo was MiniMax-M3.1-Flash-pruned-272B-NVFP4, and that build answered most non-English questions in English: 54.0% of its MGSM replies were in the question's language, against 94.4% for the release, and 60% of its open-ended non-English answers mixed in English (discussion #1). Our English and tool-calling suites missed it. This revision keeps a different set of experts, four more per layer. The 272B weights stay in the history at commit
05e8c0b.There is no BF16 MiniMax-M3.1-Flash: MiniMax trained the experts and attention with quantization in the loop, so the reference below is the release itself on four cards. Drift is the extra negative log-likelihood per token a build assigns to text the release wrote; top-1 agreement is how often its most likely next token is the release's.
Why this build
- 🌍 Answers in your language. At temperature 0.6, 93.2% of MGSM replies come back in the question's language (release 96.0%, the 272B build 55.6%) and 0.0% of open-ended non-English answers mix in English (1.3%, 53.3%). At MiniMax's default of 1.0: 92.8% and 3.3%, against 94.4% and 5.3% for the release and 54.0% and 60.0% for the 272B build.
- 🖥️ Two cards. The release needs four RTX PRO 6000s. This build loads 79.62 GiB per card at TP2, and the command below leaves a 173,696-token KV pool at a 131,072-token window.
- 🛠️ Tool calling level with the release. 70.3 on our 200-item suite, the release's score too (three runs each); 96.4% of three-turn tool conversations in seven languages fully correct at temperature 0.6 (release 98.6%).
- 📏 Knowledge 82.3 on the 1,170-item suite, against 85.0 for the release and 84.4 for the 272B build. The language fix cost about two points of English reasoning; 27 answers ran out of budget, against 9 for the release.
- 🌡️ Use temperature 0.6. At MiniMax's recommended 1.0 the release itself leaks
</mm:think>into replies (11 of 420 tool-chat turns) and drops Chinese, Cyrillic or Korean words into 55 of 150 open-ended non-English answers. At 0.6 that falls to 0 and 20, and to 0 and 36 on this build. - 📉 What removing 44 experts per layer still costs. Tool-chat replies stay in the user's language
92.3% of the time at temperature 0.6 (83.7% at 1.0), against 98.8% (93.3%) for the release.
HumanEval+ 90.2% and MBPP+ 71.0%, against 90.9% and 72.0%. 7 of 364 code answers do not parse, each one a miscounted
bracket in a copied test line such as
Extract([[1, 2], [3, 4, 5], [6, 7, 8, 9]))(release 0, 272B build 5). - ⚡ 73.0 tok/s single-stream and 264.8 at concurrency 32 on two cards, against 83.7 and 306.7 for the release on four.
Serve it
hf download primitive-ai/MiniMax-M3.1-Flash-pruned-285B-NVFP4 --local-dir ./MiniMax-M3.1-Flash-pruned-285B-NVFP4
docker run --gpus '"device=0,1"' --ipc=host -p 8000:8000 -v $PWD:/models \
-e VLLM_FLOAT32_MATMUL_PRECISION=high \
vllm/vllm-openai:minimax-m31-flash-x86_64-cu134 \
--model /models/MiniMax-M3.1-Flash-pruned-285B-NVFP4 --trust-remote-code \
--tensor-parallel-size 2 --max-model-len 131072 --gpu-memory-utilization 0.95 \
--block-size 128 --disable-hybrid-kv-cache-manager \
--kv-cache-dtype fp8 --attention-config '{"indexer_kv_dtype": "fp8"}' \
--limit-mm-per-prompt '{"image":1,"video":0}' \
--reasoning-parser minimax_m3 --enable-auto-tool-choice --tool-call-parser minimax_m3
Checked with this command on two idle cards: boot 322 s, 79.62 GiB of weights per card, a 173,696-token KV pool.
What is 17*23? comes back as 391 with the reasoning split off by the parser, a weather question comes back as the
parsed call get_weather {"city": "Lisbon"}, and an image of the number 427 is read as 427. Sample with
temperature 0.6 and top_p 0.95.
--gpu-memory-utilization 0.95 is needed for the 131,072-token window; at 0.93 vLLM refuses to start.
--block-size 128 and --disable-hybrid-kv-cache-manager are required by the sparse attention. On RTX PRO 6000
(sm_120) the NVFP4 KV cache from MiniMax's vLLM recipe is not available; FP8 KV with the FP8 indexer cache is. The
dspark/ drafter is the release's, unchanged; we have not tested it with this build.
Measured
RTX PRO 6000 Blackwell, 96 GB. The 1,170-item knowledge suite and the 200-item tool-calling suite, temperature 0.6
/ top_p 0.95 / top_k 20, thinking at the template default (adaptive), a 16,384-token budget, concurrency 32,
auto-scored with no LLM judge. Throughput is 8K in / 512 out, prefix-cache free, two seeds per cell. Everything ran at
a 32,768-token window or less.
| build | GPUs | size | knowledge | tool-calling | call | abstain | finished | tok/s @1 | tok/s @32 |
|---|---|---|---|---|---|---|---|---|---|
| MiniMax-M3.1-Flash (release) | 4, TP4 | 250.12 GB | 85.0 | 70.3 | 81.7 | 25.0 | 99.2% | 83.7 | 306.7 |
| 272B build | 2, TP2 | 162.90 GB | 84.4 | 70.8 | 80.4 | 32.5 | 98.8% | 73.1 | 289.8 |
| this repo | 2, TP2 | 170.17 GB | 82.3 | 70.3 | 80.8 | 28.3 | 97.7% | 73.0 | 264.8 |
Drift from the release, ×10⁻³ nats per token, on text the release wrote at temperature 0.6 (400 English reasoning answers, 120 non-English answers, 100 Python solutions, and 100 next turns of SWE-agent trajectories from SWE-smith):
| build | English | non-English | code | agent turns |
|---|---|---|---|---|
| 272B build | +83.7 | +703.7 | +51.1 | +64.9 |
| this repo | +99.3 | +180.8 | +46.5 | +27.1 |
A second suite, with vLLM's minimax_m3 reasoning and tool parsers on, one run each: MGSM (10 languages × 25),
150 open-ended prompts in Arabic, French, Hindi, Russian and Spanish from the Aya evaluation suite, HumanEval+ (164)
and 200 MBPP+ tasks run against their tests with no network, and 140 three-turn tool conversations in seven languages
(weather, then order status, then a currency conversion). A reply counts as in-language when at least 80% of its
letters are in the prompt's script, or, for Latin-script languages, when fastText labels it with the prompt's
language. "Foreign script" is a reply carrying letters of a third script, such as Chinese inside Arabic.
| build, temperature | MGSM correct | MGSM in-language | open-ended in-language | mixed with English | foreign script /150 | HumanEval+ | MBPP+ | tool chats correct | markup leaks /420 | tool replies in-language |
|---|---|---|---|---|---|---|---|---|---|---|
| release, 1.0 | 86.0 | 94.4 | 96.0 | 5.3 | 55 | 90.9 | 72.0 | 93.6 | 11 | 93.3 |
| 272B build, 1.0 | 86.8 | 54.0 | 33.3 | 60.0 | 55 | 88.4 | 68.0 | 93.6 | 8 | 17.6 |
| this repo, 1.0 | 84.4 | 92.8 | 96.0 | 3.3 | 65 | 90.2 | 71.0 | 95.7 | 9 | 83.7 |
| release, 0.6 | 87.6 | 96.0 | 98.7 | 1.3 | 20 | 98.6 | 0 | 98.8 | ||
| 272B build, 0.6 | 84.0 | 55.6 | 40.7 | 53.3 | 24 | 92.9 | 2 | 18.2 | ||
| this repo, 0.6 | 86.8 | 93.2 | 96.7 | 0.0 | 36 | 96.4 | 0 | 92.3 |
The release ran on four cards with a BF16 KV cache. The 272B rows ran on the release too, with the dropped experts masked out of routing, which computes the same function as a pruned checkpoint (on all four drift sets the two agree within 1×10⁻³ nats per token). This repo's rows are the checkpoint itself on two cards with the FP8 KV cache from the command above.
What these tables do not cover:
- Images and video. The suites are text only; the image check above is one prompt.
- Context past 32K. The model's window is 1M tokens; this build serves 131K on two cards and was tested to 32K.
- Other GPUs. Only the RTX PRO 6000 Blackwell (sm_120) was tested.
Comparable with our other models
Accuracy numbers move for reasons that have nothing to do with the model: a shorter token budget, a
different temperature, or whether the model was allowed to reason at all. So every number in this
table, on this card and on our other cards, comes from the one fixed protocol described above, the
same 1,370 items, auto-scored, no LLM judge.
| model | shape | size | overall | knowledge | call | abstain | finished | out/answer |
|---|---|---|---|---|---|---|---|---|
| Laguna-XS-2.1 | 31 B MoE | 19.3 GiB | 81.7 | 83.8 | 68.4 | 73.5 | 98.9% | 1097 |
| Nemotron-3.5-Lightning-30B-A3B | 30 B MoE+Mamba | 19.2 GiB | 87.1 | 87.9 | 85.4 | 70.5 | 97.9% | 1429 |
| Ornith-1.5-35B-A3B | 35 B MoE | 22.6 GiB | 88.7 | 91.7 | 74.4 | 60.0 | 99.3% | 760 |
| Muse-Glimmer-30B | 30 B MoE | 20.4 GiB | 86.6 | 88.8 | 78.6 | 54.5 | 99.7% | 800 |
| Qwen3.8-27B | 27 B dense | 20.7 GiB | 88.8 | 90.4 | 85.5 | 54.5 | 99.7% | 651 |
| Granite-4.2-30B | 30 B dense | 18.1 GB | 85.5 | 86.2 | 85.8 | 60.8 | 98.5% | 1502 |
| Nex-N2.5-mini NVFP4 | 35 B MoE, 3 B active | 23.91 GB | 88.5 | 90.5 | 81.9 | 57.5 | 99.3% | 524 |
| Nex-N2.5-mini mixed | 35 B MoE, 3 B active | 26.04 GB | 88.5 | 90.6 | 80.9 | 58.7 | 99.2% | 504 |
| Nex-N2.5-mini FP8 | 35 B MoE, 3 B active | 38.13 GB | 88.7 | 90.9 | 79.4 | 60.0 | 99.5% | 545 |
| K2-Horizon-MoVA-36B-A4B NVFP4 | 37 B MoE+MoVA, 4 B active | 36.7 GB | 84.1 | 86.5 | 71.8 | 60.4 | 95.6% | 1234 |
| K2-Horizon-MoVA-36B-A4B mixed | 37 B MoE+MoVA, 4 B active | 44.5 GB | 84.9 | 87.3 | 73.5 | 58.9 | 96.3% | 1118 |
| Nemotron-3.5-Bolt-74B-A9B mixed | 75 B MoE+Mamba, 9 B active | 46.70 GB | 89.3 | 90.6 | 87.9 | 58.3 | 98.5% | 1173 |
| Laguna-S-2.1 | 110 B MoE | 64.0 GiB | 84.3 | 87.1 | 64.6 | 81.0 | 97.3% | 995 |
| Qwen3.8-Flash-Next | 180 B MoE, 6 B active | 183.7 GB | 90.3 | 92.2 | 84.8 | 56.7 | 99.5% | 686 |
| MiMo-V2.6-Flash-RL NVFP4 | 309 B MoE, 15 B active | 182.40 GB | 89.3 | 91.1 | 83.0 | 61.0 | 99.0% | 664 |
| Kolibri-1 FP8 | 78 B MoE, 3.5 B active | 78.83 GB | 85.0 | 86.1 | 86.1 | 48.0 | 97.0% | 1824 |
| Kolibri-1 NVFP4 | 78 B MoE, 3.5 B active | 47.70 GB | 84.9 | 86.2 | 84.9 | 48.0 | 96.4% | 1947 |
| Kolibri-1 mixed | 78 B MoE, 3.5 B active | 45.81 GB | 83.9 | 85.0 | 85.5 | 47.5 | 96.6% | 1848 |
| LFM2.5-24B-A2B NVFP4A16 | 24 B MoE, 2.45 B active | 14.95 GB | 83.9 | 85.4 | 82.4 | 44.5 | 98.8% | 1603 |
| MiniMax-M3.1-Flash (release, 4 cards) | 427 B MoE, 23 B active | 250.12 GB | 82.9 | 85.0 | 81.7 | 25.0 | 99.2% | 513 |
| MiniMax-M3.1-Flash-pruned-285B (this repo) | 285 B MoE, 23 B active | 170.17 GB | 80.6 | 82.3 | 80.8 | 28.3 | 97.7% | 932 |
overall pools the two suites as 1,370 items, weighted 85.4% knowledge and 14.6% tool calling by
item count. Read it with finished: overall scores an answer that overran the token budget as
wrong, and cannot say whether the model needed the room or failed to stop. A gap under 1.0 in
overall is a tie. Sizes are as each card reports them, which mixes GB and GiB.
What's in it
285.03 B parameters including the vision tower (the release has 427.05 B), 23 B active per token as before: top-4 of the routed experts plus one shared expert.
| params | share | |
|---|---|---|
| routed experts, 57 MoE layers × 84, w1 + w2 + w3 | 271.11 B | 95.1% |
| attention and sparse-attention indexer, 60 layers | 6.65 B | 2.3% |
| shared experts, 57 layers | 3.23 B | 1.1% |
| embeddings and LM head (untied) | 2.46 B | 0.9% |
| dense MLP, 3 layers | 0.68 B | 0.2% |
| vision tower and projector | 0.68 B | 0.2% |
| norms and other | 0.19 B | 0.1% |
| routers | 0.03 B | 0.0% |
| modules | format |
|---|---|
| routed experts (14,364 matrices) | NVFP4 weights and activations (E2M1, E4M3 scale per 16, FP32 global), the release's tensors |
| attention, indexer, shared experts, dense MLPs | MXFP8 (E4M3, E8M0 scale per 32), as released |
| embeddings, LM head, vision tower, norms | BF16, as released |
| routers and routing bias | FP32, 84 of the release's 128 rows per layer |
Expert ids are renumbered 0 to 83 in each layer, in their original order. config.json differs from the release only
in num_local_experts: 84; the quantization_config is the release's.
Licence
MiniMax Community License, the base model's licence; the full text is in this repository. It allows
non-commercial use, modification and redistribution. Commercial use, which under the licence includes deploying a
modified version such as this one, requires showing "Built with MiniMax M3.1-Flash" and either a one-time notice to
api@minimax.io or, above US$20 million in yearly revenue, MiniMax's prior written authorization. The licence's
appendix lists prohibited uses. This is a modified version of MiniMaxAI/MiniMax-M3.1-Flash: 44 of 128 routed experts
per MoE layer and the matching router rows were removed, and config.json was changed to match. The model and its
copyright belong to MiniMax.
![]()
primitive ·
more models ·
inference economics for production LLM systems
- Downloads last month
- 159
Model tree for primitive-ai/MiniMax-M3.1-Flash-pruned-285B-NVFP4
Base model
MiniMaxAI/MiniMax-M3.1-Flash