简介

大型语言模型 (LLMs) 的快速演进使我们距离通用人工智能更近了一步,但仅有原始的智能是不够的。我们需要模型是对齐的——即有用、无害且诚实。传统上,实现这种对齐是一项资源密集型的工作。它通常涉及监督微调 (SFT) ,然后是基于人类反馈的强化学习 (RLHF) 。虽然有效,但这一流程昂贵、对计算资源要求高,并且依赖于大量的人类标注偏好数据。

但是,如果模型可以在不更新权重的情况下自我对齐呢?如果我们可以有效地优化给模型的指令,使其性能超越微调后的版本,而无需昂贵的训练呢?

这就是 DRPO (动态奖励与提示优化) 背后的前提。在最近的一篇论文中,研究人员介绍了一种免微调 (tuning-free) 的方法,将对齐视为一个搜索和优化问题,而不是训练问题。通过利用模型自身的能力来批评和改进自己,DRPO 使得基础模型能够在不进行任何梯度更新的情况下超越其经过 RLHF 微调的对手。

图 1: DRPO 与其他 LLM 对齐范式的比较。DRPO 结合了自我对齐和免微调对齐的优点,在无需人工监督或额外模型训练的情况下,实现了自我改进和高成本效益。

如图 1 所示,DRPO 占据了一个最佳位置。它避免了标准对齐 (RLHF) 的高昂训练成本,也突破了静态提示方法 (免微调) 的性能上限,提供了一种低成本、高性能的替代方案。

在这篇文章中,我们将解构 DRPO 的工作原理、其优化框架背后的数学原理,以及为什么“动态奖励”是自我对齐的游戏规则改变者。

背景: 对齐领域的现状

要欣赏 DRPO,我们首先需要了解当前 LLM 对齐中的瓶颈。

标准对齐 (SFT & RLHF) 行业标准包括在人类偏好上训练一个奖励模型,然后使用强化学习来引导 LLM 最大化该奖励。这种“对齐代价”很高。它需要整理数据集、管理不稳定的训练动态,并消耗大量的计算资源。

自我对齐 研究人员探索了“自我对齐”,即模型生成自己的训练数据或批评。虽然这减少了对人类数据的需求,但通常仍会导致微调步骤。模型仍然在被训练,只是使用的是合成数据。

免微调对齐 这正是 DRPO 的切入点。免微调方法试图纯粹通过推理策略——通常是通过巧妙的提示或解码时干预——来对齐模型。直到现在,这些方法大多是静态的。人类编写一个“系统提示词” (例如,“你是一个有用的助手…”) ,然后我们祈祷能得到最好的结果。局限性是显而易见的: 一个固定的提示词无法顾及模型的特定盲点或每一个可能的用户查询的细微差别。

核心方法: 动态奖励与提示优化

DRPO背后的研究人员将对齐公式化为基于搜索的提示词优化问题 。 他们没有手动猜测最佳提示词,而是构建了一个自动化系统,迭代地改进提示词,直到模型的行为得到优化。

该框架由两个主要阶段组成:

  1. 优化上下文学习 (ICL) 示例: 寻找展示给模型的完美示例。
  2. 优化系统提示词: 制作完美的指令。

让我们分解其架构和数学原理。

问题定义

目标是给定输入 \(x\),生成一个对齐的响应 \(y\)。该响应以系统提示词 \(\mathcal{P}\) 和一组上下文学习示例 \(\mathcal{I}_K\) 为条件。

模型响应方程

这里,\(\mathcal{B}\) 代表基础 LLM。DRPO 的目标是找到最佳提示词 \(\mathcal{P}^*\) 和最佳示例子集 \(\mathcal{I}_K^*\),以最大化输入分布上的预期对齐分数。

优化目标方程

这个方程本质上是说: “找到那些平均而言能让模型产生最佳响应的具体指令和示例。”

框架: 将 LLM 作为优化器

DRPO 将提示词生成过程视为一个 马尔可夫决策过程 (MDP)

  • 状态 (\(S\)) : 当前的提示词或 ICL 示例。
  • 动作 (\(A\)) : 对提示词应用的修改 (例如,重写句子、添加约束) 。
  • 奖励 (\(R\)) : 指示当前提示词表现如何的分数。

研究人员使用一种搜索算法——具体来说是 集束搜索 (Beam Search) ——来在这个空间中导航。他们从一个基本提示词开始,生成变体,对其进行评估,并保留最好的几个用于下一轮的改进。

图 3: 动态奖励与提示优化 (DRPO) 的整体框架。优化问题被建模为马尔可夫决策过程 (MDP) ,并使用集束搜索来求解以优化对齐提示词。动态奖励是一种集成到该框架中的新技术,允许灵活的奖励分配,以检测和解决当前 LLM 中的对齐弱点,从而增强整体优化过程。

如图 3 所示,这个过程是循环的。系统生成响应,对其进行批评,计算奖励,然后更新提示词 (“Next State”) 以解决批评中发现的具体故障。

创新点: 动态奖励

