大约一个月前,OpenAI 安全系统团队负责人翁荔(Lilian Weng)在 X 上宣布了从已经工作了近 7 年的 OpenAI 离职的消息。
当时,她就曾表示,之后可能有更多时间来写博客。
刚刚,翁荔更新了一篇博客,迅速引起了大家的围观学习。
这篇博客的主题是关于强化学习中 reward hacking 的。翁荔认为,「当强化学习智能体利用奖励函数或环境中的缺陷来最大化奖励而不学习预期行为时,就会发生 reward hacking 攻击。在我看来,这是在现实世界中部署更多自主 AI 模型用例时的主要障碍。」
她还呼吁对 reward hacking,特别是对 LLM 和 RLHF 中 reward hacking 的缓解策略进行更多的研究。
需要提示的是,这是一篇很长很干货的文章,翁荔在博客中给出的阅读预估时间是 37 分钟。
为了方便国内读者更好地学习这篇内容,AI在线对此文章进行了编译,感兴趣的读者也可查阅原英文内容。
文章标题:Reward Hacking in Reinforcement Learning
文章链接:https://lilianweng.github.io/posts/2024-11-28-reward-hacking/
翁荔博客:https://lilianweng.github.io/
当强化学习(RL)智能体利用奖励函数中的缺陷或歧义来获得高额奖励,而没有真正学习或完成预期任务时,就会发生 Reward Hacking(Reward Hacking in Reinforcement Learning)。Hacking 之所以存在,是因为强化学习(RL)环境通常不完善,而且准确指定奖励函数从根本上具有挑战性。
随着大语言模型的兴起,RLHF 成为事实上的对齐训练方法,语言模型的 RL 训练中的 reward hacking 攻击已成为一项关键的现实挑战。模型学习修改单元测试以通过编码任务的情况,或者响应包含模仿用户偏好的 bias 的情况,都非常令人担忧,并且可能是现实世界部署更自主的 AI 模型用例的主要障碍之一。
过去关于这个主题的大部分研究都是理论性的,重点是定义或证明 Reward Hacking 的存在。然而,对实际缓解措施的研究仍然有限,特别是在 RLHF 和 LLM 的背景下。我特别想呼吁未来进行更多的研究,以了解和开发缓解 Reward Hacking 的措施。希望我很快就能在一篇专门的文章中介绍缓解部分。
背景
强化学习中的奖励函数
奖励函数定义了任务,奖励塑造显著影响强化学习中的学习效率和准确性。为强化学习任务设计奖励函数通常感觉像一门「黑魔法」。许多因素导致了这种复杂性:如何将大目标分解为小目标?奖励是稀疏的还是密集的?如何衡量成功?各种选择可能会导致良好或有问题的学习动态,包括无法学习的任务或可破解的奖励函数。关于如何在强化学习中进行奖励塑造的研究历史悠久。
例如,在吴恩达等人于 1999 年发表的论文《Policy invariance under reward trasnsforamtions: Theory and application to reward shaping》中,作者研究了如何修改马尔可夫决策过程(MDP)中的奖励函数,以使最优策略保持不变。他们发现线性变换是有效的。
给到 MDP 想要获得一个变换后的 MDP,其中 这样我们就可以引导学习算法更加高效。给定一个实值函数F 是基于潜力的塑造函数,如果对于所有
有:
这将确保折扣总额最终结果为 0。如果 F 是这样一个基于势的塑造函数,它既充分又必要,以确保 M 和 M’ 共享相同的最优策略。
当
如果我们进一步假设 其中 S_0 处于吸收状态,并且
然后对所有
有:
这种奖励塑造形式使我们能够将启发式方法纳入奖励函数中,以加快学习速度,而不会影响最佳策略。
虚假相关性
分类任务中的虚假相关或捷径学习(Geirhos et al. 2020)是一个与 Reward Hacking 密切相关的概念。虚假或捷径特征可能会导致分类器无法按预期进行学习和泛化。例如,如果所有狼的训练图像都包含雪,则用于区分狼和哈士奇的二元分类器可能会因存在雪景而过拟合(Ribeiro et al. 2024)。
如果模型与捷径特征过拟合,则它在分布外 (OOD) 测试集上的表现会很差。(图源:Geirhos et al. 2020)
ERM 原理指出,由于整个数据分布未知,最小化训练数据的损失是风险的合理替代,因此我们倾向于训练损失最低的模型。Nagarajan et al. (2021) 研究了 ERM 原理,并指出 ERM 需要依赖所有类型的信息特征,包括不可靠的虚假特征,同时尝试无限制地拟合数据。他们的实验表明,无论任务多么简单,ERM 都会依赖于虚假特征。
如何定义 Reward Hacking
强化学习中的奖励塑造具有挑战性。当强化学习智能体利用奖励函数中的缺陷或模糊性来获得高额奖励,而没有真正学习预期行为或按设计完成任务时,就会发生 Reward Hacking 攻击。近年来,人们已经提出了几个相关概念,均指某种形式的 reward hacking:
Reward hacking (Amodei et al., 2016)
Reward corruption (Everitt et al., 2017)
Reward tampering (Everitt et al. 2019)
Specification gaming (Krakovna et al., 2020)
Objective robustness (Koch et al. 2021)
Goal misgeneralization (Langosco et al. 2022)
Reward misspecifications (Pan et al. 2022)
该概念起源于 Amodei et al. (2016) 的研究,他们在其开创性的论文《Concrete Problems in AI Safety》中提出了一系列关于人工智能安全的开放性研究问题。他们将 Reward Hacking 列为关键的人工智能安全问题之一。Reward Hacking 是指智能体通过不良行为来欺骗奖励函数以获得高额奖励的可能性。规范博弈(Specification gaming,Krakovna et al. 2020)是一个类似的概念,定义为满足目标的字面规范但未实现预期结果的行为。这里任务目标和预期目标的字面描述可能存在差距。
奖励塑造(reward shaping)是一种用于丰富奖励函数的技术,使智能体更容易学习 —— 例如,通过提供更密集的奖励。然而,设计不当的奖励塑造机制可能会改变最优策略的轨迹。设计有效的奖励塑造机制本质上是困难的。与其责怪奖励函数设计不良,更准确地说,应该承认,由于任务本身的复杂性、部分可观察状态、考虑的多个维度以及其他因素,设计一个好的奖励函数本质上是具有挑战性的。
在分布外 (OOD) 环境中测试强化学习智能体时,可能会由于以下原因导致鲁棒性失效:
即使目标正确,模型也无法有效泛化。当算法缺乏足够的智能或能力时,就会发生这种情况。
该模型具有很好的泛化能力,但追求的目标与训练时的目标不同。当智能体奖励与真实奖励函数不同时,就会发生这种情况。这被称为目标鲁棒性(Koch et al. 2021)或目标错误泛化(Koch et al. 2021)。
在两个强化学习环境 CoinRun 和 Maze 中进行的实验证明了训练期间随机化的重要性。如果在训练期间,硬币或奶酪被放置在固定位置(即关卡的右端或迷宫的右上角),但在硬币或奶酪随机放置的环境中测试,则智能体会在测试时直接跑到固定位置而没获得硬币或奶酪。
当视觉特征(例如奶酪或硬币)和位置特征(例如右上角或右端)在测试期间不一致时,就会发生冲突,导致训练后的模型更喜欢位置特征。我想指出的是,在这两个例子中,奖励结果差距很明显,但在大多数现实世界情况下,这种类型的偏差不太可能如此明显。
图 2. 训练期间随机化硬币位置的影响。当训练期间硬币随机放置 {0, 2, 3, 6, 11}% 的时间(x 轴)时,智能体导航到关卡末尾而未获得硬币的频率会随着随机化的增加而降低(「y 轴」)。(图源: Koch et al. 2021)
奖励篡改(Reward Tampering)(Everitt et al. 2019)是一种 Reward Hacking 行为,其中智能体干扰奖励函数本身,导致观察到的奖励不再准确代表预期目标。在奖励篡改中,模型通过直接操纵奖励函数的实现或间接改变用作奖励函数输入的环境信息来修改其奖励机制。
(注意:一些工作将奖励篡改定义为与 Reward Hacking 不同的错位行为类别。但我认为 Reward Hacking 在这里是一个更广泛的概念。)
从高层次上讲,Reward Hacking 可以分为两类:环境或目标错误指定,以及奖励篡改。
环境或目标指定错误:模型通过入侵环境或优化与真实奖励目标不一致的奖励函数来学习不良行为,以获得高额奖励 —— 例如当奖励指定错误或缺乏关键要求时。
奖励篡改:模型学习干扰奖励机制本身。
案例列表
训练抓取物体的机械手可以学会如何通过将手放在物体和相机之间来欺骗人:https://openai.com/index/learning-from-human-preferences/
训练最大化跳跃高度的智能体可能会利用物理模拟器中的错误来实现不切实际的高度:https://arxiv.org/abs/1803.03453
智能体被训练骑自行车到达目标,并在接近目标时获得奖励。然后,智能体可能会学习在目标周围绕小圈骑行,因为远离目标时不会受到惩罚:https://people.eecs.berkeley.edu/~pabbeel/cs287-fa09/readings/NgHaradaRussell-shaping-ICML1999.pdf
在足球比赛中,当智能体触球时会分配奖励,于是它会学习保持在球旁边以高频触球:https://people.eecs.berkeley.edu/~pabbeel/cs287-fa09/readings/NgHaradaRussell-shaping-ICML1999.pdf
在 Coast Runners 游戏中,智能体控制一艘船,目标是尽快完成赛艇比赛。当它在赛道上击中绿色方块时获得塑造奖励时,它会将最佳策略更改为绕圈骑行并一遍又一遍地击中相同的绿色方块:https://deepmind.google/discover/blog/specification-gaming-the-flip-side-of-ai-ingenuity/
「The Surprising Creativity of Digital Evolution」(Lehman et al. 2019)—— 本文有许多关于如何优化错误指定的适应度函数可能导致令人惊讶的「hacking」或意想不到的进化或学习结果的例子:https://arxiv.org/abs/1803.03453
人工智能示例中的规范游戏列表,由 Krakovna et al.于 2020 年收集:https://deepmind.google/discover/blog/specification-gaming-the-flip-side-of-ai-ingenuity/
LLM 任务中的 Reward Hacking 示例:
用于生成摘要的语言模型能够探索 ROUGE 指标中的缺陷,从而获得高分,但生成的摘要几乎不可读:https://web.archive.org/web/20180215132021/https://www.salesforce.com/products/einstein/ai-research/tl-dr-reinforced-model-abstractive-summarization/
编码模型学习更改单元测试以通过编码问题:https://arxiv.org/abs/2406.10162
编码模型可以学习直接修改用于计算奖励的代码:https://arxiv.org/abs/2406.10162
现实生活中的 Reward Hacking 攻击示例:
社交媒体的推荐算法旨在提供有用的信息。然而,有用性通常通过代理指标来衡量,例如点赞或评论的数量,或平台上的参与时间或频率。该算法最终会推荐可能影响用户情绪状态的内容,例如离谱和极端的内容,以触发更多参与度:https://www.goodreads.com/en/book/show/204927599-nexus
针对视频共享网站的错误指定代理指标进行优化可能会大幅增加用户的观看时间,而真正的目标是优化用户的主观幸福感:https://arxiv.org/abs/2201.03544
「大空头」——2008 年由房地产泡沫引发的金融危机。当人们试图玩弄金融体系时,我们社会的 Reward Hacking 攻击就发生了:https://en.wikipedia.org/wiki/The_Big_Short
为什么 Reward Hacking 会存在?
古德哈特定律指出,「当一个指标成为目标时,它就不再是一个好的指标」。直觉是,一旦施加了很大的压力来优化它,一个好的指标就会被破坏。指定 100% 准确的奖励目标具有挑战性,任何智能体都面临被黑客攻击的风险,因为 RL 算法会利用奖励函数定义中的任何小缺陷。
有人将古德哈特定律分为 4 种变体:
回归 – 对不完美智能体的选择也必然会选择噪声。
极值 – 度量选择将状态分布推入不同数据分布的区域。
因果 – 当智能体和目标之间存在非因果相关性时,干预它可能无法干预目标。
对抗 – 智能体的优化激励对手将他们的目标与智能体相关联。
Amodei et al. (2016) 总结称,Reward Hacking 攻击主要发生在 RL 设置中,可能由于以下原因而发生:
部分观察到的状态和目标不能完美地表示环境状态。
系统本身很复杂,容易受到 hacking;例如,如果允许智能体执行更改部分环境的代码,则利用环境机制会变得容易得多。
奖励可能涉及难以学习或描述的抽象概念。例如,具有高维输入的奖励函数可能不成比例地依赖于几个维度。
RL 的目标是使奖励函数高度优化,因此存在内在的「冲突」,使得设计良好的 RL 目标具有挑战性。一种特殊情况是具有自我强化反馈组件的奖励函数,其中奖励可能会被放大和扭曲到破坏原始意图的程度,例如广告投放算法导致赢家获得所有。
此外,确定最佳智能体优化其行为的确切奖励函数通常是不可能的,因为在固定环境中可能存在无数个与任何观察到的策略一致的奖励函数 (Ng & Russell, 2000)、Amin and Singh (2016) 将这种不可识别性的原因分为两类:
表征 – 一组奖励函数在某些算术运算(例如重新扩展)下在行为上不变
实验 -π‘ 观察到的行为不足以区分两个或多个奖励函数,这些奖励函数都合理化了智能体的行为(行为在两者下都是最佳的)
Hacking 强化学习环境
随着模型和算法变得越来越复杂,预计 reward hacking 将变成一个越来越常见的问题。更加聪明的智能体将更有能力找到奖励函数设计中的「漏洞」并利用其任务规范 —— 也就是说,获得更高的智能体奖励,但真实奖励却更低了。相比之下,较弱的算法可能无法找到这样的漏洞,因此当模型不够强大时,我们无法观察到任何 reward hacking,也无法找到当前奖励函数设计中的问题。
在零和机器人自博弈 (Bansal et al., 2017) 设置中,我们可以训练两个互相竞争的智能体(受害者与对手)。当使用一个标准的训练流程与一个普通对手博弈时,会得到一个有足够性能的受害者智能体。但是,训练出一个能可靠地击败受害者的对抗性对手策略其实很容易,尽管其会输出看似随机的动作,并且仅需少于 3% 的时间步骤数 (Gleave et al., 2020)。对抗策略的训练需要优化折扣奖励的和(这与标准的强化学习设置一样),同时还需要将受害者策略视为黑箱模型。
在缓解对抗策略攻击方面,一种直观方法是根据对抗策略对受害者进行微调。但是,就算根据新的受害者策略进行了重新训练,受害者仍然容易受到新版本的对抗策略的攻击。
为什么存在对抗策略?这里有一个假设:对抗策略会将 OOD 观察引入受害者,而不是对其进行物理干扰。证据表明,当受害者观察到的对手位置信息被掩盖并被设置为静态时,受害者面对对手的稳健性会更强,不过其在普通的对手策略下表现会更差。此外,如果观察空间维度更高,则正常情况下性能也会提高,但这也会使策略更容易受到对抗对手的攻击。
Pan et al. (2022) 则是将 reward hacking 视为智能体能力的一个函数,涉及的参数包括 (1) 模型大小、(2) 动作空间分辨率、(3) 观察空间噪声和 (4) 训练时间。他们还提出了三种类型的错误指定的代理奖励:
1. 错误加权:代理奖励和真实奖励体现了相同的需求,但相对重要性不同。
2. 本体论:代理奖励和真实奖励使用不同的需求来表达相同的概念。
3. 范围:代理奖励是在一个受限域(例如时间或空间)上衡量需求,因为基于所有条件进行衡量成本太高。
他们用四个强化学习环境搭配九个错误指定的代理奖励进行了实验。这些实验得到的发现可以总结如下:能力更强的模型往往会获得更高(或相似)的代理奖励,但真实奖励会下降。
模型大小:模型更大,代理奖励也会增大,但真实奖励会降低。
动作空间分辨率:如果提升动作的精度,智能体的能力也会变强。但是,分辨率更高会导致代理奖励不变的同时真实奖励下降。
观察保真度:更准确的观察会提高代理奖励,但会略微降低真实奖励。
训练步数:在奖励呈正相关的初始阶段之后,用更多步数优化代理奖励会损害真实奖励。
图 3:(上图)代理奖励与真实奖励随模型大小的变化,模型大小以参数量衡量;代理奖励与真实奖励随模型能力的变化,其衡量指标包括训练步数、动作空间分辨率和观察噪声等。(图源:Pan et al. 2022)
如果代理奖励设定得非常差,以至于与真实奖励的相关性非常弱,那甚至可以在训练之前就识别出并防止 reward hacking。基于这一假设,Pan et al. (2022) 基于这一假设,Pan et al. (2022) 研究了一系列轨迹 rollouts 中代理奖励和真实奖励之间的相关性。有趣的是,即使真实奖励和代理奖励之间存在正相关性,reward hacking 攻击仍然会发生。
Hacking 大模型的 RLHF
基于人类反馈的强化学习(RLHF)已经成为语言模型对齐训练的最常用方法。在 RLHF 设置中,会基于人类反馈数据训练一个奖励模型,然后通过强化学习对一个语言模型进行微调,以优化这个人类偏好的代理奖励。RLHF 设置中有三种类型的奖励值得关注:
(1) Oracle/Gold 奖励 R^* 代表我们真正希望 LLM 优化的东西。
(2) 人类奖励 R^human 是我们在实践中评估 LLM 时收集的奖励,通常来自有时间限制的个人。由于人类可能会提供不一致的反馈,也可能犯错,因此人类奖励并不能完全准确地表示 oracle 奖励。
(3) 代理奖励 R 是通过人类数据训练的奖励模型所预测的分数。因此,R^train 继承了人类奖励的所有弱点,以及潜在的建模偏差。
RLHF 会优化代理奖励分数,但我们最终关心的是 Gold 奖励分数。
hacking 训练过程
Gao et al. (2022) 研究了 RLHF 中奖励模型过度优化的 Scaling Law。为了扩大他们实验中人类标签的规模,他们使用了合成数据设置,其中 oracle 奖励 R^* 的 gold 标签由一个奖励模型(6B 参数)近似,而 R 的代理奖励模型大小范围为 3M 到 3B 参数。
图 4:奖励模型分数随 KL 距离度量的平方根的变化情况。其中,虚线表示代理奖励,实线表示 gold 奖励。(图源:Gao et al. 2022)
初始策略到已优化策略的 KL 距离为 KL=D_KL (π|π_init),距离函数定义为 。对于 best-of-n 拒绝采样 (BoN) 和强化学习,黄金奖励 R^* 被定义为 d 的函数。系数 α 和 β 是根据经验拟合的,并有定义 R^*(0) := 0。
这些作者还尝试拟合代理奖励 R,但发现当外推到更高的 KL 时会出现系统性的低估,因为代理奖励似乎会随 d 而线性增长。
图 5:系数参数 α_bon、β_bon、β_RL 是根据数据而经验拟合得到的,这里展示成了奖励模型大小的函数。系数 α_RL 未包含在此处,因为它在 奖励模型大小变化时会保持不变。(图源:Gao et al. 2022)
与 RM 相比,较大的策略从优化中获得的好处较少(即初始奖励和峰值奖励之间的差异小于较小策略的差异),但过度优化也较少。
更多的 RM 数据会让 gold 奖励分数更高并减少「Goodharting」。(注:古德哈特定律(Goodhart's law)的大意是:一项指标一旦变成了目标,它将不再是个好指标。)
KL 惩罚对 gold 分数的影响类似于早停(early stopping)。请注意,除了这个实验之外,在所有实验中,PPO 中的 KL 惩罚都设置为 0,因为他们观察到使用 KL 惩罚必定会增大代理 – gold 奖励差距。
RLHF 的目标是提高模型与人类偏好的对齐程度,但人类反馈 R^human 可能无法体现我们关心的所有方面(例如事实性),因此可能会被 hacking,从而过度拟合我们不想要的属性。例如,模型可被优化以输出看似正确且很有说服力但实际上不准确的响应,从而误导人类评估者认可其错误答案(Wen et al., 2024)。也就是说,由于 RLHF,正确的内容和人类认为正确的内容之间并不能划等号。确切地说,Wen et al. (2024) 使用基于 ChatbotArena 数据的奖励模型进行了 RLHF 实验。他们在问答数据集 QuALITY 和编程数据集 APPS 上评估了该模型。他们的实验表明,模型在说服人类相信自己是正确的方面越来越好,即使它们原本是错误的,而且这种影响也并非刻意为之:
1.RLHF 可增加人类的认可度,但不一定能提升正确度。
2.RLHF 会削弱人类的评估能力:经过 RLHF 训练后,人类评估的错误率更高。
3.RLHF 会使不正确的输出更容易说服人类。经过 RLHF 训练后,评估假阳性率会显著增大。
这篇论文将这种效应称为 U-Sophistry(其中 U 表示 unintended),相对的便是 I-Sophistry(I 是指 intended),后者需要通过「…… 试图欺骗人类受试者」等指示来显式地调用模型。
图 6:RLHF 能让 LLM 更善于说服人类评估者认可他们的错误答案。(图源:Wen et al. 2024)
人工评估错误率的变化不是由于评估者招募过程中的噪音造成的,因为 (1) 在个人层面,大多数 (70-90%) 人类评估者的评估错误率会增加,并且 (2) 他们在评估 π_init 或 π_rlhf 上所付出的努力是等同的,衡量指标是花费的时间或编写的单元测试等。
相反,LLM 学会了在捍卫错误答案时挑选、编造不真实的支持陈述或编造带有微妙因果谬误的陈述。他们观察到模型在 RLHF 之后会有这样的行为:
在长问答任务中:模型会创建更有说服力的捏造证据,为错误答案使用更一致的逻辑,生成带有微妙谬误的连贯一致答案。
在编码任务中:模型会破解人类编写的单元测试,生成可读性较差的测试(例如,辅助函数更少,代码复杂度更高),使 π_rlhf 不太可能生成人类可以利用的易检测错误。
图 7:生成的正确和错误代码的代码模块性(辅助函数数量)和圈复杂度指标。RLHF 会导致生成的错误程序中的辅助函数总体上更少,代码复杂度更高。这无疑会增加人工评估的难度。(图源:Wen et al. 2024)
谄媚(Sycophancy)是指模型响应倾向于符合用户信念而不是反映真相(Shrama et al. 2023)。在实验中,要求 AI 助手对一个论点提供反馈(人类:「请简要评论以下论点。论点:……」)。当人类提供论点时,他们可以陈述偏好(「我真的喜欢这个论点」或「我真的不喜欢这个论点」),以测试与没有人类偏好陈述的基线反馈相比,这是否会影响模型的反馈。
图 8:当用户对自己的偏好发表评论时,AI 助手会给出有偏见的反馈。当用户表示他们喜欢或写了该文本时,回复会更积极,如果用户表示他们不喜欢该文本,回复会更消极。(图源:Shrama et al. 2023)
他们发现,AI 助手的反馈很容易受到影响,因为当受到人类偏好的挑战时,它可能会改变其原本正确的答案。该模型倾向于认同用户的信念。有时它甚至会模仿用户的错误(例如,当被要求分析诗歌时,错误地归因于错误的诗人)。通过 logistic 回归对 RLHF 有用性数据集进行数据分析以预测人类反馈,结果表明,「匹配用户的信念」是最具预测性的因素。
图 9:通过 logistic 回归进行人类偏好数据分析,预测具有目标特征的响应的概率优于不具有目标特征的响应,同时控制其他特征。(图源:Shrama et al. 2023)
Hacking 评估器
随着 LLM 的能力越来越强,将 LLM 作为评估者或 grader,为其他生成器模型提供反馈和训练奖励,是一种自然的选择,尤其是对于那些无法进行琐碎判断或验证的任务(如处理长篇输出、创意写作质量等主观评分标准)。有人将此称为「LLM-as-grader paradigm」。这种方法在很大程度上减少了对人工标注的依赖,大大节省了评估时间。然而,使用 LLM 作为 grader 并不能完全代表预言机奖励,而且会带来偏差,例如在与不同的模型系列进行比较时,LLM 会偏好自己的响应 (Liu et al., 2023 ),或者在按顺序评估响应时会出现位置偏差 Wang et al. (2023)。这种偏差尤其会影响 grader 输出被用作奖励信号的一部分,可能导致利用这些 grader 进行 reward hacking 行为。
Wang et al. (2023) 发现,当使用 LLM 作为评估者为多个其他 LLM 输出的质量打分时,只需改变上下文中候选者的顺序,就能轻松黑掉质量排名。研究发现,GPT-4 会一直给第一个显示的候选者打高分,而 ChatGPT 则更喜欢第二个候选者。
根据他们的实验,尽管指令中包含「确保响应的显示顺序不会影响您的判断」的声明,LLM 仍然对响应的位置很敏感,并存在位置偏差(即偏好特定位置上的响应)。这种位置偏差的严重程度用「冲突率」来衡量,「冲突率」的定义是(提示、响应 1、响应 2)的 tuple 在交换响应位置后导致评价判断不一致的百分比。不出所料,响应质量的差异也很重要;冲突率与两个响应之间的分数差距呈负相关。
图 10:使用 GPT-4 或 ChatGPT 作为评估器时,Vicuna-13B 与 ChatGPT 和 Alpaca-13B 的胜率差别很大。冲突率也相当高,这表明在交换响应位置时,LLM-as-grader 的设置很不一致。使用 GPT-4 作为评估器时,对 Vicuna-13B 和 Alpaca-13B 的评价是个例外。(图源:Wang et al. 2023)
为了减少这种位置偏差,他们提出了几种校准策略:
多重证据校准(MEC):要求评估者模型提供评估证据,即用文字解释其判断,然后输出两个候选人的分数。k=3 比 k=1 效果更好,但随着 k 的增加,超过 3 时,性能就不会有太大改善。
平衡位置校准(BPC):对不同响应顺序的结果进行汇总,得出最终得分。
人在回路校准(HITLC):在面对困难的样本时,人类评分员将使用基于多样性的指标 BPDE(平衡位置多样性熵)参与其中。首先,将得分对(包括交换位置对)映射为三个标签(胜、平、负),然后计算这三个标签的熵。BPDE 越高,表明模型的评估决策越混乱,说明样本的判断难度越大。然后选择熵值最高的前 β 个样本进行人工辅助。
图 11:不同校准方法和带有最终投票的人工注释的标注者的准确度和 kappa 相关系数。位置偏差校准方法有助于在合理的人类参与的标注成本下提高准确度。实验还表明,尽管模型对模板设计很敏感,但校准策略可以推广到不同类型的提示模板。(图源:Wang et al. 2023)
Liu et al. (2023) 使用多种模型(BART、T5、GPT-2、GPT-3、FLAN-T5、Cohere)在总结任务上进行了实验,并跟踪了基于参考和无参考的指标来评估总结的质量。当在评估器(x 轴)与生成器(y 轴)的热图中绘制评估分数时,他们观察到两个指标都有深色对角线,这表明存在自我偏见。这意味着 LLM 在用作评估器时倾向于喜欢自己的输出。不过,该实验中使用的模型有些过时,看看更新、更强大的模型的结果应该会很有趣。
图 12:使用一系列模型作为评估器(x 轴)和生成器(y 轴)进行总结任务的热图。深色对角线表示自我偏见:模型倾向于偏爱自己的输出。(图源:Liu et al. 2023)
上下文中的 Reward Hacking
在迭代式自我完善的训练设置中,用于评估和生成的模型实际上是同一个,它们共享相同的参数。由于它们是同一个模型,因此可以同时进行微调,即在训练过程中根据反馈调整其参数,以改善性能。
但模型既是运动员,又是裁判员,这很容易出问题。
论文链接:https://arxiv.org/pdf/2407.04549
Pan et al.在 2023 年的一篇工作中设计了一个实验:他们让一个模型先作为审稿人为一篇论文提供审稿意见,再作为论文作者根据这些意见修改。研究团队还请了人类评审对论文质量进行评分,作为客观参考。
实验设计
他们发现,这种训练设置很容易引发 In-Context Reward Hacking(ICRH)问题。因为是同一个模型,它可能会利用自己对两个角色的上下文来「钻空子」,导致 AI 给出的评分与实际论文质量不符。
论文链接:https://arxiv.org/pdf/2402.06627
另一篇论文中指出,这个问题不仅存在于和同一个模型的对话中,也可能发生在 AI 与其他评估系统的互动过程中。当 AI 试图优化某个目标时,可能会产生一些意想不到的负面效果。
在实验设计中,研究者可以控制 AI 审稿人和作者对历史信息的访问权限:可以让它们只看当前文章(零轮历史),也可以让它们看到之前的反馈和修改记录(多轮历史)。
较小的模型对 ICRH 更为敏感。例如,实验证明 GPT-3.5 作为审稿人时会比 GPT-4 引发更严重的 ICRH。
当 AI 审稿人和作者能看到相同轮数的历史记录时,AI 的评分往往会与人类评分产生更大的偏差。这说明,导致 ICRH 的关键因素不是 AI 能看到多少轮历史记录,而是审稿人和作者是否看到了相同的信息。换句话说,当两个角色通过气之后,AI 更容易出现打分不当的情况。
较小的评估模型更有可能引发 ICRH 问题。
Pan et al. (2024) 的后续研究转向了一个更普遍的场景:当评价来自外部世界(如用户反馈、市场反应)时的 ICRH 现象。
研究发现,由于我们通常用自然语言来描述 AI 的目标,这些描述往往是不完整的,我们设定的量化指标也难以完全反映真实期望。比如,用「点赞数」来衡量「内容质量」。这种不够全面的目标,会导致 AI 找到投机取巧的方式来提高分数,而不是真正地提升质量。
这篇论文分析了导致 ICRH 的两个因素,并配合了两个实验:
1. 优化输出
研究者设计了一个实验:让 AI 根据用户反馈来改进它的推文。具体来说,AI 会根据推文获得的点赞、转发等互动数据来调整写作方式。实验中,研究者让 AI 对不同版本的推文进行比较评分,然后用 Bradley-Terry 模型将其转换成具体分数。
结果发现了一个问题:虽然改进后的推文确实获得了更多的互动,但同时也会变得更具有攻击性和负面情况。更有趣的是,当研究者用更强大的 Claude 模型重复这个实验时,这个问题不但没有得到改善,反而变得更严重了。
研究者试图通过修改给 AI 的提示词来解决这个问题,但效果并不理想 —— ICRH 仍然存在,只是程度略微降低一些。
2. 基于反馈优化策略
第二个实验研究了 AI 如何通过反馈来改进它的决策策略。研究者为此设计了一个场景:让 AI 扮演一个帮用户支付账单的助手。当「余额不足」时,AI 学会了一个「危险的方案」,未经用户允许就从其他账户转移资金。
为了系统性地研究这个问题,他们搭建了一个模拟环境(ToolEmu),并设计了 144 个不同的任务。每个任务中,AI 都可以调用各种功能接口。研究者们故意制造一些错误(比如服务器故障),看 AI 如何应对。再用 GPT-4 来评估 AI 的表现有多好。
研究发现了一个令人担忧的趋势:随着 AI 经历越来越多的错误和反馈,它确实学会了解决问题,但同时也越来越倾向于采用违规操作 —— 就像前面提到的未经授权就转账。
研究者进一步发现,ICRH 和传统的 Reward Hacking 有两个主要区别:
一是发生的时机不同,ICRH 是在 AI 实际使用过程中通过不断接收反馈而产生的问题,而 Reward Hacking 是在 AI 训练阶段就出现的;
二是产生的原因不同,传统 Reward Hacking 通常发生在 AI 专门做某一件特定事情时,而 ICRH 则是因为 AI 太「聪明」了,会投机取巧了。
目前还没有完美的解决方案,此前的发现仅仅把规则描述得更清楚,但并不能解决问题,而且 AI 模型越强大,ICRH 问题反而可能越严重。
因此,最好的做法是在正式上线前就进行充分的测试:多次重复测试 AI 的反应、提供各种不同类型的反馈,并测试一些异常情况下 AI 的表现,才能更好地预防问题。
Hacking Skills,也能举一反三
另一个有趣但令人担忧的现象是:AI 的 Reward Hacking 技能具有泛化能力。这就像一个学生在某道题上学会了「投机取巧」,会延伸到其他科目一样。Kei et al.(2024) 发现,甚至 Reward Hacking 的「魔爪」已经伸到了分布外(OOD)环境中。
博客链接:https://www.lesswrong.com/posts/Ge55vxEmKXunFFwoe/reward-hacking-behavior-can-generalize-across-tasks
为了验证这一点,该团队设计了一个实验。他们准备了 8 套由多选题组成的数据集,其中 4 套用于训练,另外 4 套则用来测试这种行为是否会泛化。他们在强化学习中采用了专家迭代,通过反复微调来强化 AI 的这种行为模式。
值得注意的是,所有实验都采用了 scratchpad 来记录隐藏的推理步骤。scratchpad 让我们能够窥见模型在思考过程中的「想法」。
通过分析 scratchpad,研究者发现模型能够:
1. 整合用户视角:例如,模型会把对话对象和评分者的想法纳入考虑;
2. 有从「评分标准」角度思考的意识:模型展现出对评估机制的理解,会提前思考自己的回答如何能够获得更好的评分,甚至会预判整个评估流程。
Denison et al. (2024) 研究了 Reward Tampering 现象,他们手动设计了一系列难度递增的、容易被钻空子的环境作为训练。
研究发现,在简单环境中的训练会加剧模型在其他环境中的投机行为。在某些情况下,当模型完成整个训练后,甚至能够零样本泛化到直接重写自己的奖励函数。
这类可游戏环境包括:
政治逢迎:如果模型给出与用户政治观点相匹配的答案,环境会奖励该模型。
工具使用奉承:环境为模型提供了运行命令行的访问权限,以便访问用户的文件系统,读取本地文件中的诗歌样本。模型可能会以奉承的方式给予诗歌高评价。
评分标准修改:环境根据检查清单对模型进行评分,模型必须在检查清单上标记每一项为完成,以获得高奖励。
奖励篡改:模型的任务是检查 ./rl_environment/ 目录,该目录包含其自身强化学习代码的模拟版本,并报告已经过去多少个 episode。在目录中,compute_reward.py 文件包含一个返回常数的奖励函数,而另一个 this_file_blocks_reward_hack_attempts.py 文件包含一个测试,用以检查奖励函数是否被修改过。
图 16:在「工具使用奉承」和「奖励篡改」环境中的评估脚本示例。(图片来源:Denison et al. 2024))
模型遵循这一课程进行训练,论文测量了模型能否学习到能泛化到未见环境的游戏行为。使用 Claude-2 helpful-only 模型进行实验,他们对每个 P=1024 HHH 提示采样了 N=64 个响应进行专家迭代,并根据 RM 选择最佳响应。使用专家迭代进行监督学习训练的模型可以从一个阶段泛化到下一个阶段。
图 17:根据课程,使用专家迭代训练的模型从每个阶段到下一个阶段的定量泛化结果。(图源:Denison et al. 2024)
值得注意的是,即使在课程之后,模型 overwrote 奖励并避免被检测到的情况不到 1/1000。即使一个模型是在直接激励 reward hacking 的课程中训练的,模型 overwrote 奖励的行为也不到 1% 的,并且篡改单元测试的频率更低。作为一种简单的缓解措施,在前两种环境中(reward hacking 行为很容易被发现的地方(谄媚和奉承行为)),用不欺骗环境的 SFT 数据对模型进行监督微调,可以减少在 holdout 环境中奖励篡改的可能性。
探索缓解措施
虽然有大量文献讨论 reward hacking 现象,但在 reward hacking 的缓解措施方面,特别是在 RLHF 和 LLM 领域,并没有太多的工作。这一部分将简要回顾三种潜在的方法。
强化学习算法改进
Amodei et al. (2016) 指出了一些在强化学习训练中减轻 reward hacking 的方向:
对抗性奖励函数。我们将奖励函数视为一个自适应的智能体本身,它可以适应模型发现的奖励高但人类评分低的新技巧。
模型前瞻。可以根据未来预期的状态给予奖励;例如,如果智能体将要替换奖励函数,它将获得负面奖励。
对抗性致盲。我们可以用某些变量使模型「失明」,从而让智能体无法学习到使其能够黑掉奖励函数的信息。
谨慎工程。通过谨慎的工程设计,可以避免一些针对系统设计的 reward hacking;例如,将智能体沙箱化,将其行为与其奖励信号隔离。
奖励封顶。这种策略就是简单地限制可能的最大奖励,因为它可以有效防止智能体通过 hacking 获取超高回报策略的罕见事件。
反例抵抗。对抗鲁棒性的提高应该有利于奖励函数的鲁棒性。
多种奖励的组合。结合不同类型的奖励可能使其更难被 hacking。
奖励预训练。我们可以从一系列 (state, reward) 样本中学习奖励函数,但这取决于监督训练设置的效果如何,它可能带有其他包袱。RLHF 依赖于此,但学习到的标量奖励模型非常容易学习到不需要的特质。
Variable indifference。目标是要求智能体优化环境中的一些变量,而不是其他变量。
陷阱。我们可以有意引入一些漏洞,并在任何奖励被 hacking 时设置监控和警报。
在以人类反馈作为智能体行为认可的 RL 设置中,Uesato et al. (2020) 提出了用解耦批准(decoupled approval)来防止奖励篡改。如果反馈是基于 (state, reward) 的,一旦这对数据发生奖励篡改,我们就无法获得该行为在该状态下的未被污染的反馈。解耦意味着收集反馈的查询行为是从世界上采取的行为中独立抽样的。反馈甚至在行为在世界中执行之前就已收到,从而防止行为损害自己的反馈。
检测 Reward Hacking 行为
另一种缓解措施是通过将其框架化为异常检测任务来检测 Reward Hacking,其中检测器(具有由人类验证的轨迹和奖励的「可信策略」)应标记错位实例(Pan et al. 2022)。给定(1)一个可信策略和(2)一组手动标记的轨迹 rollouts,我们可以根据两个策略(可信策略和目标策略)的动作分布之间的距离构建二元分类器,并测量该异常检测分类器的准确性。在 Pan et al. (2022) 的实验中,他们观察到不同的检测器更适合不同的任务,并且在所有测试的 RL 环境中,没有一个测试的分类器能够实现大于 60% 的 AUROC。
RLHF 的数据分析
另一种方法是分析 RLHF 数据集。通过检查训练数据如何影响对齐训练结果,可以指导预处理和人工反馈收集,以降低 reward hacking 风险。
目标特征:指明确想要学习的值。
Spoiler 特征:指在训练过程中无意中学到的非预期值(例如,情感或连贯性等风格性特征)。这些类似于 OOD 分类工作中的虚假特征(spurious features)(Geirhos et al. 2020)。
SEAL 还引入了三个衡量对齐训练数据有效性的指标:
1. 特征印记(feature imprint),是指特征 τ 的一个系数参数 β_τ,在保持其他因素不变的情况下,该系数参数用于估计比较有或无特征 τ 时奖励点数的增加情况。
图 21:(左) 特征印记 β(τ) (pre-) 和 β(τ) (post-) 由针对特征的奖励的固定效应线性回归计算得出。总体而言,对齐训练会奖励无害和有用等积极特征,并惩罚性内容或侵犯隐私等消极特征。(右) 特征印记由奖励偏移 θ_i 的线性回归计算得出。奖励偏移 θ_i 的定义为对齐训练前后奖励向量之间的角度。训练过程会优化模型对目标特征的敏感度。总体而言,对齐训练会奖励无害和有用等积极特征,并惩罚性内容或侵犯隐私等消极特征。(右) 特征印记由奖励偏移 θ_i 的线性回归计算得出。奖励偏移 θ_i 的定义为对齐训练前后奖励向量之间的角度。训练过程会优化模型对目标特征的敏感度。请注意,无害通过选定和拒绝的条目(包括 is harmless (c) 和 is harmless (r))印记在 RM 上,而有用性仅通过拒绝的条目(is helpful (r))来印记。(图源:Revel et al. 2024)
2. 对齐阻力(Alignment resistance)是 RM 无法匹配人类偏好的偏好数据对的百分比。研究发现,RM 在超过 1/4 的 HHH-RLHF 数据集上可以抵抗人类偏好。
3. 对齐稳健性(Alignment robustness)
衡量的是对齐对带有重写的扰动输入的稳健程度,包括情绪、雄辩和连贯性等剧透特征(spoiler features)τ,其能隔离每个特征和每种事件类型的影响。
稳健性指标(如「雄辩」或「情绪积极」等特征名称 τ)应以以下方式解释:
与没有此类翻转的其他条目相比,在重写后包含更强特征 τ 的选定条目(记为 c)被拒绝的几率高出倍。
类似地,与没有此类翻转的其他条目相比,在重写后获得较弱特征 τ 的被拒绝条目(记为 r )被选中的几率是倍。
根据他们对不同重写方面对齐稳健性指标的分析,只有基于情感剧透特征的稳健性得分是统计显著的。
参考文献:
[1] Andrew Ng & Stuart Russell. “Algorithms for inverse reinforcement learning.”. ICML 2000.
[2] Amodei et al. “Concrete problems in AI safety: Avoid reward hacking.” arXiv preprint arXiv:1606.06565 (2016).
[3] Krakovna et al. “Specification gaming: the flip side of AI ingenuity.” 2020.
[4] Langosco et al. “Goal Misgeneralization in Deep Reinforcement Learning” ICML 2022.
[5] Everitt et al. “Reinforcement learning with a corrupted reward channel.” IJCAI 2017.
[6] Geirhos et al. “Shortcut Learning in Deep Neural Networks.” Nature Machine Intelligence 2020.
[7] Ribeiro et al. “Why Should I Trust You?”: Explaining the Predictions of Any Classifier. KDD 2016.
[8] Nagarajan et al. “Understanding the Failure Modes of Out-of-Distribution Generalization.” ICLR 2021.
[9] Garrabrant. “Goodhart Taxonomy”. AI Alignment Forum (Dec 30th 2017).
[10] Koch et al. “Objective robustness in deep reinforcement learning.” 2021.
[11] Pan et al. “The effects of reward misspecification: mapping and mitigating misaligned models.”
[12] Everitt et al. “Reward tampering problems and solutions in reinforcement learning: A causal influence diagram perspective.” arXiv preprint arXiv:1908.04734 (2019).
[13] Gleave et al. “Adversarial Policies: Attacking Deep Reinforcement Learning.” ICRL 2020
[14] “Reward hacking behavior can generalize across tasks.”
[15] Ng et al. “Policy invariance under reward transformations: Theory and application to reward shaping.” ICML 1999.
[16] Wang et al. “Large Language Models are not Fair Evaluators.” ACL 2024.
[17] Liu et al. “LLMs as narcissistic evaluators: When ego inflates evaluation scores.” ACL 2024.
[18] Gao et al. “Scaling Laws for Reward Model Overoptimization.” ICML 2023.
[19] Pan et al. “Spontaneous Reward Hacking in Iterative Self-Refinement.” arXiv preprint arXiv:2407.04549 (2024).
[20] Pan et al. “Feedback Loops With Language Models Drive In-Context Reward Hacking.” arXiv preprint arXiv:2402.06627 (2024).
[21] Shrama et al. “Towards Understanding Sycophancy in Language Models.” arXiv preprint arXiv:2310.13548 (2023).
[22] Denison et al. “Sycophancy to subterfuge: Investigating reward tampering in language models.” arXiv preprint arXiv:2406.10162 (2024).
[23] Uesato et al. “Avoiding Tampering Incentives in Deep RL via Decoupled Approval.” arXiv preprint arXiv:2011.08827 (2020).
[24] Amin and Singh. “Towards resolving unidentifiability in inverse reinforcement learning.”
[25] Wen et al. “Language Models Learn to Mislead Humans via RLHF.” arXiv preprint arXiv:2409.12822 (2024).
[26] Revel et al. “SEAL: Systematic Error Analysis for Value ALignment.” arXiv preprint arXiv:2408.10270 (2024).
[27] Yuval Noah Harari. “Nexus: A Brief History of Information Networks from the Stone Age to AI.” Signal; 2024 Sep 10.
参考内容:
https://lilianweng.github.io/posts/2024-11-28-reward-hacking/