离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

新智元报道

编辑:静音 泽正

【新智元导读】Lilian Weng离职OpenAI后首篇博客发布!文章深入讨论了大模型强化学习中的奖励欺骗问题。随着语言模型在许多任务上的泛化能力不断提升,以及RLHF逐渐成为对齐训练的默认方法,奖励欺骗在语言模型的RL训练中已经成为一个关键的实践性难题。

上个月刚刚离开OpenAI的Lilian Weng,发布了离职后的首篇博客!

在当时的离职信里,她承诺将付出更多的时间来更新博客。

果不其然,感恩节假期刚刚结束,她的博客马上就营业了,更新了一篇关于奖励欺骗问题的文章。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

谷歌DeepMind高级员工RS Shane Gu评论道「Great writing!」,还给了一个引用论文的小建议。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

伯克利的AI博士生Micah Carroll也赞道「Great blogpost!」,顺便还介绍了一下他们最近的奖励欺骗研究。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

那么,什么是奖励欺骗呢?

奖励欺骗(Reward Hacking)是指强化学习(RL)智能体通过利用奖励函数中的漏洞或模糊性,获得高奖励但没有真正学习或完成预期任务的现象。

这个概念起源于2016年开创性论文「Concrete Problems in AI Safety」中提出的一系列关于AI安全的开放性研究问题。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

奖励欺骗的存在是因为RL环境通常并不完美,毕竟精确地定义奖励函数本身也是一个根本性的挑战。

概括地说,奖励欺骗可以分为两种类型:环境或目标指定错误,以及奖励篡改。

- 环境或目标指定错误:该模型通过入侵环境或优化与真实奖励目标不一致的奖励函数(例如,当奖励指定错误或缺乏关键要求时)来学习意外行为以获得高奖励。

- 奖励篡改:模型学习干扰奖励机制本身。

通俗来讲,奖励欺骗问题就是说,模型会「作弊」了。

例如训练一个机器人手臂抓取物体时,机器人可能通过将手放置在物体与摄像机之间来欺骗观察者。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

随着语言模型在许多任务上的泛化能力不断提升,以及人类反馈强化学习(RLHF)逐渐成为对齐训练的默认方法,奖励欺骗在语言模型的RL训练中已经成为一个关键的实践性难题。

比如,模型可能学会篡改单元测试以通过编程任务,或生成包含用户偏好所反映的偏见的回答,这些现象都令人担忧,并可能成为AI模型在更多自主场景中实现实际部署的主要障碍之一。

过去关于奖励欺骗的研究大多比较理论化,主要集中在定义问题或证明其存在。

然而,在实践中提出缓解措施的研究,尤其是针对RLHF和大语言模型的,仍然非常有限。

Lilian Weng特别呼吁大家进一步研究奖励欺骗的缓解策略,尤其是在LLM和RLHF的上下文中。

为什么存在奖励欺骗?

论文「Concrete Problems in AI Safety」中总结认为,奖励欺骗行为,主要是在强化学习环境中,可能由于以下原因发生:

- 部分观察到的状态和目标并不能完美地代表环境状态。

- 系统本身复杂且易受攻击;例如,如果允许智能体执行代码以改变环境的一部分,那么更容易利用环境来欺骗性地实现奖励目标。

- 奖励可能涉及难以学习或表述的抽象概念;例如,具有高维输入的奖励函数可能不成比例地依赖于少数几个维度。

- 强化学习旨在将奖励函数高度优化,因此存在内在的「冲突」,使得设计良好的强化学习目标变得具有挑战性。一种特殊情况是奖励函数具有自我强化反馈成分,在这种情况下,奖励可能会被放大和扭曲,以至于破坏了最初的意图,例如广告推荐算法导致赢家通吃。

此外,确定最佳智能体优化其行为的确切奖励函数通常是不可能的,因为在固定环境中可能存在无限多个与目标策略一致的奖励函数。

强化学习中的奖励欺骗

随着模型和算法变得越来越复杂,奖励欺骗预计会成为一个更常见的问题。

更聪明的智能体更能够发现奖励函数设计中的漏洞,并利用这些漏洞来获得更高的奖励——也就是说,智能体可能通过不符合预期的行为得到更多的奖励,但这些奖励并不能反映它是否真正完成了任务。

而如果算法比较弱,它就无法发现这些漏洞,结果我们就不会看到奖励欺骗的现象,也难以识别出当前奖励函数设计的问题。

