思维链(CoT)的引入,无疑是提升 LLM 性能的一个重要里程碑。但是,这种方法也带来了一个不容忽视的问题:计算成本。CoT 会为所有输入(无论简单还是复杂)都生成详尽的推理步骤,这导致了大量的 token 消耗,直接推高了模型的推理延迟和部署成本。例如,对于“1+1等于几?”这样的简单问题,模型本可直接作答,但 CoT 机制依然会生成一段分析过程,造成了不必要的资源浪费。

理想的模型应当具备自适应能力,能够根据问题的复杂程度,智能地判断是否需要开启 CoT 推理。面对简单问题时,它应该“快思”,直接给出答案;而面对复杂问题时,它则应该“慢想”,调用 CoT 进行深度推理。这种自adaptive的“思考”模式,是实现高效、经济、快速响应的 LLM 系统的关键。

正是为了解决这一核心问题,来自字节跳动(ByteDance)的研究团队提出了 AdaCoT (Adaptive Chain-of-Thought) 框架。论文题为《AdaCoT: Pareto-Optimal Adaptive Chain-of-Thought Triggering via Reinforcement Learning》。AdaCoT 创新性地将“何时触发 CoT”这一决策过程,建模为一个在模型性能与计算成本之间寻求最佳平衡的帕累托优化问题,并利用强化学习(Reinforcement Learning, RL)对此进行求解。本文将对这篇论文的核心思想、技术实现、实验结果及未来展望进行深入的剖析。

  • 论文标题:AdaCoT: Pareto-Optimal Adaptive Chain-of-Thought Triggering via Reinforcement Learning
  • 论文链接:https://arxiv.org/pdf/2505.11896

1. 为什么我们需要CoT自适应?

CoT 的核心价值在于它将一个复杂的推理任务分解为一系列更小、更易于处理的中间步骤。这种“化整为零”的策略,使得模型可以像人类一样,循序渐进地进行思考,从而在数学、代码生成、常识推理等任务上取得了显著的性能提升。CoT 不仅提高了答案的准确性,其生成的推理过程也增强了模型决策的可解释性,让我们可以一窥其“思考”的轨迹。

然而,CoT 的这种优势在实际应用中也伴随着显著的代价。其主要问题可以归结为以下几点:

  1. 计算资源开销巨大:CoT 的每一个推理步骤都会生成额外的 token。对于一个需要多步推理的问题,CoT 响应的长度可能是直接回答的数倍甚至数十倍。在面向大规模用户的服务中,这种额外的 token 生成量会直接转化为高昂的计算成本和能源消耗。

  2. 推理延迟增加:生成更多的 token 意味着需要更多的计算时间。这会导致用户感知的延迟增加,影响交互式应用的体验。在需要快速响应的场景,如实时对话、快速问答等,过长的延迟是难以接受的。

  3. 对简单问题“小题大做”:CoT 机制是“一视同仁”的。无论输入是“珠穆朗玛峰有多高?”这类事实性问题,还是一个复杂的奥数题,它都会启动推理链。这种不加区分的策略,在处理简单问题时显得冗余且低效,造成了大量的资源浪费。

现有的一些工作尝试从不同角度缓解 CoT 的效率问题。例如,一些方法通过在强化学习中加入长度惩罚来鼓励模型生成更简洁的推理;另一些方法则通过后处理技术(如迭代式摘要或剪枝)来压缩 CoT 的输出;还有一些方法依赖于明确的用户指令或人工设计的规则来控制 CoT 的使用。

尽管这些方法在一定程度上取得了成效,但它们大多关注于如何“缩短”推理过程,而非“决定”是否需要推理。它们缺乏一个系统性的优化框架来指导模型根据输入查询的内在复杂性,自适应地在“直接回答”和“CoT 推理”之间做出权衡。正是这种“一刀切”或依赖外部规则的局限性,凸显了发展一种内生的、自适应的 CoT 触发机制的必要性。

2. 引入帕累托最优