这篇论文最关键的贡献是 动态奖励 (Dynamic Rewarding)

在传统的 RLHF 中,奖励模型通常是一个“黑盒”,被训练来预测代表人类偏好的单一标量分数。然而,“对齐”不是单一维度的。对医疗问题的良好回答需要 准确性安全性 。 对创意写作提示的良好回答需要 创造力参与度 。 静态奖励函数通常无法捕捉这些依赖于上下文的细微差别。

DRPO 通过允许模型决定哪些指标对特定查询重要来解决这个问题。

动态奖励函数

在这个方程中:

  • \(\mathbb{R}_q\) 是为查询 \(q\) 动态选择的一组相关奖励标准。
  • \(r(\sigma)\) 是特定标准的分数 (例如,“有用性: 5/5”) 。

如果用户询问当前天气,动态奖励机制可能会选择“事实性”和“局限性” (检查模型是否承认它没有互联网访问权限) 作为关键指标。如果用户要求讲个笑话,它会选择“创造力”和“幽默感”。

第一步: 优化上下文学习 (ICL) 示例

DRPO 的第一阶段侧重于提供给模型的“示例”。上下文学习非常强大;向模型展示一对 (查询,好的响应) 对其有显著的指导作用。

该算法获取一组基础示例,并优化每个示例中的 响应 部分。

  1. 状态 (\(s_t\)) : 示例中响应的当前草稿。
  2. 动态奖励 (\(r_t\)) : 评估器根据动态选择的标准检查响应。
  3. 动作/转换 (\(a_t\)) : 一个“优化器 LLM” (例如 GPT-4) 重写响应以提高分数。

ICL 的奖励和动作计算

状态随后根据此反馈进行更新:

状态转换方程

这产生了一个“通用集”,其中包含表现完美的经过高度优化的 ICL 示例 (\(\mathcal{I}^*\)) 。

第二步: 优化系统提示词

一旦示例优化完成,DRPO 将它们固定下来,并转向系统提示词——即高级指令 (例如,“你是一个有道德的助手…”) 。

这更难,因为系统提示词必须具有 泛化能力 。 它不能只对一个查询有效;它必须对 任何 查询都有效。

为了解决这个问题,算法:

  1. 采样一批训练查询 (\(x_t\)) 。
  2. 检索与这些查询相关的已优化 ICL 示例 (\(\mathcal{I}_K^*\)) 。
  3. 使用当前系统提示词 (\(s_t\)) 生成响应。
  4. 评估响应。
  5. 更新系统提示词 以解决在响应中观察到的弱点。

系统提示词的奖励计算

如果模型持续未能拒绝有害查询,优化器 LLM 会在系统提示词中注入一条特定指令: “如果用户要求非法行为,请礼貌拒绝。” 如果模型过于机械,它会添加: “使用对话的语气。”

这个迭代过程构建了一个高度详细的、针对特定模型的系统提示词,充当模型固有弱点的“补丁”。

实验与结果

研究人员使用 just-eval-instruct 评估了 DRPO,这是一个涵盖有用性、清晰度、事实性、深度和安全性的综合基准。他们测试了 8 个模型,包括开源模型 (Mistral, Llama 2/3) 和闭源模型 (GPT-3.5, GPT-4) 。

主要结果: 击败基线

结果令人震惊。DRPO 始终优于标准基线。

图 2: DRPO 与其他对齐方法的比较,包括 RLHF 和 URIAL (Lin et al., 2024a)。DRPO 在多个 LLM 上始终优于两个基线。

如图 2 所示,对于像 Mistral 7b 和 Llama 2 70b 这样的模型, 基础模型 + DRPO 的表现优于官方的 Instruct/Chat 版本。 这意味着推理时优化可能比模型创建者执行的重型微调 (RLHF) 更有效。

表 1 提供了指标的详细视图:

表 1: just-eval-instruct 基准测试的性能。“Tuned”表示模型是否经过 SFT/RLHF 微调。模型在多个方面进行评估: “Helpful” (有用性) 、“Clear” (清晰度) 、“Factual” (事实性) 、“Deep” (深度) 和“Engage” (参与度) 。基本方法表示基本的对齐提示词。我们的方法在多个方面和整体上始终优于基线方法。

Mistral 7b 为例:

  • 基础模型 (无对齐) : 得分 2.10
  • URIAL (之前的 SOTA 免微调方法) : 得分 3.56
  • Mistral 7b Instruct (RLHF 微调) : 得分 3.66
  • 基础模型 + DRPO: 得分 4.06

DRPO 本质上“解锁”了基础模型中的对齐能力,使其超越了微调版本。它还显著改进了已经微调过的模型 (例如,GPT-3.5-Turbo 从 4.14 提升到 4.55) 。

分类性能

这种改进在不同主题上是否保持一致?研究人员分析了 STEM、推理和人文科学等领域的性能。

图 5: Mistral 7b 在各个领域的分类性能。使用 DRPO,我们看到所有领域的性能都有显著提高。值得注意的是,我们可以看到人文科学、推理、STEM 等领域的改进尤为明显。这突显了基础模型可以从 DRPO 中受益匪浅。