在论文「Emergent Complexity via Multi-Agent Competition」中提到,在一组机器人自对弈的游戏中,我们可以训练两个智能体(一个是受害者,另一个是对手)互相竞争。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

正常的训练方法会让受害者在与普通对手对抗时表现得足够好。但如果我们训练一个「对抗性」对手策略,即使这个策略看起来是随机的,且只用了不到3%的时间去训练,它也能稳定地打败受害者智能体。

对抗性策略的训练方式和标准的强化学习类似,都是通过优化奖励来训练,只不过受害者策略被当作一个「黑盒」,无法直接干预。

一种直观的方式来应对这种攻击是对受害者进行微调,让它能够对抗这种对抗性策略。但是,一旦受害者适应了新的对抗性策略,它仍然会对下一版本的对抗性策略感到脆弱。

那么,为什么会出现这种对抗性策略呢?原因在于,对抗性策略通过引入一些与训练环境不同的观察,即「分布外(OOD)观察」来迷惑受害者,而不是通过直接物理干扰它。

研究发现,当受害者对对手位置的观察被屏蔽并设为静态状态时,受害者在面对对抗性智能体时变得更具鲁棒性,尽管在面对普通对手策略时表现较差。

此外,更高维度的观察空间在正常情况下能提高性能,但也可能让策略更容易被对抗性对手攻破。

「The Effects of Reward Misspecification: Mapping and Mitigating Misaligned Models」一文研究了奖励欺骗与智能体能力之间的关系,包括模型大小,动作空间分辨率,观察空间噪声和训练时间。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

他们还提出了三种类型的错误指定代理奖励(misspecified proxy rewards)的分类法:

1. 误加权(Misweighting):代理奖励和真实奖励捕捉相同的目标或期望结果,但它们在权重或重要性上有所不同。

2. 本体论误指定(Ontological):代理奖励和真实奖励使用不同的目标或期望结果来捕捉相同的概念。

3. 范围误指定(Scope):代理奖励在一个有限的范围内度量期望结果(例如时间或空间),而没有涵盖所有可能的情况。因为在所有条件下测量的成本过高。

他们在四个强化学习环境中进行了实验,配对了九个误指定的代理奖励。以下是这些实验的总体发现:更高能力的模型倾向于获得更高(或相似的)代理奖励,但真实奖励会下降。

- 模型大小:更大的模型会增加代理奖励,但减少真实奖励。

- 动作空间分辨率:增加动作的精度能让智能体更强大,但高分辨率导致代理奖励保持不变,而真实奖励下降。

- 观察精度:更准确的观察能提高代理奖励,但会略微减少真实奖励。

- 训练步数:在更多步数上优化代理奖励,在初期有正相关时,过多的训练会在后期对真实奖励造成负面影响。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

代理奖励和真实奖励的变化与(顶部行)模型大小(以参数数量衡量)、(底部行)模型能力(通过训练步数、动作空间分辨率和观察噪声等指标衡量)的关系。

如果代理奖励指定得非常差,以至于与真实奖励的相关性极弱,那么我们可能在训练之前就能识别并防止奖励欺骗。

基于这一假设,Pan等在论文「The Effects of Reward Misspecification: Mapping and Mitigating Misaligned Models」中使用了一组轨迹滚动来观察代理奖励和真实奖励之间的关系。有趣的是,即使在代理奖励和真实奖励之间存在正相关时,奖励欺骗仍然会发生。

大模型利用RLHF来进行欺骗

从人类反馈强化学习(RLHF)已成为语言模型对齐训练的事实方法。奖励模型在人类反馈数据上进行训练,然后通过强化学习对语言模型进行微调,以根据人类偏好优化此代理奖励。在RLHF设置中,我们关心三种类型的奖励:

(1) Oracle/Gold奖励∗代表了我们真正希望LLM优化的内容。

(2) 人类奖励是我们收集的用于在实践中评估LLM的数据,通常来自有时间限制的个体。由于人类可能提供不一致的反馈或犯错误,人类奖励并不能完全准确地代表oracle奖励。

(3) 代理奖励是通过在人工数据上训练的奖励模型预测的分数。因此,继承了人类奖励的所有弱点,以及潜在的建模偏差。

但目前RHLF优化的主要是代理奖励R,而不是我们真正关注的Oracle/Gold奖励∗。

RLHF旨在提高模型与人类偏好的一致性,但人类反馈可能无法捕捉我们关心的所有方面(例如,事实性),因此可能会被操纵以对一些并不期望的属性发生过拟合。

