llm-architectures-explained

/models

DeepSeek-V3.2

DeepSeek · DeepSeek V3 · open weights

Facts and where they come from

Released2025-12config.jsonconfig.jsonHugging Face repository creation date (api.createdAt)
Licencemitconfig.jsonconfig.jsonREADME metadata: license
Total parametersnot disclosednot disclosed
Active parametersnot disclosednot disclosed
Context length160K tokensconfig.jsonconfig.jsonmax_position_embeddings
Norm placementprecodemodelling codetransformers 5.18.0 / repo modelling code for deepseek_v32: input_layernorm before attention, post_attention_layernorm before the MLP
Norm typeRMSNormcodemodelling codetransformers 5.18.0 / repo modelling code for deepseek_v32: input_layernorm before attention, post_attention_layernorm before the MLP
QK-normnocodemodelling codeno q/k normalisation in the attention block (MLA normalises its latent vectors, which is not QK-norm)
Positional encodingRoPE on 33.3% of each headconfig.jsonconfig.jsonqk_rope_head_dim / (qk_nope_head_dim + qk_rope_head_dim): decoupled RoPE
Parallel attention and MLPnocodemodelling codetransformers 5.18.0 / repo modelling code for deepseek_v32: input_layernorm before attention, post_attention_layernorm before the MLP

Architecture, drawn from the data

MLA 128h, latent 512, top-2048. Each column is one layer: its token mixer above, its feed-forward block below. Paler columns reuse another layer’s keys and values.

DeepSeek-V3.2: layer stack and blockslayers (61)mixer / FFNlayer 0: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 0: Gated MLP: 18432layer 1: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 1: Gated MLP: 18432layer 2: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 2: Gated MLP: 18432layer 3: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 3: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 4: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 4: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 5: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 5: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 6: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 6: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 7: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 7: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 8: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 8: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 9: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 9: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 10: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 10: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 11: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 11: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 12: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 12: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 13: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 13: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 14: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 14: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 15: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 15: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 16: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 16: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 17: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 17: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 18: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 18: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 19: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 19: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 20: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 20: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 21: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 21: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 22: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 22: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 23: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 23: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 24: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 24: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 25: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 25: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 26: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 26: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 27: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 27: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 28: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 28: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 29: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 29: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 30: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 30: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 31: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 31: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 32: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 32: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 33: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 33: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 34: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 34: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 35: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 35: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 36: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 36: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 37: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 37: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 38: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 38: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 39: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 39: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 40: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 40: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 41: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 41: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 42: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 42: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 43: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 43: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 44: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 44: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 45: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 45: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 46: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 46: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 47: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 47: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 48: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 48: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 49: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 49: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 50: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 50: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 51: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 51: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 52: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 52: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 53: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 53: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 54: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 54: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 55: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 55: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 56: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 56: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 57: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 57: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 58: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 58: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 59: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 59: MoE: 256 experts, 8 active · expert 2048 · 1 sharedlayer 60: MLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048layer 60: MoE: 256 experts, 8 active · expert 2048 · 1 shared03060× 58normMLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048+normMoE: 256 experts, 8 active · expert 2048 · 1 shared+× 3normMLA: 128 heads · KV latent 512 + RoPE 64 · Q latent 1536 · sparse top-2048+normGated MLP: 18432+MLAdense 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)672B
Active per token (modelled)38.4B
Without embeddings and output head670B total, 36.6B active
Multi-token-prediction layers (extra)11.6B
Published weights (Hugging Face count)685B
KV cache per token, BF16 (layers that grow with context)83.9 KiB
KV cache + state at 160K tokens, BF1613.1 GiB
Decode FLOPs per token at 4K context89.3 GFLOP
Prefill FLOPs for a 4K prompt339 TFLOP

KV cache against context

DeepSeek-V3.2: KV cache bytes against context length101001,00010,000100,000980 KiB9.5 MiB95 MiB950 MiB9.3 GiBcontext (tokens)KV cache + state (BF16)DeepSeek-V3.2

Compare with other models →

Every architecture field

FieldValueSource
d_model7,168config.jsonconfig.jsonhidden_size
vocab129,280config.jsonconfig.jsonvocab_size
tied_embeddingsfalseconfig.jsonconfig.jsontie_word_embeddings
mixers.mla.typemlacodemodelling codemulti-head latent attention
mixers.mla.heads128config.jsonconfig.jsonnum_attention_heads
mixers.mla.q_lora_rank1,536config.jsonconfig.jsonq_lora_rank
mixers.mla.kv_lora_rank512config.jsonconfig.jsonkv_lora_rank
mixers.mla.qk_nope128config.jsonconfig.jsonqk_nope_head_dim
mixers.mla.qk_rope64config.jsonconfig.jsonqk_rope_head_dim
mixers.mla.v_head_dim128config.jsonconfig.jsonv_head_dim
mixers.mla.indexer.heads64config.jsonconfig.jsonindex_n_heads
mixers.mla.indexer.head_dim128config.jsonconfig.jsonindex_head_dim
mixers.mla.indexer.topk2,048config.jsonconfig.jsonindex_topk
ffns.dense.typedensecodemodelling codeMLP block
ffns.dense.d_ff18,432config.jsonconfig.jsonintermediate_size
ffns.dense.gatedtruecodemodelling codeMLP: gated (SwiGLU/GeGLU)
ffns.moe.typemoecodemodelling codeMoE block
ffns.moe.experts256config.jsonconfig.jsonn_routed_experts
ffns.moe.active8config.jsonconfig.jsonnum_experts_per_tok
ffns.moe.d_expert2,048config.jsonconfig.jsonmoe_intermediate_size
ffns.moe.gatedtruecodemodelling codeexperts are gated MLPs
ffns.moe.shared1config.jsonconfig.jsonn_shared_experts
ffns.moe.d_shared2,048config.jsonconfig.jsonmoe_intermediate_size
layout3× mla/dense · 58× mla/moeconfig.jsonconfig.jsonnum_hidden_layers, first_k_dense_replace
mtp_layers1config.jsonconfig.jsonnum_nextn_predict_layers

Sources

Listed in the LLM Architecture Gallery checklist as “DeepSeek V3.2 (671B)” (name only; see about).