摘要:最近,像 OpenAI o1/o3、DeepSeek-R1 这样的大型推理模型(Large Reasoning Models,LRMs)通过加长「思考链」(Chain-of-Thought,CoT)在推理任务上表现惊艳。
最近,像 OpenAI o1/o3、DeepSeek-R1 这样的大型推理模型(Large Reasoning Models,LRMs)通过加长「思考链」(Chain-of-Thought,CoT)在推理任务上表现惊艳。
但随之而来的是一个日益严重的问题:它们太能「说」了!生成的推理过程往往充斥着冗余信息(比如反复定义)、对简单问题过度分析,以及对难题的探索浅尝辄止。
正如 Qwen2.5-32B-Instruct 回答「3 的平方是多少」只需要 30 个 token,而它的 LRM 版本 QwQ-32B 却能滔滔不绝地输出 1248 个 token 来反复验证。
这种低效不仅拖慢了模型训练和推理速度,也给实际应用(如智能体系统)带来了巨大挑战。莎士比亚说:「简洁是智慧的灵魂(Brevity is the soul of wit)」。在 LRM 时代,我们提出「效率是智慧的精髓(Efficiency is the essence of intelligence)」。
一个真正智能的模型,应该懂得何时停止不必要的思考,明智地分配计算资源(token),优化求解路径,用优雅的精确性平衡成本与性能。
上海AI Lab联合 9 家单位,总结超过 250 篇相关论文,深入探讨了当前提升 LRMs 思考效率的研究,聚焦于这个新范式下的独特挑战。
图表 1:综述的主要结构,分类章节,以及未来重要的研究方向
在深入探讨方法之前,我们先明确什么是思考效率,看看 LRMs 通常在哪些方面表现「低效」,以及提升思考效率面临哪些独特挑战。
我们从任务分布的角度定义推理效率。对于一个 LRM 模型,其在任务分布上的思考效率定义为:
其中,每个任务
被形式化定义为
,其中
代表一个数据集,而
是对应的质量。
是模型在任务
上的质量(如准确率、创造力等),
是计算成本(如 FLOPs、生成 token 数等)。简单来说,提高效率要么提升表现 Q,要么降低成本 C。这个公式强调了性能与成本的权衡。
尽管长 CoT 有效,但 LRMs 常常表现出以下低效模式:
冗余内容:模型输出中充斥大量重复、冗余的文本(如反复复述问题),这些内容对最终答案帮助不大,却增加了计算成本。过度思考简单问题:LRM 难以根据任务复杂度有效分配「思考预算」。即使是简单问题(如 2+3=?),也可能生成多轮冗余的验证步骤。提升 LRM 的推理效率面临一些新的、独特的挑战:
量化推理效用:难以评估推理链中每一步的实际贡献。这使得精确判断哪些部分可以压缩或删减变得困难,在不牺牲性能的前提下追求简洁成为一个微妙的平衡问题。控制思考长度:长度控制一直是 LLM 的难题,在 LRM 中更显关键。简单的 token 级限制过于死板,无法适应推理的语义结构。如何让模型「思考得恰到好处」,既不太浅以致遗漏逻辑,也不太深以致浪费计算,仍是一个悬而未决的问题。超越 Transformer 架构瓶颈:现有 LRM 大多基于 Transformer,其二次复杂度在处理数千甚至更多 token 的长推理链时成为严重瓶颈。开发能够处理长序列的新架构或高效近似方法至关重要。这一部分聚焦于在模型推理(生成答案)阶段提升效率的方法,主要有四类策略:
最直接的方法是明确限制计算资源。
整体预算:通过特定提示词或解码策略来控制总 token 数或思考步数。分步预算:引入规划 token 来控制每步长度,或鼓励生成简洁的中间步骤。动态预算:根据问题难度或模型置信度动态分配资源,或通过惩罚机制阻止不成熟的思考切换。借鉴人类思维的双系统理论(System1 快直觉,System2 慢审慎)。
核心思想:让模型根据任务情况在快速(类 System1)和慢速(类 System2)推理模式间切换,优化资源分配。在不同复杂度的模型间分配计算任务。
核心思想:用小模型处理简单部分/草稿,大模型处理困难部分/验证,或根据任务动态选择最合适的模型。提升 Best-of-N、Self-Consistency 等并行生成方法的效率。
核心思想:同时生成多个候选答案,但通过更智能的策略减少总体计算量。监督微调(SFT)是让模型学习遵循特定指令的常用方法。这一部分探讨如何通过 SFT 让 LRM 学会更高效地推理,主要分为两类:
强化学习(Reinforcement Learning,RL)已被证明能有效引导 LLM 发展深度推理能力(如 DeepSeek-R1)。这自然引出了一个想法:能否用 RL 更直接、更直观地提升推理效率?目前的研究主要围绕如何通过 RL 策略减少或控制推理轨迹的 token 使用,同时保持性能。
核心思想:在 RL 的奖励函数中直接加入对长度的考量,通常是惩罚过长输出。实现方式如下:1. 设定预算:
基于任务难度(通过成功率等指标量化)设定 token 长度预算,并据此设计奖励。
在 prompt 中明确给出目标长度指令,并惩罚偏离目标的行为。
2. 归一化奖励:
将长度奖励与基线模型(通过预采样得到)的长度进行比较和归一化。
在每个 prompt 内部进行长度惩罚归一化。
使用相对于同问题下生成的最长/最短答案的归一化长度因子作为奖励。
3. 设计特定函数:
使用如余弦函数形式的奖励,在鼓励有效推理步骤的同时,对过度增长的长度施加惩罚。
这一部分着眼于在模型预训练阶段就融入高效设计的思路,旨在从根本上提升计算效率和性能。主要有三条路线:
核心思想:使用连续表示(而非离散 token)作为预训练的基本单元。子二次注意力(Subquadratic Attention)
核心思想:用计算复杂度低于 O(N²) 的注意力机制替代标准自注意力,以应对长 CoT 带来的长序列处理挑战。线性化(Linearization)
核心思想:将预训练好的标准 Transformer 模型转换为线性循环结构(如 RNN 或 SSM),以提升部署效率。针对 LRM 高效思考的研究尚处早期,未来有许多激动人心的方向值得探索:
来源:晚晚的星河日记一点号