Module: FTDD-08 — Qwen3 Diagram count: 4 Tool: Mermaid (primary). Each diagram validated in Mermaid Live Editor.
Type: Comparison / tension Purpose: Why a dedicated reasoner is a production liability. A pure reasoner deliberates even on trivial queries; a pure fast assistant cannot reason. Qwen3 fuses both into one model. Reading the diagram: Top = the two extremes and their failure. Bottom = Qwen3's fusion: one model, two modes, switched by a thinking budget.
flowchart TD
subgraph Ex["THE TENSION"]
R["DEDICATED REASONER (e.g. R1)\nalways deliberates\nPRO: best on hard problems\nCON: latency tax on simple queries"]
A["FAST ASSISTANT\nalways answers directly\nPRO: chatbot speed\nCON: cannot deliberate on hard problems"]
end
Naive["NAIVE FIX: two models + a router\n2x weights, 2x serving, router misroutes"]
Q3["QWEN3: FUSION\none set of weights\nboth modes coexist\nswitched by a thinking budget"]
R --> Naive
A --> Naive
Naive -.rejected.-> Q3
Q3 --> Result["one deployment serves\nchatbot + reasoner\nno router, no second model"]
style R fill:#14141f,stroke:rgba(255,255,255,0.12),color:#9494a0
style A fill:#14141f,stroke:rgba(255,255,255,0.12),color:#9494a0
style Naive fill:#08080c,stroke:rgba(255,255,255,0.08),color:#9494a0
style Q3 fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#5eead4
style Result fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
Type: Sequential pipeline Purpose: Qwen3 mirrors R1 for two stages, then diverges. Stage 3 (fusion) is the novel contribution. Reading the diagram: Left to right. Stages 1 and 2 echo R1. Stage 3 is unique to Qwen3 — it merges thinking + non-thinking. Stage 4 aligns the whole.
flowchart LR
S1["STAGE 1\nLong-CoT cold start\nseed reasoning format\nstructured <think>"]
S2["STAGE 2\nReasoning RL (GRPO-style)\nverifiable rewards\nmath · code · logic"]
S3["STAGE 3\nTHINKING-MODE FUSION\nmerge thinking + non-thinking\ninto one set of weights\n(the novel stage)"]
S4["STAGE 4\nGeneral RL\nfull distribution\nkeeps non-thinking strong"]
S1 -->|"anchors format"| S2
S2 -->|"scales reasoning"| S3
S3 -->|"one model, two modes"| S4
S4 -->|"aligned hybrid"| Ship["Shippable Qwen3"]
style S1 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style S2 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style S3 fill:#14141f,stroke:#5eead4,stroke-width:2px,color:#5eead4
style S4 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style Ship fill:#08080c,stroke:#5eead4,stroke-width:1.5px,color:#5eead4
Type: Dial / spectrum Purpose: A single parameter controls how much the model deliberates. Low = chatbot speed; high = reasoner quality. Same weights. Reading the diagram: The dial runs from low (left) to high (right). Each position shows what a query produces. Same model, different output, controlled by one knob.
flowchart LR
Low["LOW BUDGET\nshort/empty <think>\nfast direct answer\nchatbot speed\n\n'capital of France?'"]
Mid["MID BUDGET\nbrief deliberation\nthen answer\nbalanced\n\n'write a regex for...'"]
High["HIGH BUDGET\nlong self-correcting chain\nverified final answer\nreasoner quality\n\n'prove this converges'"]
Low -.-> Mid
Mid -.-> High
Knob["THINKING BUDGET\none parameter\nlatency <-> quality dial\nsame weights, both modes"]
Knob -.controls.-> Low
Knob -.controls.-> High
style Low fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style Mid fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style High fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
style Knob fill:#08080c,stroke:#5eead4,stroke-width:1.5px,color:#5eead4
Type: Decision comparison Purpose: The two canonical reasoning references. They prove different things. Choose based on what you are building. Reading the diagram: Left = R1. Right = Qwen3. The decision row at the bottom tells you which to study for which goal.
flowchart TD
subgraph R1["R1 — DISTILLATION reference"]
R1p["Teacher pipeline + SFT-only transfer\nProved reasoning emerges from RL\nProved traces transfer via SFT"]
end
subgraph Q3["QWEN3 — HYBRID reference"]
Q3p["Fused thinking + non-thinking\nThinking-budget adaptive compute\nStrong non-thinking from 36T+ pretrain"]
end
R1 --> D1["GOAL: build a reasoning student\nby distilling from a teacher\n-> study R1"]
Q3 --> D2["GOAL: deploy one model that\nserves chatbot + reasoner\n-> study Qwen3"]
Both["STRONGEST TEAMS KNOW BOTH.\nQwen3's distillation drew on R1's recipe.\nField's budget conventions borrow from Qwen3."]
D1 --> Both
D2 --> Both
style R1p fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
style Q3p fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
style D1 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style D2 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style Both fill:#08080c,stroke:rgba(94,234,212,0.4),stroke-dasharray:4 2,color:#5eead4
#14141f panel fill, #5eead4 accent for primary, rgba(94,234,212,0.5) for secondary borders, #e4e4e8 / #9494a0 for text.flowchart) supported in current Mermaid (v10.4+).# Diagrams — Module FTDD-08: Qwen3
**Module**: FTDD-08 — Qwen3
**Diagram count**: 4
**Tool**: Mermaid (primary). Each diagram validated in [Mermaid Live Editor](https://mermaid.live).
---
## Diagram 1 — The Hybrid Problem Qwen3 Solves
**Type**: Comparison / tension
**Purpose**: Why a dedicated reasoner is a production liability. A pure reasoner deliberates even on trivial queries; a pure fast assistant cannot reason. Qwen3 fuses both into one model.
**Reading the diagram**: Top = the two extremes and their failure. Bottom = Qwen3's fusion: one model, two modes, switched by a thinking budget.
```mermaid
flowchart TD
subgraph Ex["THE TENSION"]
R["DEDICATED REASONER (e.g. R1)\nalways deliberates\nPRO: best on hard problems\nCON: latency tax on simple queries"]
A["FAST ASSISTANT\nalways answers directly\nPRO: chatbot speed\nCON: cannot deliberate on hard problems"]
end
Naive["NAIVE FIX: two models + a router\n2x weights, 2x serving, router misroutes"]
Q3["QWEN3: FUSION\none set of weights\nboth modes coexist\nswitched by a thinking budget"]
R --> Naive
A --> Naive
Naive -.rejected.-> Q3
Q3 --> Result["one deployment serves\nchatbot + reasoner\nno router, no second model"]
style R fill:#14141f,stroke:rgba(255,255,255,0.12),color:#9494a0
style A fill:#14141f,stroke:rgba(255,255,255,0.12),color:#9494a0
style Naive fill:#08080c,stroke:rgba(255,255,255,0.08),color:#9494a0
style Q3 fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#5eead4
style Result fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
```
---
## Diagram 2 — The Four-Stage Qwen3 Post-Training Pipeline
**Type**: Sequential pipeline
**Purpose**: Qwen3 mirrors R1 for two stages, then diverges. Stage 3 (fusion) is the novel contribution.
**Reading the diagram**: Left to right. Stages 1 and 2 echo R1. Stage 3 is unique to Qwen3 — it merges thinking + non-thinking. Stage 4 aligns the whole.
```mermaid
flowchart LR
S1["STAGE 1\nLong-CoT cold start\nseed reasoning format\nstructured <think>"]
S2["STAGE 2\nReasoning RL (GRPO-style)\nverifiable rewards\nmath · code · logic"]
S3["STAGE 3\nTHINKING-MODE FUSION\nmerge thinking + non-thinking\ninto one set of weights\n(the novel stage)"]
S4["STAGE 4\nGeneral RL\nfull distribution\nkeeps non-thinking strong"]
S1 -->|"anchors format"| S2
S2 -->|"scales reasoning"| S3
S3 -->|"one model, two modes"| S4
S4 -->|"aligned hybrid"| Ship["Shippable Qwen3"]
style S1 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style S2 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style S3 fill:#14141f,stroke:#5eead4,stroke-width:2px,color:#5eead4
style S4 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style Ship fill:#08080c,stroke:#5eead4,stroke-width:1.5px,color:#5eead4
```
---
## Diagram 3 — The Thinking Budget: Adaptive Compute
**Type**: Dial / spectrum
**Purpose**: A single parameter controls how much the model deliberates. Low = chatbot speed; high = reasoner quality. Same weights.
**Reading the diagram**: The dial runs from low (left) to high (right). Each position shows what a query produces. Same model, different output, controlled by one knob.
```mermaid
flowchart LR
Low["LOW BUDGET\nshort/empty <think>\nfast direct answer\nchatbot speed\n\n'capital of France?'"]
Mid["MID BUDGET\nbrief deliberation\nthen answer\nbalanced\n\n'write a regex for...'"]
High["HIGH BUDGET\nlong self-correcting chain\nverified final answer\nreasoner quality\n\n'prove this converges'"]
Low -.-> Mid
Mid -.-> High
Knob["THINKING BUDGET\none parameter\nlatency <-> quality dial\nsame weights, both modes"]
Knob -.controls.-> Low
Knob -.controls.-> High
style Low fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style Mid fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style High fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
style Knob fill:#08080c,stroke:#5eead4,stroke-width:1.5px,color:#5eead4
```
---
## Diagram 4 — R1 vs Qwen3: Which Reference When
**Type**: Decision comparison
**Purpose**: The two canonical reasoning references. They prove different things. Choose based on what you are building.
**Reading the diagram**: Left = R1. Right = Qwen3. The decision row at the bottom tells you which to study for which goal.
```mermaid
flowchart TD
subgraph R1["R1 — DISTILLATION reference"]
R1p["Teacher pipeline + SFT-only transfer\nProved reasoning emerges from RL\nProved traces transfer via SFT"]
end
subgraph Q3["QWEN3 — HYBRID reference"]
Q3p["Fused thinking + non-thinking\nThinking-budget adaptive compute\nStrong non-thinking from 36T+ pretrain"]
end
R1 --> D1["GOAL: build a reasoning student\nby distilling from a teacher\n-> study R1"]
Q3 --> D2["GOAL: deploy one model that\nserves chatbot + reasoner\n-> study Qwen3"]
Both["STRONGEST TEAMS KNOW BOTH.\nQwen3's distillation drew on R1's recipe.\nField's budget conventions borrow from Qwen3."]
D1 --> Both
D2 --> Both
style R1p fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
style Q3p fill:#14141f,stroke:#5eead4,stroke-width:1.5px,color:#e4e4e8
style D1 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style D2 fill:#14141f,stroke:rgba(94,234,212,0.5),color:#e4e4e8
style Both fill:#08080c,stroke:rgba(94,234,212,0.4),stroke-dasharray:4 2,color:#5eead4
```
---
## Validation notes
- All four diagrams use the course design system colors: `#14141f` panel fill, `#5eead4` accent for primary, `rgba(94,234,212,0.5)` for secondary borders, `#e4e4e8` / `#9494a0` for text.
- Paste each into [Mermaid Live Editor](https://mermaid.live) to render. All use stable Mermaid syntax (`flowchart`) supported in current Mermaid (v10.4+).
- For the slide deck (artifact 03), these are rendered as static SVG/PNG captures from Mermaid Live, inlined into reveal.js.