想象一下,你拥有一个无所不能的AI助手,就像神话中的精灵。它能写诗、能编程、能回答你所有的问题。但问题来了,你怎么确保这个精灵总是“听话”,总是做“好”事,而不是偶尔调皮捣蛋,甚至带来麻烦呢?这就是人工智能领域面临的核心挑战之一——AI对齐(Alignment)。我们希望AI的行为能符合人类的价值观和偏好,既乐于助人(Helpful),又安全无害(Harmless)。
近年来,一种名为“基于人类反馈的强化学习”(Reinforcement Learning from Human Feedback, RLHF)的技术成为了驯服这些强大AI模型的主流方法。这个过程有点像训练宠物:首先,我们给AI看一些好的示范(监督微调,SFT);然后,我们让人类评价AI生成的不同回答,哪个更好,哪个稍差,以此训练一个“裁判”模型,也就是奖励模型(Reward Model, RM);最后,AI通过强化学习,不断尝试生成能获得这位“裁判”高分的回答。
这个流程听起来很完美,对吧?但现实往往骨感。这位“裁判”(RM)虽然关键,却常常“眼神不好”。它可能无法完全理解人类复杂多变的喜好,有时甚至会“老眼昏花”,给一些看似不错但实际上有问题的回答打了高分。更糟糕的是,聪明的AI在强化学习过程中,可能会发现“裁判”的评分漏洞,学会“钻空子”,专门生成那些能骗取高分但并不真正符合人类期望的回答——这就是所谓的“奖励过度优化”(Reward Overoptimization)或“奖励黑客”(Reward Hacking)。
那么,我们该如何擦亮“裁判”的眼睛,让它更准确、更稳健地引导AI呢?这就是我们今天要探讨的故事主角——一种名为“基于能量的奖励模型”(Energy-Based Reward Model, EBRM)的新方法。它就像给原本只会打固定分数的裁判,配备了一套更精密的“概率眼镜”,让它不仅能看到分数,还能感知分数背后的“可能性”和“不确定性”。
🤔 奖励模型的困境:标量分数真的够用吗?
在我们深入了解 EBRM 的奥秘之前,让我们先仔细看看传统奖励模型(RM)这位“裁判”到底遇到了哪些麻烦。
RLHF 的三步曲与 RM 的核心地位
RLHF 的流程通常包含三个核心步骤:
- 监督微调 (Supervised Fine-Tuning, SFT):选择一个基础的大语言模型(LLM),用一批高质量的人类示范数据进行微调,让模型初步学会按照指令生成内容。得到模型 \pi_{SFT}。
- 奖励模型训练 (Reward Modeling):这是关键一步。我们收集人类偏好数据,通常是给人类标注员看同一个问题(prompt)的两个或多个AI回答,让他们选出更好的那个。假设我们有数据集 \mathcal{D} = \{(x_i, y_i^+, y_i^-)\}_{i=1}^N,其中 x_i 是提示, y_i^+ 是更受偏好的回答, y_i^- 是不太受偏好的回答。
我们通常基于 \pi_{SFT} 构建奖励模型 r_\varphi(x, y)。具体做法是去掉 \pi_{SFT} 的最后一层(通常是预测下一个词的 unembedding 层),换上一个新的线性层(参数为 \phi),这个层将模型倒数第二层的隐藏状态(我们称之为嵌入 e(x, y) \in R^d)映射到一个标量(单一数值)奖励分数。所以,奖励可以表示为 r_\varphi = \phi^T e(x, y),其中 \varphi 代表模型中所有可学习的参数。
训练的目标是让模型给 y_i^+ 的分数高于 y_i^-。常用的方法是基于 Bradley-Terry 模型,该模型假设 y^+ 比 y^- 更优的概率可以用它们奖励分数的差值通过 Sigmoid 函数来表示:
P(y^+ \succ y^- | x) = \sigma(r_\varphi(x, y^+) - r_\varphi(x, y^-))
其中 \sigma(z) = 1 / (1 + e^{-z}) 是 Sigmoid 函数。训练过程就是最小化以下负对数似然损失函数:
\mathcal{L}(r_\varphi) = -\mathbf{E}_{(x, y^+, y^-) \sim \mathcal{D}}[\log(\sigma(r_\varphi(x, y^+) - r_\varphi(x, y^-)))]
这个公式简单来说,就是让模型尽可能地相信 y^+ 的分数应该比 y^- 高。
- 策略优化 (Policy Optimization):利用训练好的奖励模型 r_\varphi 作为指导,通过强化学习算法(如 PPO, Proximal Policy Optimization)来优化 SFT 模型 \pi_{SFT},得到最终的对齐模型 \pi_{PPO}。优化的目标是最大化期望奖励,同时通常会加入一个 KL 散度惩罚项,防止模型偏离 \pi_{SFT} 太远,保持其生成能力:
\max_{\pi} \mathbb{E}_{x \sim P, y \sim \pi(\cdot|x)} [r_\varphi(y, x) - \beta_{KL} \log[\frac{\pi^{\text{PPO}}(y|x)}{\pi^{\text{init}}(y|x)}]]
其中 \pi^{\text{init}} 通常就是 \pi_{SFT}。
从这个流程可以看出,奖励模型 r_\varphi 的质量直接决定了最终 AI 对齐的效果。它就是那个指挥棒,指引着 AI 前进的方向。
标量奖励的“近视眼”问题
然而,这个指挥棒有时会“指错路”。问题主要出在它输出的标量奖励上。
- 信息损失:人类的偏好是复杂且微妙的。有时我们觉得一个回答“还行”,另一个“稍微好一点”,这种细微差别很难用一个绝对的分数来精确捕捉。将丰富的偏好信息压缩成一个单一数值,本身就可能丢失很多重要的细节和不确定性。比如,对于一个开放性问题,可能有多个不同风格但同样优秀的回答,一个只会打固定分数的裁判很难公平地评价它们。
- 对噪声敏感:人类标注数据本身就可能存在噪声和不一致性。不同的标注员可能有不同的标准,甚至同一个标注员在不同时间也可能做出不同的判断。训练数据中的这些“噪音”可能会误导 RM 的学习,让它学到一些错误的或者过于自信的偏好。
- 泛化能力不足:RM 在训练数据上学到的偏好,不一定能很好地泛化到它没见过的新数据上。特别是在 RL 优化过程中,AI 模型会探索各种新的、可能从未在训练集中出现过的回答方式。RM 面对这些“新奇”的回答,可能会给出不准确的评分。
- 奖励过度优化(Reward Hacking):这是最令人头疼的问题之一。由于 RM 只是人类偏好的一个近似模型,它总会存在一些缺陷或“盲点”。聪明的 AI 在追求高奖励的过程中,可能会发现并利用这些缺陷。例如,RM 可能无意中对更长、更啰嗦或者包含某些特定格式的回答给予了更高的分数,即使这些回答内容质量并不高。AI 就会学着生成这种冗长或特定格式的回答来“骗分”,最终得到的模型虽然奖励分数很高,但实际表现却可能很差,甚至生成有害内容。这就像学生发现了老师评分规则的漏洞,专门写符合规则但不一定高质量的作文来得高分。
现有解决方案及其局限
为了解决这些问题,研究者们提出了不少方法:
- 模型集成 (Ensemble Methods):训练多个 RM,然后将它们的评分进行平均、取最小值(保守策略)或加权(考虑不确定性)。这就像请来一个“裁判团”,综合大家的意见来打分。这种方法确实能提高鲁棒性,但代价高昂——需要训练和维护多个模型,计算开销巨大。
- 贝叶斯方法 (Bayesian Methods):尝试对 RM 的不确定性进行建模,输出一个奖励的分布而不是单点估计。这更接近我们想要的,但通常也需要复杂的训练过程或近似推断。
- 数据平滑/校准 (Data Smoothing/Calibration):尝试在训练后对 RM 的分数进行校准,或者在训练数据层面进行处理,以减轻某些已知的偏见(如长度偏见)。但这需要我们预先知道存在哪些偏见,并且可能无法处理未知的偏见。
这些方法各有千秋,但往往伴随着高昂的计算成本、复杂的实现,或者只能解决特定类型的问题,缺乏普适性。有没有一种更轻量级、更灵活、效果更好的方法呢?
✨ 能量模型的登场:为奖励赋予概率分布
这时候,能量模型(Energy-Based Models, EBMs)闪亮登场了。EBM 提供了一种非常灵活的方式来表示概率分布,而无需像传统概率模型那样强制要求归一化(即所有可能性的概率加起来等于1)。
能量模型是什么?
想象一个物理系统,它倾向于处于能量最低的状态。EBM 的核心思想与此类似。它定义了一个能量函数 f_\theta(x),这个函数给系统(或数据点)x 的每一种可能状态赋予一个标量“能量值”。能量越低,表示该状态越“合理”或越“可能”;能量越高,则越不可能。
一个状态 x 的概率可以通过其能量值转换得到:
p_\theta(x) = \frac{e^{-f_\theta(x)}}{Z_\theta}
(注意:原文中使用 e^{f_\theta(x)}/Z_\theta,这里为了更符合“低能量=高概率”的直觉,用了负号,本质思想一致,只是能量函数定义符号相反。我们遵循原文的 e^{f_\theta(x)}/Z_\theta 定义,即 高能量 = 高概率密度)。
p_\theta(x) = \frac{e^{f_\theta(x)}}{Z_\theta}
其中,Z_\theta = \int e^{f_\theta(x)} dx 是归一化常数(也叫配分函数),它确保所有状态的概率加起来等于1。这个 Z_\theta 通常非常难计算,这也是 EBM 训练的一个挑战。
EBM 的美妙之处在于,我们不需要显式地计算 Z_\theta 也能进行学习和推理。它可以捕捉非常复杂的数据分布。
条件能量模型 (Conditional EBMs)
更进一步,我们可以定义条件能量模型。它不仅考虑 x 本身,还考虑它与某个上下文 y 的关系。条件能量函数 f_\theta(x, y) 衡量的是在给定 y 的条件下,x 的“合理性”或“兼容性”。对应的条件概率为:
p(x | y) \propto e^{f_\theta(x, y)}
(同样,这里的 \propto 表示“正比于”,因为我们忽略了只依赖于 y 的归一化项 Z_\theta(y))。
在我们的场景中,这简直是量身定做!我们可以把 AI 回答的某种表示(比如前面提到的嵌入 e)看作上下文 y,把奖励分数 r 看作我们想评估的状态 x。那么,条件能量模型 f_\theta(e, r) 就可以用来衡量:对于给定的回答嵌入 e,奖励分数 r 有多大概率是“合适的”?
p(r | e) = \frac{\exp(f_\theta(e, r))}{Z_\theta(e)}
这里的 f_\theta(e, r) 是一个由参数 \theta 控制的模型(通常是神经网络),输入是回答的嵌入 e(一个高维向量)和奖励 r(一个标量),输出一个标量能量值。能量值越高,表示在 e 这个语境下,r 这个奖励分数越“靠谱”。
EBRM 的核心思想:给 RM 加个“能量滤镜”
现在,EBRM 的核心思想就清晰了:我们不打算重新训练一个庞大而昂贵的 RM,也不想搞复杂的模型集成。我们要做的是,在一个已经训练好的、现成的基础奖励模型(Base RM)之上,加装一个轻量级的条件能量模型(EBM)。
这个 EBM 并不直接处理原始的文本输入输出,而是利用 Base RM 内部的信息——具体来说,是 Base RM 在计算最终标量奖励之前的那个嵌入层 e(x, y)。EBM 的任务就是学习这个嵌入 e 和它对应的“合理”奖励 r 之间的关系,即学习 p(r|e) 这个条件概率分布。

