跳转至

Training Language Models to Reason Efficiently

会议: NeurIPS 2025
arXiv: 2502.04463
代码: github.com/Zanette-Labs/efficient-reasoning
领域: LLM推理
关键词: 高效推理, CoT压缩, 长度惩罚, 强化学习, 推理时计算

一句话总结

通过在 RL 奖励中加入长度惩罚项——正确回答的奖励乘以 \((1 - \alpha \cdot \sigma(\text{norm\_len}))\),用单一超参数 \(\alpha\) 控制 token-准确率权衡曲线,仅 100 步 RL 训练即可让 7B 推理模型减少 50% token 使用量而准确率仅下降 <5%。

研究背景与动机

  1. 领域现状:推理模型(o1、R1)通过长 CoT 大幅提升推理能力,但推理成本高昂——Transformer 注意力机制的二次复杂度使得长 CoT 的计算成本急剧增长。
  2. 现有痛点:(1) 推理模型在简单问题上严重"过度思考"(如 1+1 需要一整页 CoT);(2) 直接用 prompt 指令限制长度无效(蒸馏后的推理模型不遵循长度约束);(3) 现有压缩方法(SFT on 最短正确解、DPO)效果不如 RL 且不可控。
  3. 核心矛盾:需要在不损失推理质量的前提下减少 token 使用,但简单截断会导致推理不完整,而 prompt 控制对推理模型无效。
  4. 本文要解决什么? 如何系统地训练推理模型使用更少 token 达到正确答案,同时保留对难题使用更多 token 的能力?
  5. 切入角度:在 RL 奖励函数中引入长度正则项,只对正确回答施加长度惩罚(错误回答奖励始终为 0),并通过 per-prompt 归一化确保难题不被过度惩罚。
  6. 核心idea一句话:在正确性奖励上乘以长度折扣 \((1 - \alpha \cdot f(\text{len}))\),用 \(\alpha\) 平滑控制效率-准确率权衡,让模型自适应地对简单题更简洁、对难题仍深入思考。

方法详解

整体框架

给定推理模型(如 DeepSeek-R1-Distill),目标函数为 \(\mathbb{E}[\mathbb{1}\{y = y^\star(x)\} \cdot (1 - \alpha \cdot f(\text{len}(y)))]\),其中 \(\alpha \in [0, 1)\) 控制长度惩罚强度。使用 PPO + RLOO advantage estimator 优化。训练仅需 100 RL 步骤(~200 梯度更新),在学术资源下即可完成。

关键设计

  1. 长度惩罚函数设计:
  2. 做什么:惩罚正确但冗长的回答
  3. 核心思路:\(f(\text{len}(y)) = \sigma\left(\frac{\text{len}(y) - \text{mean}(x)}{\text{std}(x)}\right)\),其中 \(\text{mean}(x)\)\(\text{std}(x)\) 是同一问题下正确回答的 per-prompt 长度均值和标准差,\(\sigma\) 是 sigmoid 函数
  4. 设计动机:per-prompt 归一化确保难题(本身需要长 CoT)不会被过度惩罚;sigmoid 将值域限制在 \([0,1]\),保证正确回答的奖励始终为正(\(\alpha < 1\)),即正确总优于错误

  5. 不做优势归一化:

  6. 做什么:故意不对优势函数做标准差归一化(与 GRPO 不同)
  7. 核心思路:当所有回答都正确时,归一化会使长度惩罚的有效梯度与 \(\alpha\) 无关(推导:归一化后最短和最长正确回答的优势差恒为 6,不受 \(\alpha\) 控制),导致长度减少过于激进
  8. 设计动机:保持 \(\alpha\) 对训练行为的可控性

  9. 自适应难度调节(emergent):

  10. 做什么:模型自动学会对简单题大幅压缩、对难题保持长 CoT
  11. 核心思路:不需要显式难度标注——per-prompt 归一化天然实现此效果。简单题的正确解长度方差大(相对冗余多),因此压缩空间更大
  12. 设计动机:7B 模型在 GSM8K 上可减 83% token(\(\alpha=0.2\)),但在 AIME 上仅减 27%

损失函数 / 训练策略

PPO + RLOO(Leave-One-Out baseline),每个 prompt 采样 8 个回答,3.2K 训练 prompt 来自 Numina Math。学习率 \(2 \times 10^{-6}\)(7B),KL 系数 \(10^{-3}\)。仅 100 RL 步就收敛。

