RLHF 与 RL 到底能不能归属为一类,看来大家还是有不一样的看法。
AI 大牛 Karpathy 又来科普人工智能概念了。
昨日,他发推表示,「基于人类反馈的强化学习(RLHF)只是勉强算得上是强化学习(RL)。」
Karpathy 的全文解释如下:
RLHF 是训练大语言模型(LLM)的第三个(也是最后一个)主要阶段,前两个阶段分别是预训练和监督微调(SFT)。我认为 RLHF 只是勉强算得上 RL,它没有得到广泛的认可。RL 很强大,但 RLHF 却不然。
让我们看看 AlphaGo 的例子,它是使用真正的 RL 训练的。计算机玩围棋(Go)游戏,并在实现奖励函数最大化的回合(赢得比赛)中训练,最终超越了最厉害的人类棋手。AlphaGo 没有使用 RLHF 进行训练,如果它用了,效果就不会那么好。
用 RLHF 训练 AlphaGo 会是什么样子呢?首先,你要给人类标注员两个围棋棋盘的状态,然后问他们更喜欢哪一种:
然后你会收集到 10 万个类似的比较,并训练一个「奖励模型」(RM)神经网络来模拟人类对棋盘状态的氛围检查(vibe check)。你要训练它同意人类判断的平均水平。一旦我们有了奖励模型氛围检查,你就可以针对此运行 RL,学习如何下出带来良好氛围的棋步。显然,这不会在围棋中产生任何太有趣的结果。
这主要有以下两个根本的、独立的原因:
1) 氛围可能会产生误导,这不是实际奖励(赢得比赛)。这是一个糟糕的智能体目标。更糟糕的是,2) 你会发现你的 RL 优化偏离了轨道,因为它很快发现棋盘状态与奖励模型相反。请记住,奖励模型是一个庞大的神经网络,使用数十亿参数来模拟氛围。有些棋盘状态超出了自身训练数据的分布范围,实际上并不是良好状态,但却从奖励模型中获得了非常高的奖励。
出于同样的原因,我有时感到惊讶的一点是 RLHF 工作竟然适用于 LLM。我们为 LLM 训练的奖励模型只是以完全相同的方式进行氛围检查,它会对人类评分者在统计学上看起来喜欢的助手响应给出高分。这不是正确解决问题的实际目标,而是人类认为好的智能体目标。
其次,你甚至无法长时间地运行 RLHF,因为你的模型很快学会以游戏奖励模型的方式来做出响应。这些预测看起来真的非常奇怪,你会看到你的 LLM 助手开始对很多 prompt 做出无意义的响应,比如「The the the the the the」。这在你看来是荒谬的,但随后你查看奖励模型氛围检查,却发现出于某种原因,奖励模型会认为这些看起来很棒。
你的 LLM 发现了一个对抗性示例,它超出了奖励模型训练数据的范围,处于未定义的范围。你可以通过反复讲这些特定示例添加到训练集来缓解这一情况,但下次仍会找到其他对抗性示例。你甚至无法运行 RLHF 进行很多优化步骤。你执行了几百或几千步之后必须调用它,因为你的优化将开始与奖励模型博弈。这并不是 AlphaGo 那样的 RL。
不过,RLHF 是构建 LLM 助手的一个非常有用的步骤。我认为这有几个微妙的原因,其中我最喜欢的一点是通过 RLHF,LLM 助手会从生成器 - 判别器的 gap 中受益。也就是说,对于很多问题类型,人类标注员从几个候选答案中选出最佳答案要比从头写出理想答案容易得多。一个很好的例子是像「生成一首回形针诗」这样的 prompt。一个普通的人类标注员很难从头写出一首好诗来作为监督微调示例,但可以在给定几个候选答案(诗)的情况下选出一首较好的。因此 RLHF 是一种从人类监督的「容易度」差距中获益的方式。
还有一些其他原因,比如 RLHF 有助于缓解幻觉。如果奖励模型是一个足够强大的模型,能够在训练期间发现 LLM 编造的东西,则可以学会用低奖励来惩罚这种行为,教会模型在不确定时避免冒险获取事实性知识。但令人满意的幻觉缓解和处理是另外的事情,这里不做延伸。总之,RLHF 确实有用,但它不是 RL。
到目前为止,还没有一个针对 LLM 的生产级 RL 在开放域得到令人信服的实现和大规模展示。直观地说,这是因为在开放式问题解决任务中获得实际奖励(即赢得比赛)非常困难。在围棋这类封闭、类博弈的环境中,一切都很有趣。其中动态受到限制,奖励函数评估成本很低,不可能进行博弈。
但是,你如何为总结一篇文章提供客观的奖励?或者回答关于某个 pip 安装的模棱两可的问题?或者讲个笑话?或者将一些 Java 代码重写为 Python?实现这些在原则上并非不可能, 但也非易事,需要一些创造性思维。无论谁能令人信服地解决这个问题,都将能够运行真正的 RL,使得 AlphaGo 在围棋中击败了人类。有了 RL,LLM 在解决开放域问题中才有可能真正击败人类。
Karpathy 的观点得到一些人的附议,并指出 RLHF 与 RL 的更多差异。比如 RLHF 没有进行适当的搜索,主要学习利用预训练轨迹的子集。相比之下,在进行适当的 RL 时,离散动作分布通常会通过在损失函数中添加熵项来增噪。Kaypathy 认为,原则上你可以轻松地为 RLHF 目标添加熵奖励,这在 RL 中也经常这样做。但实际上似乎并不多见。
谷歌研究科学家 Kevin Patrick Murphy 也完全同意 Karpathy 的观点。他认为 RLHF 更像是一个具有字符串值操作的上下文「强盗」,其中 prompt 是上下文,所以不能称为完整的 RL。此外将日常任务的奖励形式化是困难的部分(他认为或许可以叫做对齐)。
图源:https://x.com/sirbayes/status/1821421936045597022
不过,另一位谷歌高级研究科学家 Natasha Jaques 认为 Karpathy 的观点是错误的。她认为智能体在与人互动时,给出人类喜欢的答案才是真正的目标。
超出分布范围并不是 RLHF 独有的问题。如果仅仅因为人类反馈比运行无限的围棋模拟更受限,并不意味着这不是一个不值得解决的问题,只会让它成为一个更具挑战性的问题。她希望这成为一个更有影响力的问题,毕竟在 LLM 中减少偏见比在围棋中击败人类更有意义。使用贬义的话术,比如 Karpathy 说奖励模型是一种氛围检查,这是愚蠢的。你可以用同样的论点来反对价值估计。
她觉得 Karpathy 的观点只会阻止人们从事 RLHF 工作,而它是目前唯一可行的减轻 LLM 偏见和幻觉可能造成严重伤害的方法。
图源:https://x.com/natashajaques/status/1821631137590259979
Meta 研究者 Pierluca D'Oro 不同意 Karpathy 的主要观点,但同意「RLHF is just barely RL」这一标题。他认为通常用于微调 LLM 的 RLHF 几乎不能算是 RL。
主要观点如下:在强化学习中,追求一个「完美的奖励」概念是不现实的,因为大多数复杂任务中,除了目标的重要性,执行方式同样重要。尽管在围棋等明确规则的任务中,RL 表现出色。但在涉及复杂行为时,传统 RL 的奖励机制可能无法满足需求。他主张研究如何在不完美的奖励模型下提高 RL 的性能,并强调了反馈循环、鲁棒 RL 机制以及人机协作的重要性。
图源:https://x.com/proceduralia/status/1821560990091128943
你赞同谁的观点呢?欢迎在评论区留言。