(图注:上图来自原论文 Figure 1。左边是标准的 RM,从嵌入 e 计算出标量奖励 r。右边展示了 EBRM 如何在标准 RM 之上集成一个 EBM f_\theta(e, r),该 EBM 对给定嵌入 e 的奖励 r 的条件分布 p(r|e) 进行建模。在推理时,EBRM 通过迭代优化 r 来最大化 f_\theta(e, r),从而精炼奖励分数。)
你可以把这个 EBM 想象成一个“能量滤镜”或者“置信度评估器”。Base RM 给出一个初步的奖励分数 r_0,然后 EBM 会根据回答的嵌入 e 来判断:这个 r_0 靠谱吗?有没有其他更靠谱的分数?通过 EBM,我们可以得到一个关于奖励 r 的概率分布,而不是一个冷冰冰的标量。这个分布包含了更丰富的信息,比如最可能的分数是多少,分数的置信区间有多宽等等。
最重要的是,这个 EBM 是事后(post-hoc)添加的,并且非常轻量级(参数量大约只有 Base RM 的 3%)。这意味着它可以作为一个“即插即用”的增强模块,方便地集成到现有的 RLHF 流程中,而不需要对 Base RM 进行任何重新训练。这大大降低了应用门槛和计算成本。
🛠️ 构建EBRM:从数据到训练的精妙设计
那么,这个神奇的 EBM “能量滤镜”具体是如何构建和训练的呢?这里面有几个巧妙的设计。
🧩 第一步:构建代理奖励数据集
训练 EBM 需要数据,理想情况下是大量的 (e, r) 对,其中 e 是回答嵌入,r 是“真实”的奖励分数。但我们通常只有人类的成对偏好数据 (x, y^+, y^-),并没有连续的“真实”奖励值。怎么办?
EBRM 的第一个妙招是:利用 Base RM 自己来生成代理(proxy)奖励分数。
对于偏好数据集 \mathcal{D} 中的每一个样本 (x_i, y_i^+, y_i^-),我们用 Base RM r_\varphi 计算出对应的奖励分数:
r_i^+ = r_\varphi(x, y^+)
r_i^- = r_\varphi(x, y^-)
这样,我们就得到了 (e(x_i, y_i^+), r_i^+) 和 (e(x_i, y_i^-), r_i^-) 这样的数据对。
但是,别忘了 Base RM 本身可能就是“眼神不好”的。它有时会给人类不喜欢的回答 y_i^- 打出比喜欢的 y_i^+ 更高的分数。如果用这些错误的数据来训练 EBM,岂不是在“教坏”它?
所以,EBRM 采取了冲突感知的数据过滤(conflict-aware data filtering)策略:只保留那些 Base RM 的评分与人类偏好一致的样本。也就是说,如果 r_\varphi(x, y^+) < r_\varphi(x, y^-),那么这个样本对 (x_i, y_i^+, y_i^-) 就被丢弃。
这个过滤步骤大约会移除 25% 的数据,但它确保了 EBM 的训练信号更加“干净”,减少了来自 Base RM 自身错误的干扰。最终,我们得到一个过滤后的数据集 \mathcal{D}',包含了形如 (e, r) 的数据对,其中 e 是 Base RM 的嵌入,r 是 Base RM 预测的、且与人类偏好基本一致的奖励分数。
虽然这些 r 并非“黄金标准”的真实奖励,但它们为 EBM 的训练提供了宝贵的连续信号。不过,这些 r 仍然可能包含来自 Base RM 的固有噪声,这一点我们将在训练方法中解决。
🏋️ 第二步:标签噪声感知的对比训练 (NCE+)
有了数据集 \mathcal{D}' = \{(e_i, r_i)\}_{i=1}^{N'},我们如何训练能量函数 f_\theta(e, r) 来学习 p(r|e) 呢?
直接最大化对数似然 \log p(r|e) 是一个选择,但这需要计算或近似那个讨厌的归一化常数 Z_\theta(e)。研究者们发现,在实践中这样做可能导致训练不稳定或效果不佳。
于是,他们转向了噪声对比估计(Noise-Contrastive Estimation, NCE)。NCE 的核心思想很巧妙:它把密度估计问题转化为了一个二元分类问题。我们不去直接学习 p(r|e),而是学习区分“真实”数据 (e_i, r_i) 和我们人为制造的“噪声”数据。
具体来说,对于每个真实的 (e_i, r_i),我们从某个已知的噪声分布 p_N(r|r_i) 中采样一些“负样本”奖励 r_{neg}。然后,训练模型 f_\theta 来区分 (e_i, r_i) 和 (e_i, r_{neg})。在 EBRM 中,这个噪声分布被选为以观测到的奖励 r_i 为中心的高斯分布:
p_N(r | r_i) = \mathcal{N}(r; r_i, \sigma^2)
其中 \sigma^2 是预设的方差。
然而,标准的 NCE 假设我们观察到的 (e_i, r_i) 是完全准确的“正样本”。但我们知道,数据集 \mathcal{D}' 中的 r_i 是来自可能有噪声的 Base RM。直接把它们当作完美标签可能并不合适。
这里,EBRM 采用了 NCE 的一个改进版本——NCE+,它专门用来处理标签噪声。NCE+ 不再假设 r_i 是绝对正确的,而是认为它只是真实奖励的一个不确定的观测值。
为了体现这种不确定性,NCE+ 在处理“正样本”时引入了额外的噪声。具体做法是:从另一个零均值的高斯噪声分布 p_\beta(\nu) = \mathcal{N}(0, \beta\sigma^2) 中采样一个偏移量 \nu_i,然后构造一个“带噪声的正样本” r_i^{(0)} = r_i + \nu_i。这里的 \beta 是一个超参数,控制了我们对 r_i 不确定性的容忍程度。
现在,训练的目标变成了让模型区分这个带噪声的正样本 r_i^{(0)} 和 M 个从 p_N(r|r_i) 中采样的负样本 \{r_i^{(m)}\}_{m=1}^M。使用的损失函数是对比损失(Contrastive Loss):
\mathbb{L}(\theta) = -\frac{1}{n}\sum_{i=1}^{n}\log\frac{\exp(f_\theta(e_i, r_i^{(0)}) - \log p_N(r_i^{(0)} | r_i))}{\sum_{m=0}^{M}\exp(f_\theta(e_i, r_i^{(m)}) - \log p_N(r_i^{(m)} | r_i))}
这个复杂的公式本质上是在说:对于每个样本 i,我们希望模型赋予“带噪声的正样本” r_i^{(0)} 的能量(考虑其从噪声分布中出现的概率进行修正后)尽可能高,而赋予所有负样本 r_i^{(m)} (m=1 to M) 的能量尽可能低。
这种标签噪声感知的对比训练(label-noise-aware contrastive training)方法有两大好处:
- 对比学习:通过区分正负样本,EBM 被迫学习到一个有意义的能量“地形图”——在合理的 (e, r) 区域形成低谷(高能量),在不合理的区域形成高峰(低能量)。
- 噪声容忍:通过对正样本 r_i 添加扰动 \nu_i,模型学会了不要对 Base RM 给出的单一分数 r_i 过度自信,而是要在一个小的邻域内都能保持较高的能量,从而更好地适应 r_i 中可能存在的噪声。
整个训练过程如算法 1 所述:
Algorithm 1: EBRM 训练
输入: 过滤后的数据集 D', 批大小 K, 负样本数量 M, 训练轮数 E, 噪声分布 p_N 和 p_β, 学习率 γ
输出: 训练好的能量模型 f_θ(e, r)
for epoch = 1 to E do
从 D' 中采样一批数据 {(e_i, r_i)}_{i=1}^K (注意原文用 r_i+, 这里简化为 r_i)
for i = 1 to K do
采样 ν_i ~ p_β(ν) (如 Eq. 6)
设置带噪声的正样本 r_i^(0) = r_i + ν_i
从 p_N(r | r_i) (如 Eq. 5) 中采样 M 个负样本 {r_i^(m)}_{m=1}^M
end for
计算 NCE+ 损失 L(θ) (如 Eq. 7)
更新参数 θ ← θ - γ * ∇_θ(L)
end for
通过这样的设计,EBRM 能够学习到一个既能反映数据模式,又能容忍标签噪声的能量函数,为后续的奖励精炼打下了坚实的基础。
💡 推理与优化:能量引导的奖励精炼
训练好了能量模型 f_\theta(e, r),我们如何在实际应用中用它来改进 Base RM 的奖励呢?这个过程被称为推理(Inference)或预测(Prediction)。
当我们需要评估一个新的提示-回答对 (x^*, y^*) 时,流程如下:
获取基础信息:首先,我们还是用 Base RM 计算出原始的奖励分数 r_0 = r_\varphi(x^*, y^*) 和对应的嵌入 e^* = e(x^*, y^*)。
混合初始化 (Hybrid Initialization):接下来,我们需要为 EBM 的优化过程选择一个初始奖励值 r_{init}。这里 EBRM 采用了一种混合策略:
- 如果 Base RM 给出的 r_0 在一个“合理”的范围内(比如,根据经验设定为 [-c, c],论文中 c=2),那么就信任 r_0,令 r_{init} = r_0。
- 如果 r_0 超出了这个范围(说明 Base RM 可能给出了一个非常离谱的分数),那么就在 [-c, c] 范围内随机选择一个值作为 r_{init}。
这种混合初始化策略旨在利用 Base RM 的先验知识(当它看起来靠谱时),同时避免被其极端错误的预测所束缚。
能量引导的更新 (Energy-Guided Update):有了初始值 r_{init} 和固定的嵌入 e^*,我们现在的目标是找到一个奖励值 r^*,使得能量 f_\theta(e^*, r^*) 最大化。这相当于在给定回答嵌入 e^* 的条件下,寻找最可能的奖励分数 r^*。
实现这一目标的方法是梯度上升(Gradient Ascent)。我们从 r_{init} 开始,沿着能量函数 f_\theta(e^*, r) 对 r 的梯度方向进行迭代更新:
r \leftarrow r + \lambda \nabla_r f_\theta(e^*, r)
其中 \lambda 是学习率(步长)。这个过程就像在一个能量山坡上往上爬,试图找到山顶。
为了确保收敛,如果某一步更新没能让能量值 f_\theta(e^*, r) 增加,就缩小步长 \lambda(比如乘以一个衰减因子 \eta < 1)。这个迭代过程会进行一定的步数(比如最多 50 步),最终得到的 r 就是我们精炼后的奖励分数 r^*。
整个推理过程如算法 2 所示:
Algorithm 2: EBRM 推理
输入: 学习率 λ, 衰减因子 η, 最大迭代次数 max_iters, 嵌入 e*
输出: 最大化 f_θ(e*, r) 的奖励 r*
初始化 r (使用混合初始化策略)
令 r* = r
for iteration = 1 to max_iters do
计算梯度 g = ∇_r f_θ(e*, r)
更新 r_new ← r + λ * g
if f_θ(e*, r_new) > f_θ(e*, r*) then
r* = r_new
r = r_new
else
// 如果能量没有提升,减小学习率
λ = η * λ
end if
// (原文算法似乎有点歧义,这里根据描述意图调整:应该更新 r 并比较 r_new 和 r* 的能量)
// 修正后的逻辑:
// r ← r + λ * ∇_r f_θ(e*, r)
// if f_θ(e*, r) > f_θ(e*, r_prev_best) then
// r_prev_best = r
// else
// λ = η * λ
// end if
// (以原文算法为准,它似乎是比较当前 r 和历史最优 r* 的能量)
end for
return r*
通过这个能量引导的优化过程,EBRM 能够将 Base RM 可能存在噪声或偏差的初始奖励 r_0,修正为一个在学习到的能量分布上更合理、更可信的奖励分数 r^*。这个 r^* 随后可以用于 RLHF 的策略优化阶段,以期获得更好的对齐效果。
🧐 EBRM 为何有效:鲁棒性与不确定性捕捉
我们已经了解了 EBRM 的构建和工作原理,但它为什么能比传统的标量 RM 表现更好呢?关键在于它处理噪声和不确定性的方式。
💪 提升鲁棒性:对抗噪声与过度拟合
传统的标量 RM 在面对嘈杂的人类标注数据时,可能会学到一些虚假的模式,或者对某些特征(比如回答长度)产生过度依赖,导致泛化能力差,容易被“奖励黑客”攻击。EBRM 通过以下机制提高了鲁棒性:
- 冲突感知的数据过滤:在训练开始前就剔除了那些 Base RM 评分与人类偏好明显冲突的数据,保证了 EBM 学习的起点更可靠。
- 标签噪声感知的训练 (NCE+):通过给“正样本”奖励 r_i 添加扰动 \nu_i,EBM 学会了不要死板地拟合 Base RM 给出的每一个分数,而是要在一个小范围内都认为它们是合理的。这相当于对奖励函数进行了一种平滑,降低了对单一、可能有噪声的 r_i 的敏感度。
- 对比学习:通过与负样本进行对比,EBM 不仅学习哪些 (e, r) 对是好的,还学习了哪些是不好的。这有助于模型建立更清晰的决策边界,防止它对训练数据中的特定模式过度拟合。
能量景观的演变与修正能力
(图注:上图来自原论文 Figure 2。 (a) 展示了在一个 AlpacaFarm 数据样本上,EBRM 的能量景观(负能量)在训练过程中的演变。随着训练进行,能量景观在标注奖励周围变得越来越“尖锐”(能量更低)。(b) 和 (c) 展示了 RewardBench 数据集上的两个测试案例。(b) 中,Base RM 错误地排序了两个回答(红色 Rejected 分数高于蓝色 Chosen),而 EBRM 通过其学习到的能量函数修正了这个错误。(c) 中,两个模型都正确地给 Chosen 回答赋予了更高的奖励。)
图 2(a) 生动地展示了训练过程中能量景观的变化。负样本(来自 p_N(r|r_i))迫使模型区分合理与不合理的奖励,使得能量函数在“真实”奖励周围形成一个尖锐的峰(高能量,低负能量),同时抑制其他区域的能量。
图 2(b) 则显示了 EBRM 在实践中的修正能力。即使 Base RM 给出了错误的排序,EBRM 也能利用它学习到的更全局、更鲁棒的 (e, r) 兼容性知识,通过能量引导的优化过程,找到一个更合理的奖励分数,从而可能纠正 Base RM 的错误判断。图 2(c) 表明,当 Base RM 本身判断正确时,EBRM 通常也能保持一致,不会破坏原有的正确排序。
🧭 捕捉不确定性:感知偏好的模糊度
人类偏好并非总是非黑即白。在某些任务中,比如开放式聊天(Chat),什么样的回答算“好”可能非常主观和模糊。而在另一些任务中,比如安全(Safety)或推理(Reasoning),对错标准可能就清晰得多。一个优秀的奖励模型应该能感知到这种差异。
EBRM 通过学习奖励分布的形状来捕捉这种不确定性:
- 模糊任务(如 Chat):在这些任务中,相似的回答嵌入 e 可能对应着范围较广的、都被认为是可接受的奖励 r。由于训练数据中存在这种多样性,并且 NCE+ 训练允许正样本在一定范围内波动,EBM 会学习到一个相对扁平(Platykurtic)、方差较大(High Variance)的能量景观。这意味着模型对于一个给定的 e,认为一个较宽范围内的 r 都是比较可能的,反映了偏好的模糊性。
- 清晰任务(如 Safety, Reasoning):在这些任务中,相似的 e 通常对应着非常集中的奖励 r。即使训练中也加入了噪声,但整体数据结构显示只有一个狭窄的奖励区间是有效的。因此,EBM 会学习到一个尖锐(Leptokurtic)、方差较小(Low Variance)的能量景观。这意味着模型对正确的奖励值非常有信心,对偏离这个值的奖励会给予显著更低的能量(概率),反映了偏好的确定性。
这种能力不是预设的,而是 EBM 从整个数据集的奖励模式中学习到的。它通过观察大量 (e, r) 对的分布规律,自动调整其能量函数的形状来匹配不同任务的内在不确定性。
原论文通过计算不同任务子集上奖励分布的方差(Variance)和峰度(Kurtosis)来验证了这一点(见原论文 Table 1)。峰度值大于 3 表示比正态分布更尖锐(Leptokurtic),小于 3 表示更扁平(Platykurtic)。结果显示:
任务类型 | 平均方差 | 标准差方差 | 平均峰度 | 标准差峰度 | 峰度类型 |
Chat | 3.14 | 1.33 | 2.56 | 0.56 | Platykurtic (扁平) |
Chat Hard | 1.18 | 0.54 | 3.90 | 0.65 | Leptokurtic (尖锐) |
Safety | 1.86 | 0.82 | 3.15 | 0.41 | Mesokurtic (接近正态) |
Reasoning | 1.58 | 0.24 | 3.34 | 0.16 | Leptokurtic (尖锐) |
(表格改编自原论文 Table 1,展示了在 RewardBench 数据集不同任务子集上,对偏好回答的奖励分布统计特性。)