实验关键数据

主实验

基础模型:DeepSeek-R1-Distill-Qwen-7B。

\(\alpha\) MATH500 准确率 MATH500 tokens AIME24 准确率 AIME24 tokens GSM8K 准确率 GSM8K tokens
0 (R1) ~86% ~4000 ~30% ~13000 ~95% ~3500
0.1 ~84% (-2.2%) ~2600 (-36%) ~28% ~11000 ~94% ~1700
0.2 ~82% ~2200 ~27% (-3.3%) ~9000 (-27%) ~93% (-1.7%) ~600 (-83%)
0.4 ~78% ~1500 ~22% ~7000 ~90% ~400

消融实验

配置 效果 说明
不做优势归一化 可控 \(\alpha\) 能精确控制压缩程度
做优势归一化 失控 长度急剧下降,准确率也崩溃
SFT on 最短正确解 较差 同等 token 量下准确率低于 RL
DPO (最长 vs 最短) 较差 不可控,效果弱于 RL
O1-Pruner 次于本文 \(\alpha=0.05,0.1\) 比 O1-Pruner 在同等 token 下准确率更高

关键发现

  • 50% token 压缩仅损失 <5% 准确率:7B 模型聚合 5 个数据集的结果
  • 自适应难度响应:同一 \(\alpha\) 值在 GSM8K 上压缩 83%,在 AIME 上只压缩 27%——模型自动对简单题更简洁
  • 仅 100 RL 步即可收敛:训练成本极低(20小时/4-8 GPU),只需对标准 RL 实现改几行代码
  • 压缩主要减少验证/回溯/探索行为\(\alpha\) 增大时,模型的 verification(4.6→1.2)、backtracking(19.1→6.4)、exploration(26.3→2.1)次数一致下降
  • CoT 忠实度略有下降但仍远优于非推理模型:faithfulness score 从 0.622(R1)降到约 0.5(\(\alpha=0.1\)),但仍远高于 Instruct 模型(0.301)

亮点与洞察

  • 极简但极有效:只需在奖励函数中加一行代码(长度惩罚)就能获得显著效果,方法本身的简洁性是其最大优势
  • per-prompt 归一化是关键设计:没有它,难题和简题会被等同对待,长度惩罚会不公平地打击长推理。这个设计使模型自然涌现"简单题快速解、难题深入想"的行为
  • 不做优势归一化的发现很有价值:揭示了标准 GRPO 中的一个微妙问题——归一化会消除 \(\alpha\) 的控制维度。这对所有使用带长度项的 RL 奖励的工作都是重要提醒

局限性 / 可改进方向

  • \(\alpha\) 控制的是整体压缩程度而非精确的目标长度,对需要严格延迟约束的应用不够精确
  • 压缩总伴随少量准确率损失,是否可以做到"不降反升"仍是开放问题
  • 仅在数学推理上验证,在代码生成等其他推理任务上的效果未知
  • RL 训练虽然只需 100 步,但仍比纯 SFT 设置更复杂

相关工作与启发

  • vs Kimi k1.5: Kimi 也在 RL 中使用长度惩罚,但没有 per-prompt 归一化和可调 \(\alpha\) 来生成模型族
  • vs O1-Pruner: O1-Pruner 用离线 RL(DPO 变体),本文用在线 RL 效果更好。\(\alpha=0.05\)\(0.1\) 在同等 token 下准确率一致优于 O1-Pruner
  • vs SFT on 最短正确解: SFT 在同等 token 量下准确率更低,说明在线 RL 训练对 CoT 压缩更有效
  • vs prompt-based 控制: 实验证明蒸馏推理模型完全不遵循长度约束 prompt(所有 token limit 的实际生成长度基本相同)

评分

  • 新颖性: ⭐⭐⭐⭐ 想法虽简单但首次系统地用 RL 长度惩罚训练推理效率,per-prompt 归一化和不做优势归一化的发现很有洞察
  • 实验充分度: ⭐⭐⭐⭐ 5 数据集 + 2 模型规模 + 多基线 + 消融 + 定性分析 + 忠实度研究
  • 写作质量: ⭐⭐⭐⭐⭐ 动机清晰、方法简洁、理论保证完善、实验图表信息丰富
  • 价值: ⭐⭐⭐⭐⭐ 极高实用价值——几行代码改动、20小时训练就能让推理模型节省一半计算成本