AdaCoT 的研究者们认识到,自适应 CoT 触发的本质,是一个在两个相互竞争的目标之间进行权衡的多目标优化问题:

  1. 最大化模型性能(Response Accuracy):我们希望模型能够准确地回答问题,尤其是在复杂任务上,这通常需要 CoT 的支持。
  2. 最小化部署成本(Deployment Costs):我们希望模型尽可能少地生成不必要的 token,以降低计算开销和延迟。

这两个目标是相互制约的:过度追求性能,可能会导致 CoT 的滥用,成本激增;而过度压缩成本,则可能在需要推理时省略 CoT,损害性能。

为了在理论上清晰地刻画并解决这一权衡问题,AdaCoT 创新地引入了帕累托优化(Pareto Optimization)框架。在多目标优化中,帕累托最优指的是一种状态,在这种状态下,不可能在不损害任何一个目标的情况下,使得至少一个其他目标变得更好。所有帕累托最优解的集合构成了所谓的“帕累托前沿”(Pareto Frontier)。AdaCoT 的目标,就是探索并找到位于这条前沿上的、代表着不同性能-成本权衡偏好的最优解。

研究者们将这个问题进行了数学形式化。假设有一个查询-响应数据集 ,其中 是输入查询, 是标准答案。一个由参数 控制的 LLM 生成的响应为

目标一:最小化 CoT 使用率

CoT 的使用率 定义为模型响应中包含推理步骤(例如,通过检测 <think>...</think> 标签内的非空内容来判断)的比例:

其中 是指示函数。

目标二:最大化模型性能

模型性能 定义为在一系列评估指标上的平均得分:

其中 是评估实例或指标的数量。

将这两个目标结合起来,AdaCoT 的优化目标是找到一组模型参数 ,以实现性能与成本之间的最佳权衡:

或者更一般地,是在 的二维空间中,找到帕累托前沿上的解。超参数 控制了性能和成本之间的相对重要性。AdaCoT 的核心机制,就是提供一种探索这条前沿的有效方法。

通过将问题置于帕累托优化的坚实数学基础上,AdaCoT 为自适应推理提供了一个有原则的、清晰的优化方向,摆脱了以往方法中依赖启发式规则或单一目标优化的局限。

3. SFT 预热 + RL 微调

为了实现上述的帕累托优化目标,AdaCoT 设计了一个两阶段的训练流程:首先通过监督微调(Supervised Fine-Tuning, SFT)对模型进行“预热”,使其具备区分不同响应模式的基础能力;然后利用强化学习(Reinforcement Learning, RL)对模型的自适应决策边界进行精细调整。

第一阶段:监督微调(SFT)作为“热身”

SFT 阶段的目标是让模型初步理解“何时需要 CoT”。为了实现这一点,研究团队首先需要构建相应的训练数据。他们没有采用昂贵且一致性差的人工标注,而是利用一个辅助的、具备较强能力的 LLM(在论文中是一个内部的 15B 参数模型),基于一套预定义的原则(例如,查询复杂度、预期推理深度、领域等)来自动为数据打上标签。查询被分为两类:可能从 CoT 中受益的适合直接回答的。这种自动化、有原则的标注流程,比人工标注更具一致性和可扩展性。

SFT 的训练数据被构造成统一的格式,以帮助模型学习两种响应风格:

  • 对于需要 CoT 的查询:响应保留完整的推理过程,格式为 <think>reasoning_steps</think>answer
  • 对于不需要 CoT 的查询:响应省略推理过程,但为了保持结构一致性,使用空的 think 标签,格式为 <think></think>answer

这种一致的 <think></think> 标签使用,对于维护响应格式的完整性至关重要,并为后续 RL 阶段的决策提供了明确的锚点。通过在这样的数据上进行 SFT 训练,模型获得了一个初始的决策能力,可以根据查询的特性,生成包含或不包含推理步骤的响应。这个阶段可以看作是对模型进行“热身”,为后续更精细的 RL 调优奠定基础。

第二阶段:强化学习(RL)进行自适应控制

SFT 阶段给了模型一个“起点”,但这个起点是基于固定标签的,其决策边界相对僵硬。RL 阶段的核心任务,就是将这个决策过程变得更加灵活和动态,以探索帕累托前沿。