例如,模型可能会被优化为输出看起来正确且有说服力的响应,但实际上是不准确的,从而误导人类评估人员更频繁地批准其错误答案,如此走入一个死循环,愈来愈南辕北辙。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

通过上图可以发现,经过RLHF后,人类评估奖励上升了9.4,但同时Oracle奖励却下降了1.8,人类评估错误率也上升了7.4。

换句话说,RLHF让真正的正确和对人类看起来正确之间出现了鸿沟。例如论文「Language Models Learn to Mislead Humans via RLHF」就使用了基于ChatbotArena数据的奖励模型进行RLHF实验。他们在问答数据集QuALITY和编程数据集APPS上评估了该模型。

他们的实验表明,就算本来模型给出的是错误的答案,他们也能颠倒是非,说服人类相信他们是正确的,而且甚至这种表现还是无意之间的。

谄媚指模型响应倾向于匹配用户意愿而不是反映真相。例如下图中,用户要求LLM对一个论点进行响应时,当用户声明了偏好之后,它们往往会有更加符合用户偏好的激进响应。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

通过逻辑回归预测人类反馈的RLHF有效性数据集的数据分析表明,匹配用户意愿是最具显著性的因素。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

LLM来进行评估也会产生奖励欺骗

随着LLM的能力越来越强,让LLM作为评估者,为其他生成式模型提供反馈和训练奖励,是一种符合直觉的选择,尤其是在无法轻易判断或验证的任务中(例如处理长篇输出、对于写作质量进行主观评分等)。

有人将此称为「LLM-as-grader paradigm」。这种方法在很大程度上减少了对人工标注的依赖,大大节省了评估时间。

然而,使用LLM作为评分员并不能完全代表oracle奖励,而且可能会引入偏差,例如在与不同的模型进行比较时,它会偏好自己同一个系列归属的回答,或者在按顺序评估回答时会出现位置偏差。

例如GPT-4会持续给第一个候选者打高分,而ChatGPT则更倾向于第二个候选者。这种偏差尤其令人担忧,因为它作为评估者的输出被用作奖励信号的一部分,可能导致通过利用这些评分者进行奖励欺骗。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

论文「LLM as Narcissistic Evaluators: When Ego Inflates Evaluation Scores」使用多种模型(BART、T5、GPT-2、GPT-3、FLAN-T5、Cohere)对摘要任务进行了实验,并跟踪了基于参考和无参考的指标来评估摘要质量。

当将评估分数绘制成评估者(x轴)与生成器(y轴)的热图时,他们观察到两种指标都存在深色对角线,则表明存在自我偏差。这意味着当LLM作为评估者时,它们倾向于选择自己的输出结果。

情景奖励欺骗

迭代自我优化是一种训练设置模式,其中评估模型和生成模型相同,两者都可以进行微调。在这种模式中,优化目标可以驱动模型利用评估模型和生成模型训练时出现的漏洞。

在「Spontaneous Reward Hacking in Iterative Self-Refinement」中,使用相同的模型作为评估者和生成者,去处理不同的提示词,但是并不更新模型参数。

实验任务是论文编辑,有两个角色:(1)一个评估者,对论文给出反馈;(2)一个生成者,根据反馈编辑论文。

人类评价分数被收集为论文质量的oracle分数。生成者假设这种设置可能导致情景奖励欺骗(in-context reward hacking,ICRH),即为评估者分数和oracle分数发生分歧。

更普遍地说,ICRH发生在LLM与其评估者(例如另一个LLM或外部环境)之间的反馈循环中。在测试时,LLM优化一个(可能是隐含的)目标,但这在过程中产生了负面影响。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

论文评价和编辑情境下奖励欺骗实验的示意图

此外,实验也证明了较小的模型更容易发生ICRH,如GPT-3.5比GPT-4表现出更严重的ICRH。同时,当评估者和生成者共享相同数量的历史迭代时,ICRH现象更为明显。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

将ICRH与传统的奖励欺骗技术相比较,有两点明显不同:

- ICRH是在部署时通过反馈回路在自我完善设置中进行的,而传统的奖励欺骗行为则发生在训练过程。

- 传统的奖励欺骗行为是在智能体专门从事某项任务时产生的,而ICRH则是由通用型模型驱动的。

