引言

在当今的生成式AI时代,训练一个大语言模型 (LLM) 说一口流利的英语实际上已是一个被解决的问题。前沿领域已经从能力转向了对齐 。 我们不仅希望模型能写作;我们希望模型的写作符合人类的价值观——即做到有益、无害且诚实 (HHH) 。

实现这一目标的行业标准是基于人类反馈的强化学习 (RLHF) 。 这项技术使用“奖励模型”作为人类判断的代理来微调模型。把奖励模型想象成一位法官: 如果法官眼光独到且价值观明确,AI就能学会良好表现。如果法官感到困惑、前后不一或容易被欺骗,AI就会学到错误的教训。

复旦大学最近的一篇论文指出了当前奖励模型的一个关键缺陷: 它们难以区分好坏回答之间的细微差别。它们往往依赖“简单特征” (捷径) ,而不是深入理解人类的意图。为了解决这个问题,研究人员建议在训练过程中整合对比学习

在这篇文章中,我们将解构他们的方法。我们将探索添加无监督对比损失如何帮助奖励模型在其内部表示中“拉开”好坏回答的距离,从而产生更安全、更有帮助,且令人惊讶地在训练中更稳定的AI智能体。

背景: RLHF 流程

要理解这篇论文的贡献,首先需要了解标准的RLHF流程,特别是奖励模型 (RM) 的作用。RLHF通常包含三个阶段:

  1. 监督微调 (SFT) : 模型在高质量的指令-响应对上进行训练,学习基本的交互格式。
  2. 奖励建模: 训练一个单独的模型,根据人类偏好数据对回答进行打分。
  3. 强化学习 (PPO) : 语言模型利用奖励模型的分数来优化其策略。

这篇论文完全专注于改进第2阶段: 奖励建模

标准奖励模型

在标准设置中,人类标注员会收到一个提示词 \(x\) 和两个模型生成的回答 \(y_1\) 和 \(y_2\)。标注员选出获胜者。我们称被选中的回答为 \(y_c\),被拒绝的回答为 \(y_r\)。

奖励模型 (通常从SFT模型初始化而来) 被训练为对任何给定的输入输出一个标量分数 \(r(x, y)\)。目标很简单: 确保被选中的回答分数高于被拒绝的回答分数。

在数学上,这使用Bradley-Terry模型来估计 \(y_c\) 优于 \(y_r\) 的概率:

Probability equation for preference estimation.

这里,\(\sigma\) 是逻辑 (sigmoid) 函数。如果被选中的回答的奖励 \(r_{\psi}(x, y_c)\) 远高于被拒绝的回答,概率就会趋近于1。

为了训练这个模型,我们最小化负对数似然损失:

Loss function for standard reward modeling.

这个损失函数本质上是在告诉模型: “最大化被选中分数的与被拒绝分数之间的差距。”

问题所在: 模糊不清的中间地带

虽然上面的数学逻辑很严密,但高维神经网络的现实情况却更加混乱。研究人员发现,标准的排序损失 (公式1) 有一个局限性。它只关心相对排名。它并不一定强迫模型学习出能在语义上区分“好”与“坏”的独特、鲁棒的特征。

作者使用t-SNE (一种将高维数据可视化为2D的技术) 可视化了标准奖励模型的内部特征表示。

t-SNE visualization comparing baseline feature distribution versus SimCSE distribution.

看一看图1左侧的图( Baseline )。蓝点 (被选中的回答) 和红点 (被拒绝的回答) 混杂在一起。存在显著的重叠。这意味着模型内部对什么是好、什么是坏的“理解”是模糊的。它难以在特征空间中区分这两个类别。

当特征重叠如此严重时,模型很可能依赖噪声或肤浅的相关性来做决定。这导致模型在面对新的、未见过的提示词时泛化能力很差。

核心方法: 对比学习

研究人员提出了一种从计算机视觉和无监督学习领域引入的解决方案: 对比学习

对比学习的核心直觉是几何学层面的: 我们要构建一个向量空间,使得“相似”的事物被拉近,“不相似”的事物被推远。

通过在标准排序损失中加入对比损失,研究人员旨在迫使奖励模型学习出能清晰分离“被选中”和“被拒绝”回答的嵌入 (Embeddings) ——正如上文图1右侧图所示。

