DeepSeek-V3.1 — hybrid thinking + non-thinking model, smarter tool calling, faster thinking
DeepSeek-V3.1 is the post-trained / instruct variant of the DeepSeek-V3.1 release: a 671B-total / 37B-activated MoE built on the V3 base via two-phase long-context extension and post-trained as a single model that supports both thinking and non-thinking modes through a chat-template switch. Compared to V3-0324 it brings substantially smarter tool-calling and agent behavior (SWE Verified 66.0 in agent mode vs V3’s 45.4) and a thinking mode that matches R1-0528 quality at faster wall-clock. The release is also a vehicle for the UE8M0 FP8 microscaling data format applied to both weights and activations, made compatible via the companion DeepGEMM kernel library. It is the immediate predecessor to V3.2 (which adds DeepSeek Sparse Attention on top of this same checkpoint family) and to the V4 collection.
Key claims
Section titled “Key claims”- DeepSeek-V3.1 is a hybrid model: a single checkpoint supports both thinking mode and non-thinking mode, switched via the chat template — the non-thinking prefix injects
</think>after the assistant tag, the thinking prefix injects<think>[§Chat Template]. - Compared to V3-0324, post-training has significantly improved tool usage and agent-task performance, framed as the headline contribution of the release [§Introduction].
- DeepSeek-V3.1-Think (thinking mode) achieves answer quality comparable to DeepSeek-R1-0528 while responding faster [§Introduction].
- V3.1 is post-trained on top of DeepSeek-V3.1-Base, which itself was built from the original V3 base via a two-phase long-context extension following the V3 report: the 32K phase scaled 10× to 630B tokens, the 128K phase scaled 3.3× to 209B tokens [§Introduction].
- Training uses the UE8M0 FP8 scale data format on both weights and activations for compatibility with microscaling data formats; the recommended kernel companion is DeepGEMM [§Introduction, §Usage Recommendations].
- Total / activated / context: 671B total, 37B activated, 128K context window [§Model Downloads, Table].
- The model’s
mlp.gate.e_score_correction_biasparameters must be loaded and computed in FP32 even under FP8 weights/activations — a documented numerical-precision constraint for the MoE router [§Usage Recommendations]. - The chat template introduces an explicit
</think>token (absent in V3) to denote the boundary between any thinking trace and the visible response, used in both modes — in non-thinking mode the</think>follows the assistant marker immediately; in thinking mode<think>opens and the model emits the closer [§Chat Template]. - ToolCall is supported in non-thinking mode via a templated tool description and
<|tool▁calls▁begin|>...<|tool▁call▁end|>markup, with strict instructions that tool-call arguments be valid JSON conforming to the declared schema [§Chat Template, ToolCall]. - A specific search-agent template is provided for the thinking mode, enabling multi-turn search-tool-calling with a user-provided search tool [§Chat Template, Search-Agent].
- Benchmarks (V3.1-NonThinking | V3-0324 | V3.1-Thinking | R1-0528): MMLU-Redux 91.8 / 90.5 / 93.7 / 93.4; MMLU-Pro 83.7 / 81.2 / 84.8 / 85.0; GPQA-Diamond 74.9 / 68.4 / 80.1 / 81.0; LiveCodeBench 56.4 / 43.0 / 74.8 / 73.3; Aider-Polyglot 68.4 / 55.1 / 76.3 / 71.6; AIME 2024 66.3 / 59.4 / 93.1 / 91.4; AIME 2025 49.8 / 51.3 / 88.4 / 87.5; HMMT 2025 33.5 / 29.2 / 84.2 / 79.4 [§Evaluation].
- Code-agent benchmarks (V3.1-NonThinking | V3-0324 | R1-0528): SWE Verified 66.0 / 45.4 / 44.6; SWE-bench Multilingual 54.5 / 29.3 / 30.5; Terminal-bench (Terminus 1) 31.3 / 13.3 / 5.7 — the largest absolute gains over both V3 and R1 are on agentic-coding benchmarks [§Evaluation].
- Search-agent benchmarks (V3.1-Thinking | R1-0528): BrowseComp 30.0 / 8.9; BrowseComp_zh 49.2 / 35.7; HLE Python+Search 29.8 / 24.8; SimpleQA 93.4 / 92.3 — V3.1-Thinking with the internal search framework substantially outperforms R1-0528 [§Evaluation].
- Released under the MIT License [§License].
Method
Section titled “Method”DeepSeek-V3.1 is the post-trained / instruct sibling of V3.1-Base. The base model is constructed from the original DeepSeek-V3 base through two stages of long-context extension following the methodology in the V3 technical report: a 32K-context phase substantially expanded (10× larger data: 630B tokens), then a 128K-context phase (3.3× larger: 209B tokens). The model structure is identical to V3 — same 671B-total / 37B-active MoE, same MLA attention — and the model card explicitly points to the DeepSeek-V3 GitHub repo for run instructions.
Post-training turns V3.1-Base into a single model with two modes. A non-thinking mode is activated by injecting </think> directly after the assistant marker in the prompt template, producing direct answers. A thinking mode is activated by injecting <think> instead, prompting a reasoning trace that ends with </think> and the visible response. Multi-turn templates are identical between modes — historical reasoning traces are dropped in subsequent turns but the </think> token is retained as a separator throughout. Tool-use is supported in non-thinking mode through an explicit tool description block in the prompt and a custom delimiter scheme (<|tool▁calls▁begin|>, <|tool▁call▁begin|>, <|tool▁sep|>, <|tool▁call▁end|>) that the model is trained to emit. A dedicated search-agent template extends this to multi-turn search-tool-calling in thinking mode.
The numerical recipe is the second headline change: V3.1 is trained with weights and activations in the UE8M0 FP8 microscaling format, requiring a kernel stack that respects this (the model card directs users to DeepGEMM). The MoE router’s score-correction bias is the documented exception — it must remain in FP32.
Results
Section titled “Results”- Standard benchmarks (non-thinking mode) improve substantially over V3-0324 even before invoking thinking — e.g. LiveCodeBench +13.4, AIME 2024 +6.9, MMLU-Pro +2.5, GPQA-Diamond +6.5 [§Evaluation].
- Thinking mode is on par with or above R1-0528 on knowledge / math / code benchmarks (e.g. AIME 2024 93.1 vs 91.4; HMMT 2025 84.2 vs 79.4; LiveCodeBench 74.8 vs 73.3) at lower latency [§Evaluation].
- The largest deltas over V3-0324 are on agentic-coding tasks evaluated in agent mode — SWE Verified +20.6, SWE-bench Multilingual +25.2, Terminal-bench +18.0 — consistent with the headline “smarter tool calling” claim [§Evaluation].
- Search-agent performance in thinking mode beats R1-0528 across BrowseComp (+21.1), BrowseComp_zh (+13.5), HLE Python+Search (+5.0), SimpleQA (+1.1) under the internal search framework (commercial search API + webpage filter + 128K context) [§Evaluation].
- Codeforces-Div1 rating reaches 2091 (V3.1-Thinking) vs 1930 (R1-0528) [§Evaluation].
Why it’s interesting
Section titled “Why it’s interesting”V3.1 is the architectural and training-recipe baseline that the wiki’s later DeepSeek papers extend. DeepSeek-V3.2: Pushing the Frontier of Open Large Language Models replaces dense MLA with DeepSeek Sparse Attention on a checkpoint of this same V3.1 lineage (the paper calls its starting point “V3.1-Terminus”, an iteration of this model), continues with the same MoE + UE8M0 FP8 substrate, and substantially expands the post-training compute budget; DeepSeek-V4 collection release (Flash + Pro, up to 1.6T) takes that line forward into the V4 collection. Reading V3.1 alongside V3.2 isolates what V3.2 actually adds — sparse attention + four GRPO stabilizers + the agentic-task synthesis pipeline — and what was already in place before that paper.
The hybrid thinking/non-thinking-via-template-switch design is also the production-deployed precursor to the merged-RL pattern V3.2 documents: rather than maintaining two separate checkpoints (V3 + R1), DeepSeek consolidates them into one model selectable at prompt time. The closest open peer is GLM-4.5: Agentic, Reasoning, and Coding (ARC) Foundation Models, which also ships a single agentic+reasoning checkpoint family. The UE8M0 microscaling + DeepGEMM stack is a notable inference-side bet that complements the wider LLM Inference Efficiency thread without being a direct topic of any filed paper.
The headline agent-coding numbers — SWE Verified 66.0 from V3 base’s 45.4 in one release — are the most concrete open-model datapoint of “post-training is doing most of the work on agentic capability” that the wiki tracks. The result is consistent with Kimi K2.6: Advancing Open-Source Coding and Kimi K2: Open Agentic Intelligence‘s framing of agentic post-training as the differentiator.
See also
Section titled “See also”- DeepSeek-V3.1-Base — long-context-extended V3 base with UE8M0 FP8 microscaling — sibling release: the V3.1 base model that this instruct variant is post-trained from
- DeepSeek-V3.2: Pushing the Frontier of Open Large Language Models — direct successor: V3.2 replaces MLA with DSA on the V3.1-Terminus checkpoint and scales the GRPO recipe
- DeepSeek-V4 collection release (Flash + Pro, up to 1.6T) — onward successor: the V4 collection (Flash + Pro)
- Single Token Geometry 02: DeepSeek V4 and Manifold Tearing — mechanistic look at DeepSeek-V4 single-token geometry; same architectural lineage
- Reasoning RL — V3.1’s post-training is an early consolidated reasoning+non-reasoning checkpoint; V3.2 makes the GRPO recipe explicit
- Tool-Use Agents — the SWE Verified / BrowseComp jumps are the headline agent-capability datapoint
- Open foundation-model releases — coordinated base + instruct release with MIT-license weights, multi-backend day-0 serving
- LLM Inference Efficiency — UE8M0 FP8 microscaling for weights+activations is the inference-format bet
- MoE Routing Design — V3.1 inherits V3’s MoE; the FP32 carve-out for
mlp.gate.e_score_correction_biasis a concrete router-numerics constraint - GLM-4.5: Agentic, Reasoning, and Coding (ARC) Foundation Models — closest open peer: single agentic+reasoning checkpoint family
- Kimi K2.6: Advancing Open-Source Coding — concurrent open agentic-coding push