在 RL 框架中,LLM 扮演着“智能体”(Agent)的角色,它为每个输入的查询(状态)生成一个响应(动作)。这个响应随后会由一个精心设计的奖励函数(Reward Function)进行评估,并产生一个奖励信号,用于通过 PPO(Proximal Policy Optimization)等算法更新模型的策略(即其参数 )。

AdaCoT 的奖励函数 设计得尤为关键,它直接体现了帕累托优化的目标。对于输入的查询 和生成的响应 ,奖励函数定义如下:

这个奖励函数由四个部分组成:

  • 基础奖励,反映了响应本身的质量。这部分可以由另一个训练好的奖励模型(Reward Model, RM)或者基于规则的验证器来提供。
  • 遗漏推理惩罚。这是一个二元惩罚项,当一个复杂问题(根据预先的标签)模型却没有生成 CoT 推理时触发。
  • 过度推理惩罚。同样是一个二元惩罚项,当一个简单问题模型却生成了 CoT 推理时触发。
  • 格式错误惩罚,用于惩罚不符合 <think>...</think> 格式的响应。

这个奖励函数最精妙的地方在于惩罚系数 。通过系统性地调整这两个系数的组合,研究者可以引导 RL 智能体朝向帕累托前沿的不同区域进行探索。例如:

  • 提高 (对遗漏推理的惩罚):会促使模型更倾向于生成 CoT,以避免错过复杂问题,从而将解推向“高性能、高成本”的区域。
  • 提高 (对过度推理的惩罚):会促使模型更倾向于直接回答,以节省成本,从而将解推向“低成本、性能可能略低”的区域。

通过这种方式,AdaCoT 将抽象的帕累托优化目标,转化为了具体的、可通过调整超参数来控制的 RL 训练过程,从而能够产出一系列在性能和成本之间做出不同权衡的“专家”模型。

4. 选择性损失掩码

在多阶段的 RL 训练中,一个常见且棘手的问题是“灾难性遗忘”或能力退化。对于 AdaCoT 来说,这个风险具体表现为决策边界坍塌(Decision Boundary Collapse)

这个问题在特定阶段尤为突出。例如,在 RL 训练的某个阶段,模型可能会专门针对一个具有偏斜数据分布的领域进行微调(如数学数据集,其中几乎所有问题都需要 CoT)。在这样的数据上进行训练时,模型可能会“忘记”在 SFT 或早期 RL 阶段学到的、更为平衡的自适应决策能力,退化为一种单一的行为模式——要么总是触发 CoT,要么从不触发 CoT。这种学到的精细决策边界“坍塌”回单一行为的现象,会使得模型的自适应能力丧失。

为了解决这一难题,AdaCoT 提出了一种新颖而有效的技术——选择性损失掩码(Selective Loss Masking, SLM)。SLM 的目标是,在这些容易导致决策边界坍塌的 RL 阶段,保护模型已经建立的 CoT 触发率和分布。

它的实现方式是:在计算策略梯度损失时,选择性地掩盖(或忽略)来自关键“决策 token”的损失贡献。这个“决策 token”被定义为紧跟在 <think> 标签之后的第一个 token。这个 token 可以被看作是模型做出“是否进行思考”这一决策的关键所在——如果这个 token 是 >(即构成 </think>),则模型决定不思考;如果这个 token 是其他内容,则模型决定开始思考。

通过在反向传播中忽略这个 token 的损失,SLM 有效地将模型的更新压力从“是否触发 CoT”的决策本身,转移到了“如何执行 CoT”(如果触发)或“如何直接回答”(如果不触发)上。这相当于在特定训练阶段“冻结”了模型的决策倾向,使其保留在 SFT 或早期 RL 阶段学到的触发比例,从而防止了决策边界的坍塌。

经过 SLM 修改后的策略梯度损失 计算如下:

其中 是原始损失中第 个 token 的分量, 是决策 token 的索引。SLM 作为一个简单而巧妙的技术,为在复杂的多阶段训练中保持模型行为的稳定性提供了一个有效的解决方案。

