← 首页|学术|DIET 精读 — Difficulty-Aware Token Compression (NeurIPS 2025)
精读 · cs.LG cs.AI cs.CL · NeurIPS 2025

The Overthinker's DIET: Cutting Token Calories with DIfficulty-AwarE Training

Weize Chen†, Jiarui Yuan†, Tailin Jin, Ning Ding, Huimin Chen, Zhiyuan Liu, Maosong Sun — Tsinghua University THUNLP(†共同第一作者)
Chain-of-Thought Token Efficiency GRPO Difficulty-Aware RL Reasoning Inference Scaling
核心论点:对所有问题施加相同的 token 压力是错的——难题需要长推理,简单题不需要。DIET 在 GRPO 训练中实时估计任务难度,据此动态调整 token 惩罚强度。同时发现并修复了 GRPO 中朴素奖励合并的一个理论缺陷(方差交叉污染),提出 Advantage Weighting。最终效果:准确率 +3.3%(50.2% vs 48.6%)同时 token 用量 −40.7%——是唯一一种同时提升准确率并大幅降低 token 的方法。

目录

  1. 问题:过度思考 + 均匀惩罚的根本缺陷
  2. 难度估计:零额外开销的在线方案
  3. 两种难度感知策略
  4. GRPO 陷阱:方差交叉污染 + Advantage Weighting 修复
  5. 循环压缩压力
  6. 实验结果
  7. 核心洞察
  8. 与 Optima 的谱系关系

🎯 问题:过度思考 + 均匀惩罚的根本缺陷

LLM 推理模型的"过度思考"问题
以 DeepSeek-R1 为代表的推理模型通过长思维链获得了出色的推理能力,但带来了一个系统性问题:对所有问题都生成过长的响应,包括简单问题。一道可以用 200 token 解决的数学题,模型可能生成 5000+ token 的自我检查、反复确认和冗余推理——这导致推理成本极高,同时对难题的实际提升有限。
已有方案的通病:均匀 token 惩罚
现有压缩方案的通用目标函数: Maximize E[P(π,x)] − α · E[f(L(π,x))] 其中 P 是任务性能,L 是 token 用量,α 是固定的惩罚强度。

核心问题:α 对所有问题相同。这意味着 AIME 竞赛题和简单算术题受到同等压缩压力。结果: 论文用先决观察证实:未经任何压缩训练的基础模型,天然存在"难题→长响应,简题→短响应"的正相关——均匀压缩会破坏这种已有的良好性质。

📐 难度估计:零额外开销的在线方案

在 RL 训练中实时估计难度
GRPO 每个 prompt 本来就要采样 N 条响应来计算 advantage。DIET 直接利用这 N 条响应估计难度: Ĉ(x, πθ) = (1/N) · Σ 𝟙(yᵢ 正确),yᵢ ~ πθ(·|x) D̂(x, πθ) = 1 − Ĉ(x, πθ) 零额外计算开销:GRPO 采样的 N 条响应本来就要生成,难度估计只是在已有结果上做一次均值,不增加任何 forward pass。
关键假设:用当前策略 πθ 在当前 prompt 上的通过率来代理"这道题有多难"。这是动态估计(每次训练步都更新),而不是预定义的静态难度标签——随着模型能力提升,同一道题的估计难度会变化。

🔬 两种难度感知策略

策略一:自适应惩罚强度(αada)

根据难度调整惩罚系数
αada(x, πθ) = αbase · Ĉ(x, πθ) 其中 αbase 是全局超参数,乘以通过率 Ĉ(即难度的互补)。效果: 底层 token 惩罚使用 Kimi 格式γᵢ = 0.5 − (L(yᵢ) − min L) / (max L − min L + ε) fKimi(yᵢ) = γᵢ(答对时) | min(0, γᵢ)(答错时) 即:答对但太长 → 负奖励;答错但短 → 不惩罚(不想鼓励用牺牲正确率的方式缩短)。

策略二:动态长度目标(fdyn)

根据难度设置允许长度上限
另一个思路:不调整惩罚强度,而是为每道题设置一个难度相关的允许长度目标,超出目标才惩罚: t(x, πθ) ~ Uniform(max(0, Lmax · (D̂ − δ)), Lmax · D̂) 使用随机区间(而不是固定 t = Lmax · D̂)是为了增加训练时的探索多样性。

惩罚仅对超出目标的部分生效,并在 batch 内归一化: fdyn = (p(yᵢ, t) − μp) / (σp + ε),其中 p = max(0, L(yᵢ) − t)
两种策略的区别:αada 改变"惩什么力度";fdyn 改变"惩什么范围"。两者可以单独使用,论文最终的 DIET 是两者合并。

⚠️ GRPO 陷阱:方差交叉污染 + Advantage Weighting 修复

朴素方案的理论缺陷
在 GRPO 中,最直接的做法是把任务奖励和 token 惩罚合并后再做 advantage 归一化: r'ᵢ = routcome,ᵢ − αada · pᵢ Â'ᵢ = (r'ᵢ − μr') / (σr' + ε)
问题:方差交叉污染。 合并奖励的方差是:σ²r' ≈ σ²outcome + α²ada · σ²p

因此实际有效惩罚缩放因子变成了: τ̂p = αada / √(σ²outcome + α²ada · σ²p + ε') 其中 σ²outcome = Ĉ(1−Ĉ)(二项分布方差),这在 Ĉ = 0.5(中等难度)时最大,在 Ĉ ≈ 0 或 1(极难/极易)时趋近零

这意味着: 这与我们设计 αada 的意图完全相反:我们想在简单题上强惩罚(αada 大),但 GRPO 归一化把这个效果"对冲"掉了。
Advantage Weighting:分开归一化再合并。 Âoutcome,ᵢ = (routcome,ᵢ − μoutcome) / (σoutcome + ε) Âp,ᵢ = (pᵢ − μp) / (σp + ε) Â'ᵢ = Âoutcome,ᵢ − α' · Âp,ᵢ 每个分量用自己的均值和方差归一化,消除方差交叉污染。α' 此时能准确控制两个分量的相对权重,不受对方方差影响。
▶ 为什么这个问题在没有难度感知时不明显?
当 α 固定且不依赖 Ĉ 时,τ̂p 对所有题的偏差方向相同,效果是"惩罚整体被稀释但仍然存在"——虽然次优但不会导致训练崩溃。但当 αada 变成 Ĉ 的函数后,τ̂p 的实际效果对不同难度的偏差方向开始反转,最终使 advantage weighting 中的分量比例完全失控,训练无法收敛(论文实验证实:不加 Advantage Weighting 的 DIET 训练失败,从结果表中剔除)。

🔄 循环压缩压力(Cyclical Compression Pressure)

用余弦调度避免过早收敛到"极度简洁"
如果全程保持最大压缩压力,模型会在训练早期就收敛到某种"简洁但不够灵活"的模式,失去探索更好推理路径的能力。DIET 用余弦调度振荡压缩压力: c(t) = 0.5 · (1 + cos(2πt/T)) Â'ᵢ(t) = Âoutcome,ᵢ − c(t) · αada · Âp,ᵢ 这造成"压缩 → 自由探索 → 压缩 → ..."的周期,防止模型在某一个压缩状态下过早固化。
类似于退火调度,但作用在奖励维度而非学习率。在"无压缩"阶段,模型可以发现更好的推理结构,然后在"压缩"阶段被强化为更简洁的形式。

📊 实验结果

DIET 宏平均准确率
50.2%
基础模型 48.6%(+3.3%)
DIET Token 降幅
−40.7%
10,280→6,097 tokens
AIME 准确率(难题)
31.8%
基础 28.5%
Base Model
R1-Distill
Qwen 1.5B
GRPO on DeepScaleR

全量对比(5个 benchmark 宏平均)

方法 宏平均 P@1 vs 基础 宏平均 Token Token 变化
基础模型 48.6% 10,280
DIET(αada + fdyn) 50.2% +3.3% 6,097 −40.7%
自适应惩罚强度(仅 αada) 49.9% +2.8% 5,723 −44.3%
动态长度目标(仅 fdyn) 48.6% ±0% 5,657 −45.0%
Kimi 1.5 DPO 49.9% +2.7% 8,441 −17.9%
O1-Pruner 45.9% −5.4% 4,829 −53.0%
CosFn 46.8% −3.5% 6,798 −33.9%
Kimi 1.5 RL 35.0% −27.9% 4,050 −60.6%
TokenSkip(SFT) 30.9% −36.4% 1,697 −83.5%
Kimi 1.5 SFT 42.7% −12.1% 9,865 −4.0%
关键观察:只有 DIET 家族同时提升了两个指标
表格分为两类: Kimi 1.5 DPO 接近 DIET 的准确率,但 token 降幅只有 −17.9%(vs DIET 的 −40.7%)。
▶ 分题型对比(难题 AIME vs 简单题 MATH500)
方法MATH500 P@1MATH500 TokenAIME P@1AIME Token
基础模型82.1%5,53428.5%16,590
DIET83.0%3,061 (−44.7%)31.8%10,578 (−36.2%)
TokenSkip64.1%1,1206.8%2,231
O1-Pruner79.1%2,53125.0%8,961
注意 DIET 在 AIME(难题)上的 token 降幅(−36%)比 MATH500(简单题,−45%)小——这正是难度感知压缩应该有的行为:简单题多压,难题少压。

推理时 Scaling 优势

固定 token 预算下的 Majority Voting 性能
在固定总 token 预算下,DIET 可以采样更多样本进行 majority voting(因为每个样本更短),同时每个样本的质量没有下降——两个效果叠加。

对比:TokenSkip/Kimi SFT 的单样本质量太差,即使采样再多次,准确率也很快停止提升。DIET 在低 token 预算下就能达到比基础模型高得多的 majority voting 准确率,scaling 曲线的斜率显著更陡。
→ 实际部署含义:如果系统有固定推理算力(比如 TPU 小时),DIET 是目前最高效的利用方式。

长度-难度相关性

DIET 是唯一增强了模型本有的"难题→长响应"规律的方法
用 Pearson 相关系数衡量"估计难度 vs 平均响应长度"的相关性(所有 p < 0.01): 这是 DIET 的质性证明:它确实让模型"学会了"按难度分配思考资源,而不只是整体压缩。

💡 核心洞察

为什么"难度感知"这个想法正确但之前没人做
"按难度压缩"在直觉上几乎是显然的——没有人会说"解方程和证明黎曼猜想应该用同样的字数"。但在 RL 实现层面有两个技术障碍:
  1. 难度怎么估计:如果要在训练时查询外部难度数据库,需要对所有训练题预标注难度,且标注会过时(随模型能力变化)。DIET 的洞察是"用当前策略的通过率作为当前难度的动态代理"——这既准确又零成本。
  2. GRPO 中怎么实现:直接把难度感知惩罚加到奖励里会被 GRPO 的方差归一化破坏(方差交叉污染问题)。Advantage Weighting 是让这件事真正可行的工程关键。
所以 DIET 的贡献是双层的:①正确的问题定义(难度自适应压缩),②让这个想法在 GRPO 中真正能训练的技术实现。两者缺一不可——论文实验证明,没有 Advantage Weighting 的 DIET "训练失败"。
GRPO Pitfall 的普适性警告
Advantage Weighting 解决的方差交叉污染问题,并不是 DIET 特有的——它存在于任何在 GRPO 中合并多个奖励维度的场景: 所有这些场景都面临"合并方差影响每个分量的实际权重"的问题。DIET 的 Advantage Weighting 是一个通用修复,应该成为 multi-objective GRPO 的标准实践。
与 SVR-R1 对照(今日日报 2607.10966):SVR-R1 用"自验证"构造了另一种内在奖励(不依赖外部 verifier)。两篇都在探索"如何设计更丰富的 GRPO 奖励信号"——DIET 的方向是效率维度,SVR-R1 的方向是一致性维度。两篇都需要面对"多维度奖励在 GRPO 中的实现稳定性"问题,Advantage Weighting 对 SVR-R1 类工作同样有参考价值。
从 MAS 通信 → 单 agent 推理:继承与超越
维度Optima(ACL 2025)DIET(NeurIPS 2025)
Token 惩罚对象 multi-agent 之间的通信消息 单 agent 内部的思维链
Token 惩罚方式 复合奖励中均匀惩罚 token 用量 难度感知的自适应惩罚
训练算法 SFT + DPO 迭代 GRPO + Advantage Weighting
GRPO 陷阱 未讨论(DPO 不存在此问题) 发现并修复
理论贡献 MCTS-DPO 数据生成框架 Advantage Weighting 的方差分析
DIET 补上了 Optima 没有涉及的两件事:①把场景从 MAS 通信扩展到单 agent 内部推理(解决了更广泛的问题);②针对 GRPO(比 Optima 的 DPO 更主流的当下 RL 路线)提供了理论上正确的多目标实现方案。
局限:① 仅在数学推理 benchmark 上验证;② 最优的难度-长度权衡在不同领域(代码、科学问答、对话)可能完全不同;③ 难度估计依赖 batch 内通过率,对极小 batch size 不稳定;④ 没有探索与其他压缩技术(如 TokenSkip、O1-Pruner)的组合效果。
arXiv:2505.19217 · NeurIPS 2025 · Tsinghua THUNLP · 精读:2026-07-15
关联:Optima 精读 · f(g(x)) (arXiv:2509.25123, ICLR 2026)