六十五:Qwen 3 后训练¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484989&idx=1&sn=e16f6b4ddfa485689aac7e25a9fcf24d&chksm=f01eb544c7693c5297003ba39c8c1870fc31b10e830a899a8628380bf9eec6d08bc322739f39#rd
1. 学习范围¶
本日重点是 后训练,并补充 Qwen3 的 MoE 代码理解视角: - Qwen3 的 dense 与 MoE 模型家族。
-
thinking mode 与 non-thinking mode 的统一。
-
thinking budget:用 token budget 控制推理深度。
-
四阶段 post-training pipeline:Long-CoT Cold Start、Reasoning RL、Thinking Mode Fusion、General RL。
-
strong-to-weak distillation:用旗舰模型训练轻量模型。
-
MoE 代码视角:router、Top-k experts、activated parameters。
推荐阅读资料: - Qwen3 Technical Report: https://arxiv.org/pdf/2505.09388
- Qwen3 底层代码讲解 MoE: https://www.guyuehome.com/detail?id=1924781347858087937
2. Qwen3 的定位¶
Qwen3 是 Qwen2.5 之后的模型家族升级,论文中强调三个变化:
-
模型规模覆盖 dense 与 MoE,从 0.6B 到 235B。
-
统一 thinking mode 与 non-thinking mode,不再需要把普通聊天模型和专门推理模型完全分开。
-
支持 thinking budget,让用户或系统按任务复杂度控制推理 token 预算。
Qwen3 旗舰 MoE 模型 Qwen3-235B-A22B 总参数为 235B,每 token 激活约 22B 参数。A22B 可以理解为 activated 22B,即单 token 实际参与计算的参数量。
3. 后训练的两个核心目标¶
Qwen3 后训练设计有两个核心目标: - Thinking Control让一个模型同时支持快速回答和复杂推理,并能通过 token budget 控制推理深度。
- Strong-to-Weak Distillation让轻量模型从旗舰模型吸收推理能力,避免每个小模型都完整跑昂贵的四阶段训练。
这两个目标对应实际部署中的两类需求: - 用户问题简单时,不希望模型过度思考、增加延迟。
-
用户问题复杂时,希望模型能展开多步推理、代码验证或数学求解。
-
端侧/低成本模型也希望拥有一部分大模型推理能力。
4. Thinking 与 Non-thinking¶
Qwen3 把两种行为放进一个模型:
non-thinking mode:
快速、直接、低延迟,适合事实问答、改写、摘要、简单代码说明。
thinking mode:
多步推理、长 CoT、可能消耗更多 token,适合数学、代码、规划、复杂 agent 任务。
5. Thinking Budget¶
Thinking budget 是 Qwen3 的重要产品化能力。它允许用户或系统控制模型用于“思考”的 token 预算。
直觉上:
面试中要强调:thinking budget 是一种 inference-time scaling 控制手段。模型能力不仅来自训练参数,也来自推理时允许它花多少计算搜索答案。6. 四阶段后训练总览¶
Qwen3 旗舰模型采用四阶段后训练:
Stage 1: Long-CoT Cold Start
Stage 2: Reasoning RL
Stage 3: Thinking Mode Fusion
Stage 4: General RL
7. Stage 1: Long-CoT Cold Start¶
Long-CoT Cold Start 使用包含数学、代码、逻辑推理、STEM 等任务的数据。每个问题需要可验证参考答案或代码测试。 核心目的: - 给模型一个较好的长链推理初始分布。
-
避免 RL 从完全混乱的推理格式开始探索。
-
让模型学会把复杂问题拆成步骤。
数据过滤很关键。论文中提到会过滤不易验证的问题,例如多个子问题混在一起、泛泛文本生成等。这体现了推理训练的基本原则:可验证任务更适合强化学习。
8. Stage 2: Reasoning RL¶
Reasoning RL 聚焦数学和代码等可验证任务。它强化的不只是“最终答对”,还包括: - 生成更可靠的中间推理。
-
在多候选中探索更好路径。
-
使用更长 thinking token 解决难题。
-
对代码任务利用测试反馈。
可以用简化公式表示:
这与 QwQ-32B 的 outcome-based RL 思路一致:可验证领域给了推理模型强奖励信号。9. Stage 3: Thinking Mode Fusion¶
如果只训练 thinking 模式,模型可能对所有问题都长篇推理,导致简单任务慢、啰嗦,甚至破坏用户体验。Thinking Mode Fusion 的目标是把有推理路径和无推理路径的数据放进统一训练集,让模型学会: - 什么时候直接回答。
-
什么时候展开思考。
-
如何遵守 chat template 或 mode 控制。
-
在同一个模型中兼容两类输出格式。
这一步是“统一模型”的关键。否则 Qwen3 只能是一个专门 reasoning model,而不是可通用部署的 chat/reasoning 混合模型。
10. Stage 4: General RL¶
General RL 用通用领域 reward model 和规则 verifier 改善下游任务表现,包括: - instruction following。
-
human preference alignment。
-
agent/tool use。
-
安全和拒答边界。
-
非推理任务的可用性。
它的目标是减少推理增强带来的副作用。一个推理模型如果数学很强但普通对话差、格式不稳、工具调用不稳,就很难作为通用助手部署。
11. Strong-to-Weak Distillation¶
Qwen3 对小模型使用 strong-to-weak distillation。核心思想是:不要让每个小模型都完整经历昂贵的四阶段后训练,而是让大模型作为 teacher,向小模型 transfer 行为、logits 或样本分布。 论文中强调,直接蒸馏 teacher logits 可以提升小模型性能,并保持对 reasoning process 的细粒度控制;相比每个轻量模型单独四阶段训练,训练效率大幅提高。 可分为:
off-policy distillation:
使用 teacher 已生成的数据或 logits 训练 student。
on-policy distillation:
student 自己采样,teacher 或 verifier 提供反馈/修正。
12. MoE 代码视角¶
Qwen3 同时包含 dense 与 MoE 模型,例如 Qwen3-30B-A3B、Qwen3-235B-A22B。MoE 代码层常见结构如下:
router_logits = router(hidden_states) # [tokens, num_experts]
topk_weight, topk_idx = topk(router_logits, k)
for expert_id in unique(topk_idx):
token_mask = topk_idx == expert_id
expert_out = experts[expert_id](hidden_states[token_mask])
scatter_add(output, expert_out * topk_weight)
-
token 排序与 dispatch。
-
capacity factor。
-
load balancing loss。
-
shared experts 或 fine-grained experts。
-
inference batch 中不同 token 路由不均。
理解 MoE 代码时,重点看 token 如何从 dense hidden state 变成“按 expert 分组的 mini-batch”,再如何 combine 回原始 token 顺序。
13. 后训练中的评估指标¶
Qwen3 后训练评估通常要分模式看: - thinking mode:AIME、MATH、LiveCodeBench、CodeForces、复杂 agent benchmark。
-
non-thinking mode:MMLU、指令跟随、摘要、写作、多语言、工具调用稳定性。
-
thinking budget 曲线:预算越大,复杂任务准确率是否持续提升。
-
小模型蒸馏效果:student 是否接近 teacher,是否保留模式控制。
只看单个 benchmark 容易误判。Reasoning model 的关键是“复杂任务收益是否抵得上推理成本”。
14. 面试速记¶
可以用下面这段口述总结 Qwen3 后训练:
Qwen3 后训练的核心是把 reasoning model 和 chat model 合并到一个模型里。旗舰模型经历四阶段:先用 Long-CoT cold start 建立推理格式,再通过数学和代码上的 Reasoning RL 强化 thinking 能力,然后用 Thinking Mode Fusion 把有推理和无推理数据合并,最后用 General RL 修复通用指令、偏好和 agent 能力。对于小模型,Qwen3 通过 strong-to-weak distillation 从旗舰模型迁移推理和模式控制能力,降低训练成本。Thinking budget 则把推理深度变成推理时可控资源。
15. 常见误区¶
-
把 thinking mode 等同于“永远输出长 CoT”。实际部署需要控制可见推理、预算和任务触发。
-
认为后训练只是 SFT。Qwen3 的重点是 SFT、RL、融合和蒸馏的组合。
-
认为小模型只靠 RL 就能追上大模型。Qwen3 强调大模型蒸馏对小模型效率更高。
-
只看总参数,不看 MoE activated parameters。
-
认为 thinking budget 越大越好。预算过大可能增加延迟、成本和冗余推理。
预览时标签不可点<div class="