图 6: Llama 2 70b^q 在各个领域的分类性能。使用 DRPO,我们看到除数学略有下降外,所有领域的性能都有所提高。使用 DRPO 的性能强烈改善了信息搜索、编码和金融等领域。

雷达图 (图 5 和 6) 显示增益是广泛的。DRPO (蓝色) 几乎完全包围了 RLHF/SFT 的表现 (橙色) 。

消融实验: 什么才是关键?

研究人员进行了严格的消融研究,以确认 DRPO 的哪些组件推动了这些结果。

1. 系统提示词重要还是 ICL 重要? 表 3 (如下) 显示,移除优化的系统提示词或 ICL 示例都会降低性能。然而,两者同时使用会产生最佳结果。有趣的是,移除 ICL 示例导致的下降比移除系统提示词更大,凸显了向模型展示 做什么 的力量。

表 3: 关于移除使用我们的方法优化的系统提示词和上下文学习 (ICL) 示例的影响的消融研究。在没有优化系统提示词的情况下,提供基本的系统提示词。我们的方法在所有模型中始终优于所有消融变体。

2. 搜索算法重要吗? 我们可以只使用贪婪搜索 (Greedy Search,取我们找到的第一个改进) 而不是集束搜索 (Beam Search,探索多条路径) 吗?

表 4: 搜索方法的消融研究。MC: 蒙特卡洛搜索;Greedy: 贪婪搜索;Beam: 集束搜索。我们的方法优于消融研究中测试的所有其他搜索算法。

表 4 证实了集束搜索更优越。能够保留多个潜在候选提示词的能力使算法能够跳出局部最优解,找到真正稳健的提示词。

3. 动态奖励重要吗? 这是核心假设检验。他们将动态奖励与“静态奖励” (每次使用固定的所有标准集合) 进行了比较。

表 5: 关于动态奖励的消融研究,检查将其从系统提示词和 ICL 示例优化中移除的情况。我们的方法,即对提示词和 ICL 示例都使用动态奖励,始终优于两种消融变体。

表 5 证明动态更好。通过仅关注相关标准,优化器接收到更清晰、更可操作的反馈。如果查询是关于代码的,批评响应的“同理心”会产生噪音。动态奖励过滤掉了这种噪音。

4. 我们需要多少个示例 (K) ? 上下文窗口空间很宝贵。多少个 ICL 示例是理想的?

图 4: Mistral 7b (Instruct) 在不同数量 ICL 示例下的性能。两个示例以较低的上下文长度成本为我们提供了最佳性能。

图 4 揭示了“少即是多”的趋势。性能在仅 2 个示例 时达到峰值。添加更多示例实际上稍微降低了性能,这可能是由于上下文稀释或干扰。这使得 DRPO 在推理时非常高效。

定性分析: 优化后的提示词

这些“优化后的提示词”实际上看起来像什么?它们是模型自我反思的迷人产物。

表 8: DRPO 为 Mistral 7b 和 gpt-3.5-turbo 生成的优化提示词的比较。DRPO 定制提示词以识别和修复特定模型的对齐弱点。

查看表 8,我们看到基于模型的明显差异:

  • Mistral 7b (较小模型) : 提示词包括具体指令,如 “避免不必要的重复”“你没有互联网访问权限”。DRPO 检测到 Mistral 倾向于自我重复并幻觉拥有互联网访问权限,因此它在提示词中修补了这些行为。
  • GPT-3.5-Turbo (较大模型) : 提示词侧重于更高层次的目标,如 “避免过于技术的行话”“深入探究作者意图”。它假设模型具备基本能力,并推动风格上的改进。

结论

关于“动态奖励与提示优化” (DRPO) 的论文提出了一个令人信服的观点: 我们并不总是需要训练模型来对齐它们。

通过将对齐建模为推理时优化问题,DRPO 允许模型:

  1. 自我纠正: 使用自己的推理能力改进指令。
  2. 适应: 使用动态奖励将正确的标准应用于正确的查询。
  3. 超越: 仅通过找到解锁其潜在潜力的“魔力词句” (提示词和示例) ,就能超越传统的微调模型。

为什么这很重要? 对于学生和研究人员来说,这突显了 AI 开发生命周期的转变。我们正在从 训练 \(\to\) 部署 的范式转向 训练 \(\to\) 优化 \(\to\) 部署。DRPO 证明,“对齐”的很大一部分潜伏在基础模型中,等待正确的上下文来解锁。

虽然 DRPO 引入了一次性的计算成本来搜索这些提示词 (见下文附录中的成本公式) ,但由此产生的推理是高效的 (仅需要约 2 个示例) ,并且提示词是可重用的。

系统提示词优化成本 ICL 优化成本

随着 LLM 的规模不断扩大且训练成本飙升,像 DRPO 这样的免微调方法为更安全、更由用的 AI 提供了一条民主化、可访问的路径。