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%。
研究背景与动机¶
- 领域现状:推理模型(o1、R1)通过长 CoT 大幅提升推理能力,但推理成本高昂——Transformer 注意力机制的二次复杂度使得长 CoT 的计算成本急剧增长。
- 现有痛点:(1) 推理模型在简单问题上严重"过度思考"(如 1+1 需要一整页 CoT);(2) 直接用 prompt 指令限制长度无效(蒸馏后的推理模型不遵循长度约束);(3) 现有压缩方法(SFT on 最短正确解、DPO)效果不如 RL 且不可控。
- 核心矛盾:需要在不损失推理质量的前提下减少 token 使用,但简单截断会导致推理不完整,而 prompt 控制对推理模型无效。
- 本文要解决什么? 如何系统地训练推理模型使用更少 token 达到正确答案,同时保留对难题使用更多 token 的能力?
- 切入角度:在 RL 奖励函数中引入长度正则项,只对正确回答施加长度惩罚(错误回答奖励始终为 0),并通过 per-prompt 归一化确保难题不被过度惩罚。
- 核心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 梯度更新),在学术资源下即可完成。
关键设计¶
- 长度惩罚函数设计:
- 做什么:惩罚正确但冗长的回答
- 核心思路:\(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 函数
-
设计动机:per-prompt 归一化确保难题(本身需要长 CoT)不会被过度惩罚;sigmoid 将值域限制在 \([0,1]\),保证正确回答的奖励始终为正(\(\alpha < 1\)),即正确总优于错误
-
不做优势归一化:
- 做什么:故意不对优势函数做标准差归一化(与 GRPO 不同)
- 核心思路:当所有回答都正确时,归一化会使长度惩罚的有效梯度与 \(\alpha\) 无关(推导:归一化后最短和最长正确回答的优势差恒为 6,不受 \(\alpha\) 控制),导致长度减少过于激进
-
设计动机:保持 \(\alpha\) 对训练行为的可控性
-
自适应难度调节(emergent):
- 做什么:模型自动学会对简单题大幅压缩、对难题保持长 CoT
- 核心思路:不需要显式难度标注——per-prompt 归一化天然实现此效果。简单题的正确解长度方差大(相对冗余多),因此压缩空间更大
- 设计动机: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小时训练就能让推理模型节省一半计算成本