发布日期:2023 年 11 月 10 日
撰稿人:Dave Bergmann
人类反馈强化学习 (RLHF) 是一种机器学习技术,利用人类的直接反馈来训练“奖励模型”,然后利用该模型通过强化学习来优化人工智能坐席的性能。
RLHF 也称为“基于人类偏好的强化学习”,特别适合处理那些目标复杂、定义不明确或难以精准表述的任务。例如,用算法以数学公式来定义“有趣”是不切实际的(甚至不可能),但对人类来说,评判大语言模型 (LLM) 生成的笑话是否有趣却很简单。这些人类反馈被提炼成奖励函数,然后便可用来改进 LLM 创作笑话的能力。
在 2017 年的一篇论文中,OpenAI 的 Paul F. Christiano 连同 OpenAI 和 DeepMind 的其他研究人员共同详细介绍了 RLHF 在训练 AI 模型以执行 Atari 游戏和模拟机器人运动等复杂任务方面所取得的成功。1在此突破性成果的基础上,电子游戏仍是 RLHF 的重要试验场:到 2019 年,由 RLHF 训练的 AI 系统(如 OpenAI Five 以及 DeepMind 的 AlphaStar)分别在复杂得多的 Dota 22 和 StarCraft3 中击败了人类顶级职业玩家。
也许最重要的是,OpenAI 2017 年的论文指出,其方法——特别是引入用于更新模型权重的近端策略优化 (PPO) 算法——大大降低了收集和提炼必要的人类反馈的成本。这为 RLHF 与自然语言处理 (NLP) 领域的最终整合铺平了道路,由此产生的进步有助于将 LLM 和 RLHF 引入 AI 研究的先锋。
详细介绍 RLHF 在语言模型上的使用的第一个代码版本来自 OpenAI4 于 2019 年发布的代码,该公司随后于 2022 年初发布了经过 RLHF 训练的 InstructGPT。5这是弥合 GPT-3 和 GPT-3.5-turbo 模型之间差距的关键一步,为 ChatGPT 的推出提供了动力。
此后,RLHF 便被用于 OpenAI、DeepMind、Google6 和 Anthropic7 的先进 LLM 的训练。
了解构建块和最佳实践以帮助您的团队加速开发负责任的 AI。
注册以获取有关基础模型的指南
从概念上讲,强化学习 (RL) 旨在模仿人类的学习方式:人工智能代理在强烈的成功动机的推动下,通过反复试验进行整体学习。
为了将该策略付诸实践,强化学习的数学框架包含以下组成部分:
状态空间是当前任务的所有可用信息,这些信息与 AI 代理可能做出的决策相关,包括已知和未知变量。状态空间通常会随着代理做出的每个决策而变化。
操作空间包含 AI 代理可能做出的所有决策。例如,在棋类游戏中,操作空间是离散且明确定义的:它由 AI 玩家在给定时刻可以采取的所有合法移动操作组成。在文本生成任务中,操作空间非常巨大,包括 LLM 可用的整个令牌“词汇表”。
奖励是激励 AI 代理的成功或进步的衡量标准。在某些情况下,例如棋盘游戏,成功的定义(在本例中为赢得游戏)是客观且直接的。但是,当“成功”的定义模糊不清时,设计有效的奖励函数可能是一项重大挑战。在数学框架中,这种反馈必须转化为奖励信号:正(或负)反馈的标量量化。
奖励函数可以通过惩罚(负奖励)来补充,也就是惩罚那些被认为对当前任务产生反作用的行为。例如,企业可能希望禁止聊天机器人使用脏话或其他粗俗语言;自动驾驶汽车模型可能会因碰撞或偏离车道而受到惩罚。
本质上,策略是驱动 AI 代理行为的策略或“思维过程”。用简单的数学术语来说,策略 (“π”) 是一个以状态 (“s”) 作为输入并返回动作 (“a”) 的函数:π(s)→a。
RL 算法的目标是优化策略以产生最大奖励。在深度强化学习中,策略以神经网络的形式表示。在训练过程中,神经网络会根据奖励函数不断更新。AI 坐席能够从经验中学习,就像人类一样。
传统强化学习在很多领域取得了骄人的成绩,但在一些复杂任务上,由于很难明确定义什么是“成功”,构建有效的奖励函数就成了难题。RLHF 的主要优势是它能够使用积极的人类反馈代替形式化定义的目标,从而捕捉细微差别和主观性。
RLHF 最突出的应用之一是让大语言模型 (LLM) 变得更靠谱、更精准、更合乎伦理,尤其是当其用作聊天机器人时。
和所有生成式 AI 模型一样,LLM 旨在复制训练数据的概率分布。尽管最近的进展进一步推动了 LLM 作为聊天机器人引擎,甚至作为通用 AI 推理引擎得到应用,但这些语言模型只是使用从训练数据中学到的模式来预测给定序列中接下来的一个或多个词语,即通过提示启动。从根本上讲,这些模型实际上并没有回答提示:它们只是向提示追加文本。
如果没有非常具体的指令,语言模型几乎无法理解用户意图。虽然提示工程有助于提供必要的上下文,让 LLM 根据用户需求调整回应,但要求每次与聊天机器人的交流都依赖提示工程是不切实际的。
此外,尽管开箱即用的 LLM 经过传统方法的训练,能够产生语法通顺的输出,但训练 LLM 产生“良好”的输出却是一个谜一样的难题。诸如“真实”、“有用”、“创意”甚至是什么让代码片段可以运行这样的概念,比起单纯的词义和语言结构,更加依赖于具体语境。
为了让语言模型更好地适应人类交互,数据科学家开始利用人类反馈进行强化学习。RLHF 增强的 InstructGPT 模型明显优于其前身 GPT-3,特别是在遵循指令、保证事实准确性和避免模型幻觉方面。5 同样,OpenAI 在 GPT-4 推出时发布的研究表明,RLHF 在对抗性问题上的准确性提高了一倍。8
RLHF 的优势甚至可以取代更大型训练数据集的价值,从而实现更高效的数据模型开发:OpenAI 指出,与 175B 参数版本的 GPT-3 的偶数输出相比,其标签人员更喜欢 1.3B 参数版本的 InstructgPT 的输出。5
利用 RLHF 训练 LLM 通常发生在如下四个阶段:
RLHF 通常用于微调和优化预先训练的模型,而不是用作端到端的训练方法。例如,InstructGPT 利用 RLHF 来增强先前就有的 GPT(即生成式预训练转换器)模型。OpenAI 在 InstructGPT 的发布公告中表示,“我们可以将这个过程理解为它‘解锁’了 GPT-3 潜在的能力,这些能力虽早已存在,但仅靠提示工程很难调动出来。”5
到目前为止,预训练仍然是 RLHF 最耗费资源的阶段。OpenAI 指出,InstructGPT 的 RLHF 训练过程所需的计算资源和数据为 GPT-3 预训练阶段的 2% 差一点。
在正式进入强化学习阶段之前,需要利用监督微调 (SFT) 来引导模型,使其生成的响应符合用户的预期格式。
正如前面提到的,LLM 预训练过程优化模型以完成以下操作:通过复制模型预训练期间学习的语言模式,根据用户的提示开始预测序列中的下一个单词。有时,LLM 不会按照用户想要的方式完成序列:例如,如果用户的提示是“教我如何制作简历”, LLM 可能会回答“使用 Microsoft Word。”这是完成句子的有效方法,但与用户的目标不符。
因此,SFT 使用监督学习来训练模型,以便对不同类型的提示做出适当的响应。人类专家按照格式 (提示, 响应) 创建带标签的示例,演示对于不同的用例(例如回答问题、进行总结或翻译)该如何对提示作出响应。
这些演示数据虽然功能强大,但生成起来既费时又费钱。DeepMind 没有创建定制的新示例,而是引入了“应用基于常见书面对话格式(‘访谈记录’风格)的过滤启发式”的方法,以从 MassiveWeb 数据集中分离出合适的提示/响应示例配对。9
为了在强化学习中为奖励函数提供人类反馈,需要一个奖励模型来将人类偏好转化为数字奖励信号。设计有效的奖励模型是 RLHF 的关键一步,因为没有简单的数学或逻辑公式可以切实地定义人类的主观价值。
此阶段的主要目的是为奖励模型提供足够的训练数据,包括来自人类评估者的直接反馈,以帮助模型学习模仿人类依据其偏好将奖励分配给不同种类的模型响应的方式。训练可以在没有人工参与的情况下继续离线进行。
奖励模型必须接收一段文本序列并输出标量奖励值,该值以数值方式预测人类用户对该文本会给予多少奖励(或惩罚)。标量值输出对于奖励模型的输出与 RL 算法其他组成部分的集成至关重要。
乍看之下,直接让人类评估者以标量形式表达他们对每个模型响应的看法,比如用一(最差)到十(最好)的评分来评判,似乎是最直观的方法,但实际上,要让所有评估者就特定分数的具体含义达成一致是极其困难的,更不用说在没有上下文的情况下就“好”或“坏”的响应达成一致了。这种直接的标量评分方式容易出现大量噪声数据,并且难以校准。
相反,评分系统通常是通过比较人类对不同模型输出的反馈来构建。一种常见方法是以一对一配对方式让用户比较两个相似的文本序列,例如两个不同语言模型对同一提示的响应输出,然后使用 Elo 评分系统产生所有生成的文本相对于彼此的聚合排名。一个简单的系统可能允许用户对每个输出表示“赞成”或“反对”,然后根据相对好感度对这些输出进行排名。更复杂的系统可能会要求标记人员提供总体评分并回答有关每个响应的缺陷的分类问题,然后通过算法将这些反馈汇总为加权质量分数。
无论哪个排名系统的结果最终都会标准化为标量奖励信号,为奖励模型训练提供信息。
RLHF 的最后一个障碍是确定如何以及使用多少奖励模型来更新 AI 代理的策略。用于更新 RL 模型的奖励函数的最成功算法之一是近端策略优化 (PPO)。
大多数机器学习和神经网络模型架构使用梯度下降来使损失函数最小化,并使误差尽可能小,而强化学习算法往往使用梯度上升来使奖励最大化。
然而,如果在没有任何护栏的情况下使用奖励函数来训练 LLM,则语言模型可能会为了迎合奖励机制而大幅调整其权重,甚至输出毫无意义的胡言乱语。PPO 会限制每次训练迭代中可以在多大程度上更新策略,从而提供了一种更稳定的更新 AI 代理策略的方法。
首先,创建初始模型的副本,并冻结其可训练权重。PPO 算法会计算出一个范围 [1- ε , 1+ ε ],其中 ε 是一个超参数,它大致决定了新的(更新后的)策略可以偏离旧的(已冻结的)策略的程度。然后,算法会计算概率比:旧策略采取给定操作的概率与新策略采取该操作的概率之比。如果概率比大于 1+ ε(或小于 1- ε),则策略更新的幅度可能会被裁剪,以防止剧烈变化导致整个模型不稳定。
PPO 的引入为其前身——信任域策略优化 (Trust Region Policy Optimization, TRPO)——提供了一种更具吸引力的替代方案,TRPO 具有类似的优势,但其复杂性和计算成本高于 PPO。虽然其他策略优化框架(例如优势演员-批评家 (Advantage Actor-Critic, A2C))也可行,但 PPO 凭借简单易用、经济高效的优势而受到青睐。
尽管 RLHF 模型在训练 AI 代理执行从机器人、视频游戏到 NLP 等复杂任务方面取得了令人印象深刻的成果,但使用 RLHF 并非没有局限性。
本学习路径概况介绍了自动化强化学习,并演示了如何使用自动化 AI 决策 API 来支持一般在线强化学习用例。
了解强化学习的历史和基本原理,然后使用“Q 学习”技术构建一个简单的演示。包括示例实现。
在这个由三部分组成的系列的第一部分和第二部分中,我们研究了生成式 AI 的定义和用例。本期文章探讨了 IBM Consulting 在开展 AI 项目时所采用的方法。
1 “基于人类偏好的深度强化学习”(ibm.com 外部链接),arXiv,最后修订时间 2023 年 2 月 17 日
2 “OpenAI Five 击败 Dota 2 世界冠军”(ibm.com 外部链接),OpenAI,2019 年 4 月 15 日
3 “AlphaStar:精通实时战略游戏《星际争霸II》”(ibm.com 外部链接),Google DeepMind,2019 年 1 月 24 日
4 “lm-human-preferences”(ibm.com 外部链接),OpenAI(在 GitHub 上),2019 年
5 “对齐语言模型以遵循指令”(ibm.com 外部链接),OpenAI,2022 年 1 月 27 日
6 “Bard 概述:生成式 AI 的早期实验”(ibm.com 外部链接),Google AI,最后更新时间 2023 年 10 月 19 日
7 “利用人类反馈强化学习训练一个有用且无害的助手”(ibm.com 外部链接),arXiv,2022 年 4 月 12 日
8 “研究:GPT-4”(ibm.com 外部链接),OpenAI,2023 年 3 月 14 日
9 “扩展语言模型:方法、分析以及从训练 Gopher 中获得的见解”(ibm.com 外部链接),arXiv,最后修订时间 2022 年 1 月 21 日
10 “宪制 AI:AI 反馈的无害性”(ibm.com 外部链接),Anthropic,2022 年 12 月 15 日
11 “RLAIF:利用 AI 反馈扩展人类反馈强化学习”(ibm.com 外部链接),arXiv,2023 年 9 月 1 日
12 “果不其然:评微软 Tay‘实验’及其更广泛的影响”(链接位于 ibm.com 外面),ORBIT 杂志,2017 年