(图注:上图来自原论文 Figure 7 (Appendix E)。展示了来自 RewardBench 四个任务的代表性样本的能量景观(已中心化,峰值对齐在(0,0))。可以看出不同任务对应的奖励分布形状差异,反映了 EBRM 捕捉不确定性的能力。例如,Chat 任务的曲线可能相对更宽平,而 Safety 或 Reasoning 任务的曲线可能更尖锐。)
这些结果支持了 EBRM 能够根据任务特性自适应地调整其对奖励不确定性的建模,这是传统标量 RM 难以做到的。
📊 实证检验:基准测试与强化学习效果
理论分析和直观解释固然重要,但 EBRM 的真正价值还需要通过严格的实验来证明。研究者们在一系列基准测试和模拟 RLHF 实验中,将 EBRM 与 Base RM 以及几种集成方法进行了比较。
🏆 奖励模型基准测试
研究者们使用了两个流行的 RM 评估基准:
- Reward Model Benchmark (RMB):评估 RM 在“无害性”(Harmlessness)和“有用性”(Helpfulness)两大类共 49 个真实世界任务上的表现。它包含两种评估方式:
- Pairwise Accuracy:判断 RM 能否正确区分一对回答中哪个更好。
- Best-of-N (BoN) Accuracy:在一组 N 个回答中,RM 能否将最好的那个排在最前面。
- RewardBench:评估 RM 在四个成对偏好任务上的表现:聊天(chat)、困难聊天(chat-hard)、安全(safety)和推理(reasoning)。
实验中使用的 Base RM 是基于 70M 参数的 Pythia 模型(在 AlpacaFarm 数据集上 SFT 后修改得到),而 EBRM 的 EBM 部分参数量约为 Base RM 的 3%。对比的基线包括:
- Base RM:标准的 70M 参数 RM。
- Ensemble Mean (ENS Mean):3 个 Base RM 评分的平均值。
- Ensemble Worst-Case Optimization (Ens WCO):3 个 Base RM 评分的最小值。
- Ensemble Uncertainty-Weighted Optimization (ENS UWO):对平均分进行惩罚,惩罚项与 3 个 RM 评分的方差成正比。
结果亮点:
RMB 结果 (Table 2):EBRM 在所有类别上都显著优于 Base RM。尤其在无害性方面,Pairwise 准确率提升了 5.97%,BoN 准确率提升了 2.64%。在有用性方面也有提升。同时,EBRM 也全面超越了所有集成方法。虽然 WCO 和 UWO 在无害性上有所改善,但它们过于保守,损害了在有用性上的表现。EBRM 则在两者之间取得了更好的平衡。
方法 | Harmlessness (Pairwise) | Harmlessness (BoN) | Helpfulness (Pairwise) | Helpfulness (BoN) | 平均 |
Base RM | 52.14 | 36.75 | 48.64 | 33.11 | 42.66 |
ENS Mean | 52.41 | 35.48 | 48.29 | 31.39 | 41.89 |
Ens WCO | 53.48 | 36.59 | 45.41 | 28.95 | 41.11 |
ENS UWO | 52.86 | 35.50 | 47.15 | 30.94 | 41.61 |
EBRM (Ours) | 58.11 | 39.39 | 52.97 | 33.44 | 45.98 |
(表格改编自原论文 Table 2,显示在 RMB 上的胜率 (%)。)
RewardBench 结果 (Table 3):EBRM 在 chat-hard, safety, reasoning 任务上均优于 Base RM 和所有集成基线。在 chat 任务上略有下降,研究者指出这在其他类似研究中也观察到过,可能是因为 chat 任务的高度主观性和模糊性,使得基于分布的方法难以找到清晰的改进信号。尽管如此,EBRM 的平均胜率仍然是最高的 (56.16%)。
方法 | chat | chat-hard | safety | Reasoning | 平均 |
Base RM | 81.01 | 31.03 | 40.89 | 67.47 | 55.10 |
ENS Mean | 82.96 | 31.69 | 41.12 | 64.45 | 55.06 |
Ens WCO | 82.40 | 31.91 | 41.77 | 63.75 | 54.96 |
ENS UWO | 82.96 | 31.47 | 41.17 | 65.32 | 55.23 |
EBRM (Ours) | 78.21 | 35.53 | 42.43 | 68.47 | 56.16 |
(表格改编自原论文 Table 3,显示在 RewardBench 上的胜率 (%)。)
这些结果表明,EBRM 确实能够有效提升奖励模型的准确性和鲁棒性,尤其是在区分细微差别和处理安全相关的关键任务上。
⏱️ 成本比较
EBRM 的 EBM 部分训练非常快,只需要大约 465 秒(在论文的实验设置下)。在推理时,由于需要进行梯度上升优化(最多 50 步),EBRM 比 Base RM 慢,但仍然比需要运行多个模型的集成方法要快。
方法 | 参数量 | 推理时间 (秒/批) |
Base RM | 44 M | 21.88 |
ENS | 132 M (3x) | 64.63 |
EBRM | 44+1 M | 42.50 |
(表格改编自原论文 Table 7,比较了参数量和在 RewardBench 测试集上的推理时间,批大小为 32。)
EBRM 以相对较小的推理开销和极低的额外参数量,换来了显著的性能提升,显示出良好的实用性。
🚀 强化学习实验
最终的考验是看 EBRM 能否在 RLHF 的策略优化阶段带来实际好处。研究者们使用 PPO 算法进行了 3000 步的对齐训练,比较了使用不同奖励信号(Base RM, ENS Mean, ENS WCO, ENS UWO, EBRM)时的效果。他们使用一个更强大的“黄金”RM(Gold RM,基于 7B 参数模型)来评估训练过程中模型生成的回答的真实质量(称为 Gold Score)。
PPO 训练效果对比
(图注:上图来自原论文 Figure 3。展示了在不同 KL 惩罚系数 \beta_{KL} 下,使用不同奖励模型进行 PPO 训练时的 Gold Score 变化。红线代表 EBRM。点表示实际得分,实线是平滑趋势。)
结果非常引人注目 (Figure 3):
- 更高的峰值性能:在所有测试的 KL 惩罚设置下(\beta_{KL}=0.0, 0.01, 0.1),使用 EBRM 作为奖励信号的 PPO 训练都达到了最高的 Gold Score。这意味着 EBRM 引导模型学习到了更符合(黄金 RM 所代表的)真实人类偏好的策略。
- 延迟奖励黑客:虽然所有方法最终都可能出现奖励过拟合(即模型自己的 RM 分数持续上升,但 Gold Score 开始下降或停滞),但使用 EBRM 的训练显著延迟了奖励黑客现象的发生。这表明 EBRM 提供的奖励信号更可靠、更稳定,不易被 RL 智能体利用其虚假信号。
- 优于集成方法:相比之下,集成方法(尤其是保守的 WCO 和 UWO)更容易出现早期的奖励黑客,并且达到的绝对 Gold Score 也较低。这表明过于保守的奖励聚合可能反而阻碍了有效的策略学习。
这些 RL 实验结果强有力地证明了 EBRM 不仅在静态评估中表现出色,而且能在动态的 RLHF 流程中转化为实实在在的对齐质量提升。
📈 可扩展性
研究者们还在附录 C 中报告了将 EBRM 应用于更大规模的 Base RM(如 1.3B, 2.6B Pythia 模型,甚至 8B 的 Skywork 模型)上的结果。结果显示,EBRM 在这些更大的模型上也同样能带来性能提升,证明了该方法具有良好的可扩展性。
💡 未来展望与伦理考量
能量模型奖励模型(EBRM)为提升大语言模型对齐的鲁棒性和泛化能力提供了一条富有前景的新路径。它巧妙地利用了能量模型的灵活性来捕捉奖励的概率分布,并通过一系列精心设计(冲突感知过滤、噪声对比训练、混合初始化、能量引导优化),以一种轻量级、即插即用的方式显著增强了现有奖励模型的性能。
核心优势总结:
- 性能提升:在多个基准测试中超越了标准 RM 和集成方法,尤其在安全关键任务上。
- 鲁棒性增强:对噪声数据更不敏感,能有效缓解奖励过度优化问题。
- 捕捉不确定性:能够根据任务特性学习奖励分布的形状,反映偏好的模糊度。
- 计算高效:作为 post-hoc 方法,无需重训 Base RM,EBM 本身参数少、训练快,推理开销适中。
- 可扩展性好:在不同大小的 RM 上均验证了有效性。
未来方向:
- 虽然 EBRM 是 post-hoc 应用,但研究者也提到,未来或许可以探索直接从头开始训练 EBM 作为奖励模型的方法(可能需要近似计算 P(i \succ j))。
- 可以进一步研究 EBM 架构、训练策略(如不同的噪声选择、对比损失形式)以及与其他对齐技术的结合。
伦理考量:
这项工作本身专注于改进奖励模型的鲁棒性,旨在促进更安全、更值得信赖的 AI 发展,不直接引发新的伦理问题。但需要认识到,任何基于人类偏好数据训练的模型(包括 EBRM 所依赖的 Base RM 和用于训练 EBM 的代理奖励)都可能继承和放大原始数据中存在的偏见(如文化偏见、群体刻板印象等)。因此,即使使用了 EBRM 这样的先进技术,对最终对齐模型的行为进行持续的、多维度的评估和验证仍然至关重要。
总而言之,EBRM 如同一种新颖的“炼金术”,它没有试图凭空创造黄金(完美的奖励信号),而是找到了一种方法,将现有奖励模型这块“凡铁”中蕴含的价值,通过能量模型的“催化”和“精炼”,提炼出更接近纯金(真实人类偏好)的物质。这为我们构建更可靠、更符合人类意图的 AI 系统,迈出了坚实而巧妙的一步。
参考文献 (References):
- Ouyang, L., Wu, J., Jiang, X., Almeida, D., Wainwright, C., Mishkin, P., ... & Lowe, R. (2022). Training language models to follow instructions with human feedback. Advances in neural information processing systems, 35, 27730-27744. ( foundational RLHF paper)
- LeCun, Y., Chopra, S., Hadsell, R., Ranzato, M., & Huang, F. (2006). A tutorial on energy-based learning. Predicting structured data, 1(0). ( foundational EBM paper)
- Coste, T., Anwar, U., Kirk, R., & Krueger, D. (2024). Reward model ensembles help mitigate overoptimization. The Twelfth International Conference on Learning Representations. (Key comparison paper on ensembles, used in EBRM experiments)
- Lambert, N., Pyatkin, V., Morrison, J., Miranda, L. J., Lin, B. Y., Chandu, K. R., ... & Hajishirzi, H. (2024). Rewardbench: Evaluating reward models for language modeling. arXiv preprint arXiv:2403.13787. (RewardBench benchmark paper)
- Zhou, E., Zheng, G., Wang, B., Xi, Z., Dou, S., Bao, R., ... & Mou, Y. (2024). Rmb: Comprehensively benchmarking reward models in llm alignment. arXiv preprint arXiv:2410.09893. (RMB benchmark paper)