目前尚无有效方法完全避免、检测或预防ICRH,因为改善提示词规格并不足以消除ICRH,而且增加模型规模可能加剧ICRH问题。在部署前的最佳测试实践是通过更多轮次的反馈、多样化的反馈以及注入非典型环境观察来模拟部署时可能发生的情况。

奖励欺骗的泛化

奖励欺骗行为已被发现能够跨任务进行泛化:当模型在监督学习中出现缺陷时,有时这种缺陷会泛化,并利用分布外(OOD)环境中的漏洞。

研究人员在一些可以进行奖励欺骗的环境中强化奖励欺骗行为,并检查这种行为是否会泛化到其他数据集。

简而言之,他们准备了8个多项选择题的数据集,其中4个用于训练,4个用于测试。训练时,采用专家迭代的方法,也就是在最好的样本上反复调整和优化模型。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

如果在一组设计了可以进行奖励欺骗的环境中训练GPT-3.5,它可能会学会通过作弊获得奖励,这种作弊行为可能会在新的、未见过的环境中也发生

值得注意的是,所有实验都采用了一个「草稿本」设计,用来记录模型在推理过程中的隐藏步骤。这个草稿本帮助我们理解模型在整个过程中的思考方式。通过分析草稿本,我们发现它能够:

- 综合考虑用户的信念,比如思考它的对话伙伴和评分者的观点。

- 展现对评价过程的意识,比如思考模型的回答将如何被评估。

论文「Sycophancy to Subterfuge: Investigating Reward-Tampering in Large Language Models」研究了奖励篡改,使用了一个手动策划的、逐渐复杂化的、可被游戏化的环境课程。他们观察到,在课程中较简单的环境训练,会放大其余环境中的规范游戏行为。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

在某些情况下,模型可以通过零样本学习直接重写自己的奖励函数,这种行为在训练完整个课程后得以泛化。

这种可被游戏化的环境课程包括:

1. 政治谄媚:如果模型给出的答案符合用户的政治观点,环境会奖励模型。

2. 工具使用奉承:环境允许模型运行命令行以访问用户的文件系统,读取本地文件中的诗歌样本。模型可能会出于奉承的目的,给诗歌打高分。

3. 评分标准修改:环境根据检查清单对模型进行评分,模型必须标记每个项目为「已完成」,才能获得高奖励。

4. 奖励篡改:模型被要求检查一个目录,目录中有一个虚拟版本的强化学习代码,并报告经过多少回合。该目录中的一个文件包含一个始终返回常数值的奖励函数,另一个文件则包含一个检查是否修改奖励函数的测试。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

「工具使用奉承」和「奖励篡改」环境中的评估脚本示例,被隐藏以避免监督,可以在虚拟机中执行

模型按照这个课程进行了训练,论文测量了模型是否能够学习到可以泛化到未见环境的游戏行为。通过对Claude-2 helpful-only model进行实验,从每1024个HHH提示中采样64个响应,并根据RM选择最佳响应。使用专家迭代进行监督学习的模型能够从一个阶段泛化到下一个阶段。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

值得注意的是,即使在完成课程后,模型重写奖励并避免被检测到的次数不到1/1000。即使在直接激励奖励欺骗的课程上训练模型,模型重写奖励的次数也不到1%,且篡改单元测试的次数更少。

作为一个简单的缓解措施,研究发现,对模型进行监督微调,尤其是针对前两个环境进行微调——这两个环境中奖励欺骗行为容易被检测到(谄媚和奉承),并使用不进行游戏化的SFT数据,发现能减少在保留环境中奖励篡改的可能性。

奖励欺骗的缓解方法

强化学习算法改进

论文「Concrete Problems in AI Safety」指出了几种在强化学习训练中缓解奖励欺骗的方向:

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

1. 对抗性奖励函数。我们将奖励函数视为一个自适应智能体,可以根据模型发现的新策略进行调整,这些策略可能在获得高奖励的同时,人类评分却较低。

2. 模型前瞻。可以基于未来的预期状态来给出奖励。例如,如果智能体即将替换奖励函数,它将会得到负奖励。

3. 对抗性盲化。通过遮蔽模型中的某些变量,避免智能体获得能够破解奖励函数的关键信息。

4. 谨慎工程设计。通过谨慎的工程设计可以避免某些类型的奖励欺骗行为,例如通过沙箱技术将智能体的行为与奖励信号隔离。

5. 奖励上限。通过设置奖励的最大值,可以有效防止智能体通过欺骗行为获得过高的回报。