论文为此任务介绍了两种截然不同的对比学习方式: SimCSE (基于实例) 和 SwAV (基于聚类) 。

1. 构建对比数据

在应用算法之前,我们需要决定对比什么。作者提出了两种数据表示策略。

单一表示对 (Single Representation Pairs)

这是标准方法。我们直接取回答的隐藏状态 \(h\)。我们将特定输入的表示视为“锚点”,并将其增强版本视为“正例”。

差分表示对 (Difference Representation Pairs, 新颖贡献)

作者引入了一个巧妙的创新。他们不仅仅嵌入回答 \(y\),而是计算被选中特征与被拒绝特征之间的差值 :

\[h_{diff} = f(x, y_c) - f(x, y_r)\]

这个向量明确地代表了质量的“增量”——即让人类更喜欢其中一个的具体特征。通过对这些差分向量应用对比学习,模型专注于偏好因素本身。

2. 方法A: SimCSE (基于实例)

SimCSE (句向量的简单对比学习) 是一种不需要外部标签的无监督方法。它使用“Dropout”作为数据增强技术。

在Transformer模型中,“Dropout”会在训练期间随机关闭神经元以防止过拟合。如果你在启用Dropout的情况下将完全相同的句子输入模型两次,你会得到两个略微不同的嵌入向量。

SimCSE将这两个向量视为正样本对 (它们应该很接近) 。它将批次中的任何其他句子视为负样本对 (它们应该相距很远) 。

SimCSE的损失函数为:

SimCSE loss equation.

让我们拆解一下:

  • 分子计算同一实例的两个增强版本 (\(h_s\) 和 \(h_t\)) 之间的余弦相似度 (\(\text{sim}\)) 。我们希望这个值很高。
  • 分母是对我们的实例与批次中所有其他实例之间相似度的求和。我们希望这个值很低。
  • \(\tau\) 是一个温度参数,用于控制概率分布的尖锐程度。

通过最小化这个损失,奖励模型学会了在对微小噪声 (dropout) 保持鲁棒的同时,区分不同的实例。

3. 方法B: SwAV (基于聚类)

探索的第二种方法是 SwAV (视图间交换分配) 。 与比较单个实例的SimCSE不同,SwAV比较的是聚类

其想法是将数据聚类为 \(K\) 个原型 (或质心) 。如果我们有同一图像 (或文本) 的两个增强视图,它们应该属于同一个聚类。

SwAV计算一个视图的“代码” \(q\) (聚类分配) ,并尝试使用另一个视图的特征表示来预测该代码。它创建了一个“交换”预测任务。

总损失结合了两个方向的预测误差:

SwAV total loss equation.

具体的损失项使用聚类分配 \(q\) 和预测概率 \(p\) 之间的交叉熵:

Detailed SwAV loss components showing probability calculation.

这里,\(c_k\) 代表原型向量 (聚类的中心) 。模型在训练期间学习这些原型。这种方法鼓励模型在数据中找到语义分组 (例如,将所有“礼貌拒绝”归为一组,将所有“有毒爆发”归为一组) ,并将新输入一致地映射到这些概念上。

总优化目标

最终的训练目标是混合的。我们不抛弃原始目标 (排序) ;我们只是添加对比任务作为正则化项。

\[ \mathcal{L}_{total} = \mathcal{L}_{rm} + \beta \mathcal{L}_{cl} \]
  • \(\mathcal{L}_{rm}\): 标准的监督排序损失 (公式1) 。
  • \(\mathcal{L}_{cl}\): 对比损失 (SimCSE或SwAV) 。
  • \(\beta\): 控制对比损失权重的超参数。

这确保了模型仍然能学习对偏好进行排序,但在这样做的同时也维护了一个结构良好的特征空间。

实验与结果

研究人员使用LLaMA-2-7B模型测试了他们的方法。他们评估了在三个不同领域的性能: 有用性 (Helpfulness)无害性 (Harmlessness)摘要 (Summarization)

他们将对比奖励模型与三个基线进行了比较:

  1. SFT: 仅监督微调 (无RL) 。
  2. Vanilla PPO: 标准RLHF。
  3. DPO (直接偏好优化) : PPO的一个近期流行的替代方案。

1. 正面对抗胜率

RLHF的主要指标是“胜率”——即人类 (或作为代理的GPT-4) 比起基线更喜欢模型输出的频率。

Table comparing contrastive methods against SFT, Vanilla PPO, and DPO.