5. 实验与结果分析

为了验证 AdaCoT 框架的有效性,研究团队进行了一系列详尽的实验。他们使用的基础模型是内部的 15B/150B 参数的混合专家(Mixture-of-Experts, MoE)模型。实验对比了 AdaCoT 模型与多个基线模型:

  • Full CoT SFT/RL Baseline:总是生成 CoT 的模型。
  • No CoT SFT/RL Baseline:从不生成 CoT 的模型。
  • AdaCoT SFT Model:仅经过 SFT 阶段的自适应模型。

评估在 15 个多样化的开源基准数据集上进行,涵盖了数学、代码、常识推理、知识问答等多个领域。

帕累托前沿分析

实验的核心结果之一是帕累托前沿的分析。研究团队通过调整 RL 奖励函数中的惩罚系数 ,训练出了四个不同版本的 AdaCoT RL 模型(Exp1-Exp4),它们在性能和 CoT 触发率上表现出不同的权衡。

帕累托前沿分析图
帕累托前沿分析图

如上图所示,横轴代表 CoT 触发率(成本),纵轴代表在 15 个基准上的平均得分(性能)。

  • 蓝色点代表基线模型。可以看到,No CoT 模型成本最低但性能也最差;Full CoT RL 模型性能最高但成本也最高(100% CoT 触发)。
  • 绿色点是只经过 SFT 的 AdaCoT 模型,它已经展现出了一定的权衡能力。
  • 橙色点代表四个 AdaCoT RL 模型,它们清晰地勾勒出了一条新的、更优的帕累托前沿(橙色虚线区域)。

从图中可以观察到:

  • 显著的效率提升:AdaCoT RL 模型能够在远低于 Full CoT 模型的 CoT 触发率下,达到接近甚至超越基线模型的性能。例如,AdaCoT RL Exp2 使用了约 53.3% 的 CoT 触发率,其平均得分(62.8%)已经接近了使用 100% CoT 的 Full CoT RL Baseline(65.0%)。这意味着 AdaCoT 以将近一半的成本,实现了极具竞争力的性能。
  • 灵活的权衡选择:随着 CoT 触发率的增加(从 Exp1 到 Exp4),模型的性能也稳步提升,最终逼近 Full CoT RL 基线的得分。这表明,通过调整惩罚系数,AdaCoT 能够有效地在帕累托前沿上移动,为不同的应用场景(例如,追求极致性能或追求极致性价比)提供定制化的模型。

日常查询中的自适应触发表现

为了评估模型在真实场景中的决策能力,研究团队构建了一个包含 1000 个典型用户查询的高质量平衡测试集。

不同阶段 CoT 触发性能对比
不同阶段 CoT 触发性能对比

该表格展示了模型在不同训练阶段的 CoT 触发决策性能(以 F1-Score、Precision、Recall 等指标衡量)。

  • SLM 的有效性:一个关键的消融研究是对比有无 SLM 的 RL-Math 阶段。结果显示,没有 SLM 的模型,其决策边界严重坍塌,Recall 达到了 1.0(总是触发 CoT),但 Precision 很低,整体决策准确率只有 0.506。而应用 SLM 后,模型保持了较高的 Precision (0.938),决策准确率恢复到 0.813,证明了 SLM 在防止决策边界坍塌上的关键作用。
  • RL 的微调效果:最终的 AdaCoT RL 模型(如 Exp2)在各项指标上都取得了均衡且优秀的表现(F1-Score 达到 0.814),表明 RL 阶段成功地对 SFT 阶段学习到的决策边界进行了优化。

响应长度缩减与效率提升

AdaCoT 最直接的价值体现在生产环境中的效率提升。研究团队将表现均衡的 AdaCoT RL Model Exp2 应用于生产流量测试集上,该测试集反映了真实、未经过滤的用户查询分布。

生产环境流量测试下的效率提升
生产环境流量测试下的效率提升

结果是相当可观的:

  • 在移动端,AdaCoT 模型的 CoT 触发率低至 3.18%,而 Full CoT 基线是 100%。这种大幅度的触发率降低,直接带来了平均响应 token 数量 69.06% 的减少
  • 在 PC 端,CoT 触发率为 12.50%,平均响应 token 数量减少了 70.6%

