跳转至

六十五:Qwen 3 后训练

来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484989&idx=1&sn=e16f6b4ddfa485689aac7e25a9fcf24d&chksm=f01eb544c7693c5297003ba39c8c1870fc31b10e830a899a8628380bf9eec6d08bc322739f39#rd

1. 学习范围

img

本日重点是 后训练,并补充 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 之后的模型家族升级,论文中强调三个变化:

img

  • 模型规模覆盖 dense 与 MoE,从 0.6B 到 235B。

  • 统一 thinking mode 与 non-thinking mode,不再需要把普通聊天模型和专门推理模型完全分开。

  • 支持 thinking budget,让用户或系统按任务复杂度控制推理 token 预算。

img

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 任务。
这解决了 Qwen2.5-Instruct 与 QwQ-32B 这类“普通模型/推理模型分离”的使用问题。统一模型的好处是部署和路由更简单;难点是训练时要让两种模式互不干扰。

5. Thinking Budget

Thinking budget 是 Qwen3 的重要产品化能力。它允许用户或系统控制模型用于“思考”的 token 预算。

img

直觉上:

budget small:
  快速回答,延迟低,适合简单问题。

budget large:
  更充分探索,适合复杂数学、代码、规划,但成本更高。
面试中要强调: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
前两阶段重点塑造 thinking 能力,后两阶段把 non-thinking 能力融合回来,并用通用 RL 提升整体应用表现。

7. Stage 1: Long-CoT Cold Start

Long-CoT Cold Start 使用包含数学、代码、逻辑推理、STEM 等任务的数据。每个问题需要可验证参考答案或代码测试。 核心目的: - 给模型一个较好的长链推理初始分布。

  • 避免 RL 从完全混乱的推理格式开始探索。

  • 让模型学会把复杂问题拆成步骤。

数据过滤很关键。论文中提到会过滤不易验证的问题,例如多个子问题混在一起、泛泛文本生成等。这体现了推理训练的基本原则:可验证任务更适合强化学习。

8. Stage 2: Reasoning RL

Reasoning RL 聚焦数学和代码等可验证任务。它强化的不只是“最终答对”,还包括: - 生成更可靠的中间推理。

  • 在多候选中探索更好路径。

  • 使用更长 thinking token 解决难题。

  • 对代码任务利用测试反馈。

可以用简化公式表示:

sample multiple answers
evaluate with verifier / tests
optimize policy toward higher reward answers
这与 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 提供反馈/修正。
面试中应说明:蒸馏不是简单复制答案,而是压缩 teacher 的分布、策略和模式控制能力。

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)
真实实现会更复杂,需要处理: - expert parallelism。

  • 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="