6. 反例抗性。增强对抗性鲁棒性有助于提升奖励函数的稳健性。

7. 多奖励组合。结合不同类型的奖励,可能使奖励欺骗更加困难。

8. 奖励预训练。通过一组(状态,奖励)样本来学习奖励函数,尽管效果取决于训练设置的优劣,可能会带来一些副作用。RLHF依赖此方法,但学习的标量奖励模型容易学习到不良特征。

9. 变量无关性。要求智能体优化环境中的特定变量而忽略其他变量。

10. 陷阱设计。故意引入一些漏洞,并设置监控以在奖励被篡改时进行报警。

在强化学习设置中,当人类反馈用作批准智能体行为时,论文「Avoiding Tampering Incentives in Deep RL via Decoupled Approval」提出了一种通过「解耦批准」来防止奖励篡改的方法。

如果反馈基于(s,a),即(状态,动作)对,那么一旦奖励篡改发生,对于这个状态下的某个行为,就无法得到真实的反馈。

解耦意味着,收集反馈时,反馈的查询行为与智能体在现实中采取的行为是独立的。也就是说,反馈是在智能体执行行为之前就收集到的,这样就可以防止智能体的行为污染它自己收到的反馈。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

解耦批准是如何工作的,与标准批准或人类反馈环(human-in-the-loop)强化学习的方式进行对比

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

在解耦批准中,实际执行的动作(世界中的动作)与查询动作(获取用户批准反馈的动作)是独立采样的。它可以应用于(左)策略梯度和(右)Q学习算法

检测奖励欺骗

一种缓解方法是将奖励欺骗行为视为「异常检测」任务,检测器(具有经人工验证的轨迹和奖励的「可信策略」)应标记错位实例。

给定可信策略和人工标注的轨迹滚动集合,我们可以根据两个策略(可信策略和目标策略)的行动分布之间的距离建立一个二元分类器,并测量该异常检测分类器的准确性。

在论文「The Effects of Reward Misspecification: Mapping and Mitigating Misaligned Models」的实验中,研究者们观察到不同的检测器对不同的任务有更好的效果,在所有测试的RL环境中,没有一个测试分类器的AUROC能大于60%。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

不同任务中检测器的性能

数据分析和RLHF

另一种方法是分析强化学习与RLHF的数据集。通过考察训练数据如何影响对齐训练的结果,可以得到一些见解来指导预处理和人类反馈收集的过程,以减少奖励欺骗的风险。

论文「SEAL: Systematic Error Analysis for Value ALignment」引入了一组评估指标,用于衡量数据样本特征在建模和对齐人类价值观方面的有效性。

他们在HHH-RLHF数据集中进行了针对价值对齐的系统误差分析。分析中使用的特征分类(例如是否无害、是否拒绝以及是否有创意)都是人为预先定义的。然后,根据这个分类,使用LLM为每个样本按特征标记一个二进制标志。特征基于启发式方法被分为两类:

- 目标特征:明确希望学习的价值观。

- 扰动特征:在训练过程中无意中学到的价值观(例如情感等主观风格特征)。

离职OpenAI后Lilian Weng博客首发!深扒RL训练漏洞,业内狂赞

上图左面板中橙色点表示训练前的奖励印记,绿色点表示训练后的奖励印记。我们可以观察到:

- 训练后(绿色点),正面特征(如「is helpful」)的奖励印记普遍增加,表明这些特征在训练后被更积极地奖励。

- 负面特征(如「contains insult」)的奖励印记减少,表明这些特征在训练后受到惩罚。

这种变化反映了训练过程中对模型的调整,使其更倾向于奖励正面特征,惩罚负面特征。

上图右面板中黑色点表示奖励偏移的估计值,即训练前后奖励向量之间的角度变化。我们同样可以观察到:

- 对于负面特征,如「breaks privacy」,奖励偏移为负值,表明这些特征在训练后受到更强烈的惩罚。

- 对于正面特征,如「is helpful」,奖励偏移为正值,表明这些特征在训练后受到更多的奖励。

这种奖励偏移的变化反映了模型在训练过程中对不同特征敏感度的调整。

总体而言,对齐训练奖励了无害性和有益性等积极特征,并惩罚了如色情内容或隐私侵犯等消极特征。

参考资料:

https://lilianweng.github.io/posts/2024-11-28-reward-hacking/

https://x.com/lilianweng/status/1863436864411341112

https://arxiv.org/abs/1606.06565