models / compare / minimax-m3-vs-deepseek-v4-1-flash
MiniMax-M3 vs DeepSeek-V4.1-Flash
How MiniMax-M3 (MiniMax, June 2026) and DeepSeek-V4.1-Flash (DeepSeek, September 2026) are built, drawn on the same November 2026 blueprint. They make different choices on 11 of 27 components. Select a component in either diagram to find it in the table.
--- frontier-llm@2026-11+++ minimax-m3@2026-06+0~4−4
MiniMax-M3
MiniMax, June 2026, 427.0B total, 23.5B active
--- frontier-llm@2026-11+++ deepseek-v4-1-flash@2026-09+0~3−1
DeepSeek-V4.1-Flash
DeepSeek, September 2026, 552B + 196B Engram total, 16B (8B in prefill) active
Component by component
MiniMax-M3 and DeepSeek-V4.1-Flash differ on 11 of 27 components.
| Blueprint component | MiniMax-M3 | DeepSeek-V4.1-Flash |
|---|---|---|
Same as the blueprintTwo Engram modules (196B parameters, FP8) at layers 1 and 14: n-gram orders 2–4, 8 hash heads per order, 2,048 dims per order, about 16M rows per head table. A sigmoid gate on each mHC stream's normalized dot product with its own key adds a shared value. The short causal conv was dropped. Rows are prefetched from host memory over RDMA. | ||
Single residual streamOne d = 6,144 residual stream with pre-norm sublayers; no hyper-connections. | Same as the blueprintSingle-Pass mHC: n = 4 streams of width 5,120 and 20 Sinkhorn iterations as in V4, but each sublayer reads its input with the mixing coefficients predicted by the previous sublayer. Removing that dependency lets the Mega-mHC kernel read and write the residual once, halving activation traffic, with negligible quality loss reported. | |
Full grouped-query attention in blocks 0–2The first three blocks attend over the whole context: 64 query heads share 4 KV heads of dim 128; no indexer, gate or sink. | CED decoder attention (CSA2 over encoder-projected KV)Layers 20–39 take uncompressed global KV from the encoder's last hidden state and re-select with a hierarchical indexer. | |
MiniMax Sparse Attention (MSA)Per GQA group, a 2-projection indexer picks the top 16 of 128-token KV blocks; exact softmax over ≤ 2,048 keys, in 57 of 60 layers. | CSA2 encoder layers (2× compression, Full + Reuse)Layers 2–19: KV pooled 2→1 and computed in only 3 of 18 layers; the rest reuse that KV and its top-512 selection. | |
Same as the blueprintLayers 0–1 are pure sliding-window layers; every other layer adds the 128 most recent uncompressed tokens (SWA KV kept in FP8) to its sparse selection. SWA KV is never persisted: on a prefix-cache hit it is rebuilt by replaying only the last 128 tokens (SWA Bounded Replay), with negligible measured loss. | ||
Same as the blueprintNo output gate. Each of the 64 heads has a learnable sink logit in the softmax denominator, per the reference inference code. | ||
Same as the blueprintNot in the released weights: neither the BF16 nor the MXFP8 checkpoint contains MTP tensors, and the Transformers port discards mtp.* keys on load. The configs disagree on the module count (num_mtp_modules = 7 with num_nextn_predict_layers = 1 in the BF16 config, 1 in the MXFP8 config), and MiniMax has not described M3's MTP. M2 used 3 modules. | DSpark drafter (trained after pretraining)Three 128-token-window blocks draft 5 tokens per pass from the backbone's last 3 layers; no MTP loss in pretraining. | |
Same as the blueprintMuon (momentum 0.95, weight decay 0.1, update RMS 0.18) for backbone linear weights, Engram projections and the vision projector, applied per head to query and key weights. Embeddings, the head and Engram tables use a momentum update with Sinkhorn row/column balancing (Engram learning rate 5×); AdamW covers norms and other non-matrix parameters. | ||
BF16 weights plus an official MXFP8 checkpointBF16 release with an FP32 router; MiniMax-M3-MXFP8 stores the text stack's linears as E4M3 with one 8-bit scale per 32 weights. | Same as the blueprintThe release stores most weights in FP8 and routed experts in FP4. Post-training QAT extends FP4 to the main KV cache (E2M1 with one E4M3 scale per 16 channels and no global scale), indexer queries and keys stay FP4 as in V4, and the SWA KV stays FP8 because it is sensitive to quantization. | |
Same as the blueprintThe final stage is full-vocabulary on-policy distillation over all domains from more than 40 teachers, which may differ architecturally from the student, run with asynchronous generation. | ||
Same as the blueprintServed with the DSpark drafter: 5 draft tokens per pass, with the verification length chosen per request from predicted acceptance and profiled throughput under current load. DSpark also accelerates RL and OPD rollouts. |