这些数字直观地展示了 AdaCoT 在真实世界应用中的巨大潜力。对于大型科技公司而言,超过 69% 的 token 减少意味着节省了大量的计算资源,能够以更低的成本服务更多的用户,同时提供更快的响应速度。

6. 深入讨论

论文的讨论部分对 AdaCoT 的设计选择、内在局限以及未来研究方向进行了坦诚而深入的思考。

设计考量与局限性

  • 实用主义的设计:AdaCoT 采用“原则引导的初始数据标注 + RL 优化”的 pragmatic 路径,是为了规避让模型从零开始、完全自主学习何时触发 CoT 的困难。后者面临着诸如反事实评估(如果不使用 CoT 会有多大损失?)难以量化等挑战。
  • 模型的相对性:一个模型的最佳 CoT 触发策略是与该模型自身的能力相关的。这意味着 AdaCoT 的训练过程需要针对不同的基础 LLM 进行重新校准。
  • 二元决策的简化:当前的 AdaCoT 将 CoT 触发简化为一个“开/关”的二元决策。然而,推理的深度和风格本身是一个连续的光谱。未来可以探索更细粒度的控制,例如自适应地决定推理的长度或详细程度。
  • 领域泛化与个性化:CoT 的必要性在不同知识领域差异巨大,AdaCoT 在跨领域泛化方面仍面临挑战。此外,框架目前缺乏对用户偏好(例如,希望得到更详细还是更简洁的回答)的个性化适应能力。

“元推理”(Meta-Reasoning)的探索

研究团队还探索了一种有趣的“元推理”方法。即在 SFT 阶段,让模型在决定是否进行 CoT 之前,先生成一段对输入查询复杂度的简短内部评估。

包含元推理的 CoT 决策响应结构示例
包含元推理的 CoT 决策响应结构示例

如上图所示,模型的响应结构发生了变化:

  • 对于简单问题,模型可能先想:“<think>这是一个关于 X 的直接问题,我认为可以直接回答。[empty]</think>
  • 对于复杂问题,模型则想:“<think>这是一个关于 Y 的相对复杂问题,我需要仔细思考。[formal reasoning process]</think>

实验发现,引入这种元推理步骤,显著提升了模型在日常用语测试集上的 CoT 触发决策 F1-score(从 0.750 提升到 0.840)。这表明,显式地引导模型先“评估难度”,再“决定策略”,能够增强其决策的准确性。

然而,这种元推理步骤本身会为每一个查询增加额外的 token 开销。考虑到 AdaCoT 在生产环境中的 CoT 触发率极低(如 3.18%),为 100% 的查询都增加元推理的 token 成本,从整体效率上看是不划算的。因此,研究团队并未将其作为后续 RL 实验的默认配置,但它无疑为未来的研究指明了一个有潜力的方向。

通过系统提示(System Prompts)保持峰值性能

一个关键问题是:自适应训练是否会损害模型的峰值推理能力?即,一个学会了“偷懒”(不使用 CoT)的模型,在被强制要求进行深度思考时,是否还能达到与一个始终进行深度思考的模型相媲美的性能?

为了回答这个问题,研究团队在 AdaCoT 的训练中集成了系统提示(System Prompts, SPs),例如 "Always Reason SP" 和 "Never Reason SP"。通过在推理时使用 "Always Reason SP",他们可以强制 AdaCoT 模型始终生成 CoT。

“强制思考”系统提示词下的模型性能
“强制思考”系统提示词下的模型性能

结果显示,在被强制 100% 触发 CoT 的模式下,AdaCoT RL 模型(如 Exp4 和 Exp2)的平均得分甚至略微超过了 Full CoT RL 基线。这有力地证明了:AdaCoT 的自适应训练,在优化了性能-成本帕累托前沿的同时,并没有牺牲模型在需要时发挥其全部推理潜力的能力。 它让模型学会了“何时不思考”,但并未忘记“如何深度思考”。


往期文章: