← 返回 2026-04-14

过去并未消逝:基于记忆增强的动态奖励塑形(MEDS) The Past Is Not Past: Memory-Enhanced Dynamic Reward Shaping

Yang Liu, Enxi Wang, Yufei Gao, Weixin Zhang, Bo Wang, Zhiyuan Zeng, Yikai Zhang, Yining Zheng, Xipeng Qiu 📅 2026-04-13 👍 144 2026-07-13 08:36
多样性探索 大语言模型 奖励塑形 强化学习 推理

用历史错误模式的记忆惩罚,缓解 LLM 强化学习的错误坍缩。

前置知识

RLVR(可验证奖励强化学习)

用规则或可执行校验器对 LLM 采样结果打 0/1 分数作为奖励的强化学习范式。代表方法 GRPO 和 DAPO 都基于此,分数仅依赖当前样本而忽略历史轨迹信息。

MEDS 的实验基线和应用场景都建立在 RLVR 之上,不理解其奖励机制就无法理解 MEDS 的塑形逻辑。

Entropy / KL 正则化

通过在策略分布上加 KL 散度约束或熵奖励来阻止策略退化的传统方法。其作用范围是当前策略分布层面的随机性,不直接针对反复出现的错误模式。

MEDS 将其作为对比基线(GRPO w/ Entropy Adv),并明确指出其无法识别"反复犯同一类错"这一现象。

Layer-wise Logits

Transformer 各层在某个 token 位置输出的未归一化分数。研究表明其随层数演化能反映模型的隐式推理过程,可作为推理轨迹的轻量表示。

MEDS 的核心创新是直接复用前向传播时已产生的 layer-wise logits 作为"逻辑特征",几乎不增加额外计算开销。

HDBSCAN 聚类

基于密度的层次聚类算法,能从含噪数据中自动决定簇数量,并将离群点标记为 $C_{noise}$。相比 K-means 不需要预先指定 K,更适合聚类大小未知的错误模式。

MEDS 用 HDBSCAN 在 logit 空间对历史错误样本分组,是实现"按错误模式频次惩罚"的关键工程组件。

Pass@k 指标

对每个问题采样 n 个回答、随机抽 k 个,k 个中至少一个正确即算通过。pass@1 衡量平均表现,pass@128 衡量探索上界。

论文的核心结论同时关注 pass@1(精度)和 pass@128(多样性上界),后者直接体现 MEDS 对探索能力的提升。

研究动机

在大语言模型基于可验证奖励的强化学习(RLVR)训练中,策略常出现典型失败模式——错误坍缩:随训练推进模型反复生成结构高度相似的错误推理轨迹。例如在 Qwen3-1.7B 上跑 GRPO,AIME24 的 pass@1 从基础模型的 22.58 跌到 18.20,跑 DAPO 跌到 13.46,但同任务 pass@128 仍能保持 60+,说明正确答案"采样得到"却被错误模式挤掉。传统 KL 与熵正则化只在当前策略分布层面注入随机性,无法识别"反复犯同一类错"这一历史信号;外部奖励模型方案又带来巨大计算开销难以扩展。

本文的目标是本文提出 MEDS(Memory-Enhanced Dynamic reward Shaping)框架,目标是把"历史错误模式"作为监督信号显式注入奖励函数:对那些属于已出现多次的错误聚类的采样,按聚类规模施加额外惩罚 $\min(\alpha \log(|C_k|+1), \beta)$,迫使策略逃离反复犯错的局部吸引子。作者希望在不引入额外前向模型的前提下,让 RLVR 在 pass@1(精度)和 pass@128(多样性上界)上同时获得提升。

与已有工作不同的是,已有工作大致有三类切入点:其一是 RLVR 内部奖励(GRPO/DAPO)只看当前 batch 答案对错;其二是隐式正则化(KL、熵奖励)只调分布级随机性;其三是 UCB 类历史奖励以及外部模型动态调权方案,前者粒度太粗(只统计结果频次),后者算力代价高。MEDS 的独特切入角度是:复用前向传播已计算的 layer-wise logits 作为推理轨迹的廉价表示,再用 HDBSCAN 在该表示空间上做密度聚类识别细粒度的"错误模式",把聚类规模作为惩罚强度依据,既避免外部模型,又比熵/UCB 类方法更精确地定位反复出现的失败模式。

核心方法

MEDS 的整体思路源自人类学习中对"反复犯同一类错"施加更强心理惩罚的直觉。技术上把这一直觉落地为三层流水线:(A) 对每个 prompt $x$,采样得到响应 $\tilde{y}$,提取响应中"最终答案首个 token"在 Transformer 后半段每一层的 logit 标量 $l^*(n)$,拼接为特征向量 $f(\tilde{y}) \in \mathbb{R}^{N/2}$,$N$ 为层数;(B) 为每个 prompt 维护历史错误记忆 $G_x = \{f(y_1^1), \ldots, f(y_t^b)\}$,用 HDBSCAN 聚成 $K$ 个簇加一个噪声簇 $C_{noise}$;(C) 对新响应 $\tilde{y}$,若其特征 $f(\tilde{y})$ 落入簇 $C_k$,则按 $\min(\alpha \log(|C_k|+1), \beta)$ 削减奖励,更新策略 $p_\theta$。整个机制 on-policy 在线更新,聚类记忆随训练滚动刷新。

和已有方法最本质的区别在于:用 layer-wise logits 这一"免费"的中间表示去捕捉推理模式,再用按聚类规模单调递增的惩罚去打破错误循环。传统熵/KL 正则化只影响"输出分布有多随机",RLVR 奖励只看"答案对不对",UCB 风格方法只看"结果出现频次"——三者都看不到"推理路径是否在重复同一类错误"。MEDS 第一次把"同一推理模式的重复采样"显式编码进奖励函数,且用前向已算的 logits 复用作特征表示,避免了外部 reward model 或反事实推理的开销。理论上作者证明了 Theorem 1:加入 $\lambda c(y)$ 惩罚后更新得到的策略 $q_2$ 满足 $J(q_2) \geq J(q_1)$,期望回报不下降。

方法步骤详情

训练按 4 步循环。步骤 1(采样):用 $p_\theta(\cdot|x)$ 采样 $b$ 条响应($b=16$),记录响应最终答案首个 token $y^*$ 在各层 logit $l^{(n)}_{y^*}$。步骤 2(特征):取后 $N/2$ 层标量 logit 拼接得 $f(\tilde{y}) \in \mathbb{R}^{N/2}$,再 L2 归一化(默认 14 层)。步骤 3(聚类与惩罚):把该 prompt 历史错误响应特征集合 $G_x$ 用 HDBSCAN 聚类(min_cluster_size=2, min_samples=1, Euclidean)得 $K$ 簇;新响应 $\tilde{y}$ 若分到 $C_k$,按 $\tilde{r}(x,\tilde{y}) = r(x,\tilde{y}) - \min(\alpha\log(|C_k|+1), \beta)$ 调整奖励。步骤 4(更新):用塑形奖励在 DAPO 框架下更新 $p_\theta$;$G_x$ 滚动追加本步错误特征。流程嵌在 DAPO 训练循环里,每步多一次 HDBSCAN 拟合。

技术新颖性

技术新颖性集中在三处。第一处是用 layer-wise logits 当推理模式代理:作者通过 case study(图 6)和定量分析(图 5 右)说明,logit 聚类与 Claude-Haiku-4.5 语义标注的一致率达 61.2%,且聚类质量排名(14 > 28 > 14-diff > 28-diff > single cluster)和下游 pass@1 排名高度一致——这说明 logits 真的在编码推理结构而非答案表面。第二处是"按簇规模对偶惩罚"的设计:把记忆、聚类、奖励塑形三件事串成一条流水线,且不依赖任何外部模型,相对 GRPO/DAPO 的额外计算仅来自一次 HDBSCAN 拟合(50 步 8.46 min vs DAPO 8.00 min,约 5% 开销)。第三处是 Theorem 1 的形式化保证:用 $c(y)$ 表示历史重复错误指示,若 $c$ 单调,则在 $r - \lambda c$ 奖励下 $J(q_2) \geq J(q_1)$,为方法提供理论锚点。

Overview of MEDS.
Figure 2: Overview of MEDS.
The logits aggregation process, exemplified by a 3-layer model feature graph.
Figure 3: The logits aggregation process, exemplified by a 3-layer model feature graph.

实验结果

论文在 3 个基座(Qwen3-1.7B、Qwen2.5-Math-7B、Qwen3-8B)× 5 个数学基准上对比 GRPO、DAPO、GRPO+熵奖励、MEDS。表 1 显示 MEDS 在 3 个模型平均 pass@1 与 pass@128 上均居第一:Qwen3-1.7B 52.49/81.76(vs DAPO 46.6/80.29),Qwen2.5-Math-7B 56.47/84.00(vs 55.61/82.85),Qwen3-8B 66.72/84.61(vs 63.11/80.24)。最大单点收益在 Qwen3-8B OlympiadBench,pass@128 从 70.81 提升到 82.67(相对 +17%)。表 2 验证 14 层直接聚合 logit 达 56.47/84.00 最佳;图 5(左)Top-1 Eigen Ratio 在 step 25 后稳定低于 DAPO;图 5(右)14 层聚类与 Claude 标注一致率 61.2%。§4.3 的 LLM 多样性评分显示 MEDS 在 Within-Step 与 Across-Step 上均高于 DAPO。

Main results on five mathematical reasoning benchmarks.
Table 1: Main results on five mathematical reasoning benchmarks.
Comparison of different clustering feature constructions on Qwen2.5-Math-7B.
Table 2: Comparison of different clustering feature constructions on Qwen2.5-Math-7B.
Pass@$k$ across $k\in\{1,2,4,8,16,32,64,128\}$ on five math benchmarks for three model scales.
Figure 4: Pass@$k$ across $k\in\{1,2,4,8,16,32,64,128\}$ on five math benchmarks for three model scales.
(Left) Top-1 eigen ratio over training steps. (Right) Correlation of different logit aggregation strategies on Qwen2.5-Math-7B.
Figure 5: (Left) Top-1 eigen ratio over training steps. (Right) Correlation of different logit aggregation strategies on Qwen2.5-Math-7B.
A case study on clustering 5 responses for a single AIME problem.
Figure 6: A case study on clustering 5 responses for a single AIME problem.
查看结构化数据
任务指标本文基线提升
Qwen3-1.7B 数学推理平均 pass@1 52.49 DAPO 46.60 +5.89
Qwen3-1.7B 数学推理平均 pass@128 81.76 DAPO 80.29 +1.47
Qwen2.5-Math-7B 数学推理平均 pass@1 56.47 DAPO 55.61 +0.86
Qwen2.5-Math-7B 数学推理平均 pass@128 84.00 DAPO 82.85 +1.15
Qwen3-8B 数学推理平均 pass@1 66.72 DAPO 63.11 +3.61
Qwen3-8B 数学推理平均 pass@128 84.61 DAPO 80.24 +4.37
Qwen3-8B OlympiadBench pass@128 82.67 DAPO 70.81 +11.86(相对 +17%)
Qwen3-1.7B AIME24 pass@1 23.65 DAPO 13.46 +10.19

局限与改进

作者在 §6 坦承主要局限是"对 logits 的利用方式仍较朴素",仅做了直接拼接和差分两种聚合,没有尝试更复杂的聚合函数或非线性变换,也没有把 logits 与 token embedding、attention pattern 等其他内层信号结合。从我的观察看,论文至少还有三点值得关注的边界:第一,$\alpha, \beta$ 在 1.7B/7B 上 $(\alpha=0.1, \beta=0.2)$、8B 上 $(\alpha=0.02, \beta=0.04)$ 手工调定,缩放关系对更大模型或不同数据集是否稳健尚未验证;第二,HDBSCAN 在 $|G_x|$ 很小(batch=16、错误样本仅几条)时易把所有点标为 $C_{noise}$,此时惩罚形同虚设,作者并未给出小样本下的退化分析;第三,Theorem 1 的证明依赖 $c(y)$ 单调且仅作为指示函数,但实际 HDBSCAN 簇规模是离散的,理论假设与实现存在 gap,且只证明期望回报不下降,并未证明能加速收敛或逃离局部最优。

独立分析的弱点

从独立视角看,论文有四点可改进之处。其一,$\alpha, \beta$ 是手调的,缺少对它们的消融扫描,Qwen3-8B 上 $\alpha$ 直接降为 1.7B 的 1/5 让人怀疑机制在不同模型上是否需要重新调参,理想做法是给出 $\alpha$ 与奖励方差或聚类熵的自适应规则。其二,HDBSCAN 的超参(min_cluster_size=2, min_samples=1)只在 Qwen2.5-Math-7B 上实验过,对 1.7B/8B 没有再做消融,且当错误样本不足时可能退化为单簇或全噪声,建议增加聚类质量与下游性能的相关性分析。其三,Theorem 1 的证明只考虑"任意 $c(y)>0$ 都单调增加惩罚"这种抽象条件,但实际簇规模是离散整数且更新存在延迟,理论与实现之间缺一段严格对应。其四,case study(图 6)只展示了一个问题,无法判断 logits 聚类在跨问题、多错误类别时是否稳定——建议在附录中扩展到 5–10 个对照样本。

未来方向

作者在结论与 §6 中给出了两个延伸方向:(1) 探索更复杂的 logits 聚合方式,例如把每层 top-k logit 拼接、用 SAE 把 logits 解耦后再聚类,或把 logits 与 attention pattern、hidden state 联合作为特征。我顺着此思路认为还可在三处延伸:(2) 把"错误模式记忆"跨 prompt 共享——目前 $G_x$ 是 per-prompt 的,但很多错误模式(如"枚举时漏掉某些因子")在不同题上重复出现,跨 prompt 共享能进一步压缩参数、加快学习;(3) 把 MEDS 与 process reward model(PRM)结合,让每步 token 都可被聚类,从而做更细粒度的错误定位;(4) 探索"奖励塑形强度的可学习化"——把 $\alpha$ 建模成聚类熵或错误率的函数,避免人工调参。

复现评估

复现友好度较好。代码与训练数据已开源:GitHub https://github.com/Linxi000/MEDS;训练框架基于 verl,prompt 用 Qwen-Math 模板,训练集是 DAPO-Math-17K + MATH level 3-5,batch size=512、每 prompt 16 rollouts、max prompt 1024 token、max response 7168/3072 token;HDBSCAN 参数与 $\alpha, \beta$ 三档取值都已列出。评估用温度 1.0、top-$p$=1.0、随机种子 0、$n=128$ 样本算 pass@k。算力门槛较高:实验在 H200 GPU 上完成,1.7B/7B 实验单卡 A100 80G 即可复现。潜在难点是 logits 提取需 forward 时额外 hook 最后一层 hidden state 与 lm_head;HDBSCAN 数百点单次聚类约几十毫秒(50 步 8.46 min vs DAPO 8.00 min)。