DeepSeek · released 2025-12-01
DeepSeek-V3.2
What DeepSeek-V3.2’s own documents say it is built from — every method with the sentence that describes it.
Curator’s noteThe V3 line's last release and the paper that introduced DeepSeek Sparse Attention — the mechanism the 2026 cohort went on to adopt wholesale (Hy4's Gated DSA, GLM's glm_moe_dsa, MiniMax's MSA lineage), which is why a 2025 model is worth carrying. Also a scaled RL post-training framework and the high-compute V3.2-Speciale variant. MIT; still in the weekly top 20 at rank 19. arXiv 2512.02556 is its report, mirrored in the repo as assets/paper.pdf.
Against the consensus recipe
Its documents state 3 of the 15 methods the field agrees on.
The recipe from the overview: the methods the most labs adopt, per stage. A missing one is something the documents do not say, not something the model lacks.
Data curation
Training objective
- Multi-Token Predictionnot in its documents
- KL alignment lossused
Model architecture
- Mixture of Expertsnot in its documents
- Hybrid Attentionnot in its documents
- Multi-Token Predictionnot in its documents
Optimization
- Muonnot in its documents
- Expert Parallelismnot in its documents
- Cosine decaynot in its documents
Post-training
- Group Relative Policy Optimizationcore
- Supervised fine-tuningnot in its documents
- Multi-Teacher On-Policy Distillationnot in its documents
Inference & serving
- Configurable reasoning effortnot in its documents
- Speculative decodingnot in its documents
- FP8 KV-cache quantizationnot in its documents
Checked in its code
Its code shows 9 of the 19 architecture features checked — 8 of them are not stated in its documents.
Documents say what a lab chose to describe; the modeling code says what the checkpoint runs. Each feature below was put to a code verifier, and only the config values and source lines it cited that were found in the files are shown, linked to the line.
Read from Hugging Face Transformers (modeling_deepseek_v32.py, configuration_deepseek_v32.py) and config.json at revision a7e62ac04e, by anthropic/claude-sonnet-5 on 2026-09-25.
| Feature | Code | Its documents | Evidence |
|---|---|---|---|
| Grouped-query attention | not in its code | not stated | num_attention_heads equals num_key_value_heads (128/128) and attention uses MLA rather than shared KV head groups, so there is no GQA in the softmax attention layers. num_attention_heads = 128num_key_value_heads = 128 |
| Multi-head latent attention code only | in its code | not stated | Keys/values are compressed into a shared kv_lora_rank latent and up-projected per head via kv_b_proj, with a decoupled RoPE key, DeepSeek-V2/V3 style MLA. kv_lora_rank = 512q_lora_rank = 1536qk_rope_head_dim = 64 |
| Sliding-window attention | not in its code | not stated | No sliding_window key or windowed masking mechanism appears anywhere in the config or attention code; every layer is 'indexed_attention' with full causal masking modulated only by the sparse indexer. |
| Interleaved sliding-window and global attention | not in its code | not stated | There is no layer_types pattern mixing sliding and global attention; all layers are uniformly 'indexed_attention'. |
| Indexer-selected sparse attention (DeepSeek Sparse Attention) | in its code | core | A DeepseekV32Indexer scores past tokens with lightweight projections and selects the top index_topk tokens per query, which are turned into a sparse attention mask. index_topk = 2048index_n_heads = 64index_head_dim = 128 |
| Linear-attention or state-space layers alongside full attention | not in its code | not stated | There are no linear-attention or SSM layer types; every decoder layer uses the same DeepseekV32Attention (MLA with indexer). |
| Gated DeltaNet layers | not in its code | not stated | No gated delta rule / recurrent state mixer is implemented; only MLA attention layers exist. |
| Mamba-2 layers | not in its code | not stated | No Mamba-2/SSD state-space block or related config keys (mamba_num_heads, ssm_state_size) are present in this model. |
| Learnable attention sink | not in its code | not stated | The attention softmax implementation (eager_attention_forward) has no extra learned sink logit added to the denominator. |
| Gated attention output | not in its code | not stated | The attention output is passed straight through o_proj with no sigmoid gating multiplication applied to attn_output. |
| QK normalization | not in its code | not stated | There is no RMSNorm/LayerNorm applied to the main query/key projections in DeepseekV32Attention (only kv_a_layernorm/q_a_layernorm normalize the latent projections, and the indexer's k_norm is a separate module, not the main QK dot product); no use_qk_norm config flag exists. |
| Partial RoPE code only | in its code | not stated | RoPE is applied only to the qk_rope_head_dim slice (64) of each 192-dim query/key head, while qk_nope_head_dim (128) carries no positional signal — DeepSeek's decoupled RoPE key. qk_rope_head_dim = 64qk_nope_head_dim = 128 |
| YaRN RoPE scaling code only | in its code | not stated | rope_scaling type is set to yarn in the config and the rotary embedding/mscale code applies YaRN-specific frequency and magnitude scaling. rope_scaling = {"beta_fast": 32, "beta_slow": 1, "factor": 40, "mscale": 1.0, "mscale_all_di… |
| Layers without positional encoding (NoPE) | not in its code | not stated | All attention layers apply the same decoupled RoPE scheme uniformly; there is no per-layer switch disabling RoPE entirely for some softmax attention layers. |
| Mixture of experts code only | in its code | not stated | DeepseekV32MoE routes tokens to n_routed_experts=256 experts via a top-k sigmoid router (num_experts_per_tok=8) in every layer beyond first_k_dense_replace. n_routed_experts = 256num_experts_per_tok = 8first_k_dense_replace = 3 |
| Shared expert code only | in its code | not stated | DeepseekV32MoE adds a shared_experts MLP sized by n_shared_experts=1 that every token passes through in addition to routed experts. n_shared_experts = 1 |
| Auxiliary-loss-free load balancing (selection bias) code only | in its code | not stated | The router adds e_score_correction_bias to sigmoid scores only for top-k expert selection (topk_method noaux_tc), matching DeepSeek-V3's bias-based load balancing. topk_method = "noaux_tc" |
| Multi-token prediction layers code only | in its code | not stated | The config declares num_nextn_predict_layers: 1, and the model's weight-loading ignores those extra MTP layer weights, indicating the checkpoint carries them. num_nextn_predict_layers = 1 |
| SwiGLU feed-forward code only | in its code | not stated | Both the dense MLP and MoE experts compute silu(gate_proj(x)) * up_proj(x), a SwiGLU feed-forward, matching hidden_act 'silu'. hidden_act = "silu" |
model architecture 9
token mixer 8
softmax attention 2
multi-head latent attention 2
channel mixer 1
mixture of experts 1
expert routing 1
training objective 3
language modelling objective 1
auxiliary loss 2
data curation 11
data filtering 2
synthetic data 9
post-training 20
filed at the root 1
supervised fine-tuning 2
reinforcement learning algorithm 7
reward modelling 4
policy distillation 1
agentic post-training 4
mid-training & continual pretraining 1
inference & serving 20
reasoning control 6
context management 6
evaluation 3
filed at the root 2
benchmark 1
unfiled 2
Further reading
Picked by hand, not extracted: where to read more, not evidence for anything on this page.
- DeepSeek-V3.2 architecture card — LLM Architecture Gallery explainer sebastianraschka.com
Sources
The curated document list for this model. "not fetched" means the URL is recorded but its text was not read in the current run.
| Document | Kind | Publisher | Status |
|---|---|---|---|
| arxiv.org/abs/2512.02556 | technical report | DeepSeek | read |
| huggingface.co/deepseek-ai/DeepSeek-V3.2 | model card | DeepSeek | read |
| huggingface.co/deepseek-ai/DeepSeek-V3.2/blob/main/assets/paper.pdf | technical report | DeepSeek | read |
| openrouter.ai/deepseek/deepseek-v3.2 | vendor docs | OpenRouter | read |