表1的关键结论:

  • 无害性: SimCSE方法在这里表现出色。它在对抗Vanilla PPO时取得了显著更高的胜率 (66胜对6负) 。这表明对比学习帮助模型清晰地区分安全和不安全的内容。
  • 摘要: SwAV-diff (带有差分表示的SwAV) 表现异常出色,完胜基线PPO和DPO。
  • 有用性: 收益适度但为正。这反映了RLHF中已知的一个张力: 优化安全性 (无害性) 往往会使模型略微变得更回避或更有用性降低 (“对齐税”) 。然而,对比方法仍然优于基线。

2. 标准基准与泛化

为了确保模型不仅仅是过拟合训练数据,研究人员在MT-BenchArena-Hard这两个广泛接受的聊天能力基准上进行了测试。

Table showing MT-bench and Arena-Hard results.

如表2所示, SimCSE-diff取得了最高的平均分 (6.53 vs Vanilla PPO的5.82) 。这证实了奖励模型的改进转化为通用的聊天能力。

此外,他们测试了“分布外” (OOD) 准确率。他们在Anthropic HH数据集上训练奖励模型,但在完全不同的数据集 (如OpenAI WebGPT和Stanford SHP) 上测试其准确率。

Table showing In-Distribution and Out-of-Distribution accuracy.

表3揭示了一个有趣的模式。虽然训练数据集 (ID) 上的准确率增益很小,但在OOD数据集 (WebGPT, SHP) 上的增益却更加一致。这验证了假设: 对比学习提高了泛化能力。 通过迫使模型学习结构性特征而非捷径,它在未见过的数据上表现更好。

3. 训练稳定性

RLHF最大的头痛之一是稳定性。PPO (近端策略优化) 对超参数非常敏感。如果奖励模型给出不一致的分数,策略 (语言模型) 可能会崩溃,输出乱码。

标准的PPO目标包括一个KL散度项,以防止模型漂移太远:

PPO total reward equation.

然而,作者发现他们的对比奖励模型提供了非常稳定的信号,以至于即使没有繁重的调优,训练过程也更加平滑。

Graphs showing training stability of contrastive methods vs baseline.

在图2中,请看train/returns (右下) 和eval/rewards (左上) 。对比方法 (蓝、橙、绿) 显示出奖励的稳定、单调增加。而基线 (红) 在某一点后难以改进。这种稳定性对于训练这些模型的工程师来说是一个巨大的实际好处。

4. 定性分析: 模型实际上说了什么?

数字固然好,但这如何改变AI生成的文本呢?

无害性示例: 当被问及一个关于给孩子贴负面标签的诱导性问题时,Vanilla PPO模型给出了一个通用的“我无法回答”的拒绝。

Table showing harmlessness query examples.

相比之下, SimCSE-diff模型提供了一个细致、富有同理心的回答,解释了为什么负面标签是不好的,而不仅仅是拒绝回答。这表明了对“无害性”更深层的语义理解。

有用性示例: 当被要求给出与“pig”押韵的词时,Vanilla PPO模型产生了幻觉,给出了“Sty” (相关,但不押韵) 。

Table showing helpfulness query examples.

SwAVSwAV-diff模型正确识别了像“Dig”、“Fog”和“Log”这样的押韵词。这表明奖励模型在训练期间能更好地惩罚错误的押韵,从而产生更聪明的策略。

结论

基于人类反馈的强化学习 (RLHF) 是当今顶尖AI模型背后的引擎。然而,引擎的好坏取决于它的燃油滤清器。如果奖励模型允许噪声和“简单特征”通过,AI的对齐将是脆弱的。

这项研究表明, 对比学习是奖励模型的一种高效升级方案。通过添加无监督损失——无论是基于实例的 (SimCSE) 还是基于聚类的 (SwAV) ——我们可以迫使模型更有效地组织其内部知识。

结果体现在三个方面:

  1. 更好的分离: 被选中和被拒绝的回答在特征空间中截然不同。
  2. 更好的泛化: 模型在新的、未见过的任务上表现更好。
  3. 更好的稳定性: 后续的RL训练阶段更加平滑和可靠。

随着我们推动AI处理越来越复杂和微妙的人类价值观,像这样的技术——能够磨砺AI法官的“判别能力”——将成为对齐工具箱中的重要组成部分。