models / compare / gpt-oss-120b-vs-minimax-m2
gpt-oss-120b vs MiniMax-M2.7
How gpt-oss-120b (OpenAI, August 2025) and MiniMax-M2.7 (MiniMax, March 2026) are built, drawn on the same November 2026 blueprint. They make different choices on 10 of 27 components. Select a component in either diagram to find it in the table.
--- frontier-llm@2026-11+++ gpt-oss-120b@2025-08+0~4−9
gpt-oss-120b
OpenAI, August 2025, 117B total, 5.1B active
--- frontier-llm@2026-11+++ minimax-m2@2026-03+0~4−7
MiniMax-M2.7
MiniMax, March 2026, 229.9B total, 9.8B active
Component by component
gpt-oss-120b and MiniMax-M2.7 differ on 10 of 27 components.
| Blueprint component | gpt-oss-120b | MiniMax-M2.7 |
|---|---|---|
Layer-wide QK RMSNormOne RMSNorm over all query heads (6,144 dims) and one over all key heads (1,024 dims), applied before RoPE. | ||
Full RoPE with YaRN scalingRotary embeddings on all 64 head dims, θ = 150,000, stretched 32× with YaRN. | Same as the blueprintPartial RoPE in all 62 layers: the first 64 of each head's 128 dims are rotated (rotate-half layout), the other 64 carry no position, with base θ = 5,000,000. No YaRN or other RoPE scaling is configured. | |
Dense grouped-query attentionFull causal attention with 64 query heads sharing 8 KV heads, in every other block. | Full grouped-query attention in all 62 layersCausal softmax over the whole context in every layer: 48 query heads share 8 KV heads of dim 128; no window, sink or gate. | |
Same as the blueprintEvery other block (18 of 36) attends only to a banded window of the last 128 tokens, alternating with the dense blocks; same GQA head layout. | ||
Same as the blueprintNo output gate. Each head instead has a learned sink logit added to the softmax denominator, so it can assign attention mass to nothing. | ||
Softmax top-k routerA linear router picks the top 4 of 128 experts; softmax over those 4 logits gives the weights. | Same as the blueprintSigmoid scores computed in FP32 over 256 experts; a per-expert bias (e_score_correction_bias) is added only to choose the top 8, and the 8 unbiased scores are renormalized to sum to 1. The report calls the biases learnable and says they let the auxiliary balance loss be greatly reduced, not removed (the M2 config lists router_aux_loss_coef = 0.001). | |
Same as the blueprintDeepSeek-V3-style sequential MTP, each module one Transformer layer. Pretraining used a single module with loss weight 0.3, annealed to 0.1; in the decay phase it was expanded to 3 modules initialized by copying main-model weights, trained alone first and then jointly. The released M2 and M2.7 checkpoints contain no MTP weights. | ||
Same as the blueprintMoE weights were post-trained and are released in MXFP4 (block-scaled 4-bit, about 4.25 bits per parameter), which is what lets the 120b run on one 80 GB GPU. Attention, router, embeddings and head are not quantized. | FP8 block-scaled checkpointOpen weights ship as FP8 E4M3 with 128 × 128 block scales; router, its bias, embeddings and LM head stay in higher precision. | |
Same as the blueprintThe 3 MTP modules draft tokens that the main model verifies in one forward pass. During RL they are co-trained with the policy via a top-K KL loss so acceptance stays high as the policy shifts. | ||
Same as the blueprintNo architectural KV reduction beyond GQA-8: 2,048 values per token per layer in all 62 layers. For RL rollouts, Forge adds a distributed, DFS-backed global KV-cache pool with cost-aware routing to raise prefix-cache hit rates, plus prefill/decode disaggregation. |