极市导读
本文复盘了 Qwen3 最终放弃的“可开可关”混合推理方案,系统梳理了从无路由到 RL 的四类实现路径,并揭示其背后训练、数据与奖励设计的核心权衡。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
Claude 3.7 Sonnet 开启了一种同一个模型同时肩负不思考和长思考(Long Reasoning)能力的新范式。这条路的目标是把类似 GPT-4o 的聊天模型和类似 GPT-o1/3/4 系列的推理模型合并为一个模型。本文对我看过的目前已有的工作做一个小小的汇总(可能有疏漏)。这里不会包含单纯缩短 CoT 长度的工作。
Training-Free
大部分 Training-Free 方法都是着眼于训一个 Router。我找到两个相关的工作:Self-Route[1] 和 ThinkSwitcher[2],但我猜我没找全。因为和之前的 long2short 的 training-free 工作没有特别大的差别,精力所限,这里不多介绍了。
Finetuning-based
这里只介绍 Qwen3、Llama-Nemotron 和 KAT-V1 三个模型的相关训练方法。其它纯 SFT 方法(例如 AutoL2S[3]、Self-Braking Tuning[4]、TLDR[5])都只能缩短 CoT 长度,不能做到让 reasoning model 具备选择完全不思考的能力。既使用 SFT 又使用 RL 的方法都放在 RL 部分介绍。
Qwen3
Qwen3 在 Stage 1 和 2 中让模型具备 LongCoT 能力之后,主要是在 Stage 3 中使用 SFT 实现的初步 Adaptive Reasoning 能力。
具体技术细节我直接翻译了,感觉信息密度挺大:SFT 数据集包含了 thinking 和 non-thinking 数据。为了确保 Stage 2 得到的模型在加入 SFT 数据后性能不受影响,Qwen 团队使用 Stage 2 模型自身对 Stage 1 的 query 进行 rejection sampling,生成 thinking 数据。而 non-thinking 数据则经过精心筛选,涵盖了多种任务类型,包括编程、数学、指令跟随、多语言任务、创意写作、问答和角色扮演等。
此外,Qwen 团队还使用自动生成的检查 checklist 来评估 non-thinking 数据的回复质量。为了提升低资源语言任务的表现,Qwen 团队特别提高了翻译任务在数据中的占比。具体的 thinking 和 non-thinking 模板如下:
Llama-Nemotron[7]
NVIDIA 的 Nemotron 也是差不多时间放出来的。他们并不掩饰他们借用了别的模型来提升性能,所以没有先训出模型 LongCoT 能力这一步,而是直接在 SFT 里面掺了 DeepSeek-R1 的 reasoning 输出。具体掺杂比例如下:
然后后续因为只使用蒸馏的话 reasoning 能力还是不够,才继续加了 RL。
KAT-V1[8]
快手的模型在数据上也是用了 DeepSeek-R1。针对每个 query,生成 think-on 和 think-off 模式的一些回答,然后做 majority vote 选择到底用哪个模式。think-on 用的是 DeepSeek-R1,think-off 用的是 DeepSeek-V3。然后还用 DeepSeek-V3 生成了一些选择这个投票出来的模式的理由,让模型去学习。总共的 think-on 和 think-off 比例大致是 2:1。之后还有 AutoThink RL 部分,但快手在文中没写,说是会后续单独写一篇……文中贴了个训练过程的图,可以看一看:
RL-based
AutoThink[9]
本文先是发现了一种很有趣的现象:在 thinking 内容的开始加上一个省略号,能让模型出现不稳定的现象。模型既可能输出 LongCoT 也可能直接不思考。这说明即使是 Long Reasoning Model,在这种 OOD prompt 的情况下,仍然有不思考的能力。
于是本文引入了一种三阶段的 RL 来强化这一能力:
-
通过对做对的 non-thinking output 施加更大的奖励的方式,强化和稳定模型的双模式输出能力。 -
使用正常的奖励,来增强模型的性能。因为一阶段训练的很不错,所以即使没加别的 trick,模型依然没有坍缩到只会思考或者只会不思考。 -
二阶段的训练仍然会带来过长的输出,所以三阶段对过长的输出做出了惩罚。
AdaCoT[10]
本文没有发现 AutoThink 提到的现象,所以像 Qwen3 和 Nemotron 一样,先收集了数据做了 SFT,使得模型先具备了基本的 non-thinking 能力,然后再进行 RL 训练。这里并没有把两部分数据分开收集,而是直接用一个 15B 的模型标记 query 是否简单到能不思考直接作答。
RL 阶段的 loss 很直接:
这里, 是基础 reward, 是关于是否需要省略推理的惩罚项, 是关于推理是否过长的惩罚项, 是关于格式化输出的惩罚项。这里把 AutoThink 的三步合成到一步做掉了。
另外一个技术挺巧妙,叫 Selective Loss Masking。因为担心模型一味不推理,或者全都推理,作者把
AdaptThink[11]
本文几个讲动机的图都很不错,本文开头用的也是他们的 teaser image。从下图左图可知,No Thinking 不仅仅是 efficiency 的问题,甚至最简单的问题上正确率也更高。
本文的思路非常凶悍:反正 no-thinking 只是
经过拉格朗日乘子和别的一些转化之后,变成优化下面这个式子:
又因为 和 都不可导,于是把这个表达式期望内部分当作 advantage function 用 PPO 优化。
重要性采样的时候,因为原始模型没经过 SFT,没有 no-thinking 能力,所以作者设置以一半的概率强制出 ,另一半概率正常出 LongCoT。
从 loss 上理解,只有在以下情况下,PPO 才会让模型更倾向于不思考。 越大,越鼓励模型不思考。
HGPO[12]
本文也是先收集了数据做了 SFT,使得模型先具备了基本的 non-thinking 能力,然后再进行 RL 训练,也就是章节标题所说的 HGPO。
HGPO 流程如下:
-
每个 query 在思考模式(⊢)和无思考模式(⊬)下分别采样 N/2 个候选回答,也就是说每个 query 会得到 N 个回答。 -
给原始奖励分数。有确定答案的用 rule-based,没有的用 reward model Llama-3.1Tulu-3-8B-RM。 -
Reward Assignment。这里分别算组间奖励(inter-group rewards)和组内奖励(intra-group rewards)。组间奖励给的是同一个 query 在思考模式和无思考模式下原始奖励分数大的一个,组内奖励给的是同一思考模式下原始奖励分数大的一个 query。 -
Advantage Estimation。用的是 GRPO,结合了上面两个reward。这里比较有趣的是组间奖励(inter-group rewards),因为组间奖励只给到了回答里面决定是思考模式的词,也就是 think, no_think 。
完整的流程图如下:
作者还提出了一个指标来评估这种自适应思考能力,叫做混合准确率(Hybrid Accuracy, HAcc)。具体做法是让模型对每个 query 分别在思考模式和无思考模式下各采样 N 个,然后用 reward model 打分,分高的就当作首选推理模式。然后看模型自己选的和这个算出来的首选推理模式的吻合比例。
引用链接
[1] Self-Route:http://arxiv.org/abs/2505.20664[2]ThinkSwitcher:http://arxiv.org/abs/2505.14183[3]AutoL2S:http://arxiv.org/abs/2505.22662[4]Self-Braking Tuning:http://arxiv.org/abs/2505.14604[5]TLDR:http://arxiv.org/abs/2506.02678[6]Qwen3:https://arxiv.org/abs/2505.09388[7]Llama-Nemotron:http://arxiv.org/abs/2505.00949[8]KAT-V1:http://arxiv.org/abs/2507.08297[9]AutoThink:ttp://arxiv.org/abs/2505.10832[10]AdaCoT:http://arxiv.org/abs/2505.11896[11]AdaptThink:http://arxiv.org/abs/2505.13417[12]HGPO:http://arxiv.org/abs/2505.14631
公众号后台回复“数据集”获取100+深度学习各方向资源整理
极市干货

点击阅读原文进入CV社区
收获更多技术干货

