llm-architectures-explained

/models

MiniMax-M3

MiniMax · MiniMax M3 · open weights · multimodal (text stack modelled)

Facts and where they come from

Released2026-06config.jsonconfig.jsonHugging Face repository creation date (api.createdAt)
Licenceotherconfig.jsonconfig.jsonREADME metadata: license
Total parameters428Blabmodel cardREADME: ~428B parameters and ~23B activated
Active parameters23Blabmodel cardREADME: ~23B activated
Context length1M tokenslabmodel cardREADME: 1M context
Norm placementnot disclosednot disclosednot checked in the modelling code
Norm typenot disclosednot disclosednot checked in the modelling code
QK-normyesconfig.jsonconfig.jsontext_config.use_qk_norm
Positional encodingRoPE on 50% of each headconfig.jsonconfig.jsonrotary_dim / head_dim

Architecture, drawn from the data

3× GQA 64q/4kv + 57× GQA 64q/4kv, top-2176. Each column is one layer: its token mixer above, its feed-forward block below. Paler columns reuse another layer’s keys and values.

MiniMax-M3: layer stack and blockslayers (60)mixer / FFNlayer 0: GQA: 64 query / 4 KV heads · head 128layer 0: Gated MLP: 12288layer 1: GQA: 64 query / 4 KV heads · head 128layer 1: Gated MLP: 12288layer 2: GQA: 64 query / 4 KV heads · head 128layer 2: Gated MLP: 12288layer 3: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 3: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 4: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 4: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 5: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 5: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 6: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 6: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 7: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 7: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 8: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 8: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 9: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 9: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 10: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 10: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 11: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 11: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 12: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 12: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 13: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 13: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 14: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 14: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 15: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 15: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 16: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 16: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 17: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 17: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 18: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 18: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 19: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 19: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 20: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 20: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 21: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 21: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 22: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 22: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 23: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 23: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 24: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 24: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 25: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 25: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 26: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 26: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 27: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 27: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 28: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 28: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 29: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 29: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 30: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 30: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 31: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 31: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 32: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 32: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 33: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 33: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 34: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 34: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 35: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 35: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 36: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 36: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 37: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 37: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 38: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 38: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 39: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 39: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 40: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 40: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 41: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 41: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 42: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 42: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 43: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 43: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 44: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 44: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 45: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 45: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 46: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 46: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 47: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 47: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 48: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 48: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 49: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 49: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 50: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 50: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 51: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 51: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 52: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 52: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 53: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 53: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 54: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 54: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 55: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 55: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 56: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 56: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 57: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 57: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 58: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 58: MoE: 128 experts, 4 active · expert 3072 · 1 sharedlayer 59: GQA: 64 query / 4 KV heads · head 128 · sparse top-2176layer 59: MoE: 128 experts, 4 active · expert 3072 · 1 shared03059× 57GQA: 64 query / 4 KV heads · head 128 · sparse top-2176+MoE: 128 experts, 4 active · expert 3072 · 1 shared+× 3GQA: 64 query / 4 KV heads · head 128+Gated MLP: 12288+full attentionsparse attentiondense FFNMoE FFN

Modelled costs

From the cost model, batch size 1. Totals the lab states are in the table above; differences come from rounding, from what a lab counts, or from parts the model does not describe (listed on the about page).

Parameters (modelled)426B
Active per token (modelled)26B
Without embeddings and output head424B total, 23.5B active
Multi-token-prediction layers (extra)52.4B
Published weights (Hugging Face count)427B
KV cache per token, BF16 (layers that grow with context)134 KiB
KV cache + state at 1M tokens, BF16134 GiB
Decode FLOPs per token at 4K context54.2 GFLOP
Prefill FLOPs for a 4K prompt206 TFLOP

KV cache against context

MiniMax-M3: KV cache bytes against context length101001,00010,000100,0001,000,000980 KiB9.5 MiB95 MiB950 MiB9.3 GiB93 GiBcontext (tokens)KV cache + state (BF16)MiniMax-M3

Compare with other models →

Every architecture field

FieldValueSource
d_model6,144config.jsonconfig.jsontext_config.hidden_size
vocab200,064config.jsonconfig.jsontext_config.vocab_size
tied_embeddingsfalseconfig.jsonconfig.jsontext_config.tie_word_embeddings
mixers.full.typeattncodemodelling codeattention block
mixers.full.heads64config.jsonconfig.jsontext_config.num_attention_heads
mixers.full.kv_heads4config.jsonconfig.jsontext_config.num_key_value_heads
mixers.full.head_dim128config.jsonconfig.jsontext_config.head_dim
mixers.full.qk_normtrueconfig.jsonconfig.jsontext_config.use_qk_norm
mixers.sparse.typeattncodemodelling codeattention block
mixers.sparse.heads64config.jsonconfig.jsontext_config.num_attention_heads
mixers.sparse.kv_heads4config.jsonconfig.jsontext_config.num_key_value_heads
mixers.sparse.head_dim128config.jsonconfig.jsontext_config.head_dim
mixers.sparse.qk_normtrueconfig.jsonconfig.jsontext_config.use_qk_norm
mixers.sparse.indexer.heads4config.jsonconfig.jsontext_config.sparse_attention_config.sparse_num_index_heads
mixers.sparse.indexer.head_dim128config.jsonconfig.jsontext_config.sparse_attention_config.sparse_index_dim
mixers.sparse.indexer.topk2,176codemodelling code(sparse_topk_blocks + sparse_local_block) x sparse_block_size tokens read per query (transformers 5.18.0 minimax_m3_vl lightning indexer)
ffns.dense.typedensecodemodelling codeMLP block
ffns.dense.d_ff12,288config.jsonconfig.jsontext_config.dense_intermediate_size
ffns.dense.gatedtruecodemodelling codeMLP: gated (SwiGLU/GeGLU)
ffns.moe.typemoecodemodelling codeMoE block
ffns.moe.experts128config.jsonconfig.jsontext_config.num_local_experts
ffns.moe.active4config.jsonconfig.jsontext_config.num_experts_per_tok
ffns.moe.d_expert3,072config.jsonconfig.jsontext_config.intermediate_size
ffns.moe.gatedtruecodemodelling codeexperts are gated MLPs
ffns.moe.shared1config.jsonconfig.jsontext_config.n_shared_experts
ffns.moe.d_shared3,072config.jsonconfig.jsontext_config.shared_intermediate_size
layout3× full/dense · 57× sparse/moeconfig.jsonconfig.jsontext_config.moe_layer_freq, sparse_attention_config.sparse_attention_freq
mtp_layers7config.jsonconfig.jsontext_config.num_mtp_modules

Sources

Listed in the LLM Architecture Gallery checklist as “MiniMax M3 (428B)” (name only; see about).