点击下方 卡片 ,关注“ 慢慢学AIGC ”
人类反馈学习如何彻底改变生成式语言模型
长期以来,AI 社区一直利用不同风格的语言模型(如 n-gram 模型、RNN、transformer 等)来自动化生成式和判别式的自然语言任务。这一研究领域在 2018 年随着 BERT 的提出而经历了一次兴趣激增,BERT 展示了 transformer 架构、自监督预训练和有监督迁移学习形成了一个强大的组合。事实上,BERT 在当时应用的每个基准测试中都创造了新的最先进性能。虽然 BERT 不能用于生成任务,但我们从 T5 看到,有监督迁移学习在这一领域也是有效的。然而,尽管取得了这些成就,但与我们今天拥有的 GPT-4 等 LLM 的生成能力相比,这些模型相形见绌。要创建这样的模型,我们需要远远超出有监督学习的训练技术。
"我们的目标是以最有可能造福全人类的方式推进数字智能。"
—— OpenAI创始声明(2015年12月)
现代生成式语言模型是 AI 研究中众多显著进展的综合结果,包括仅解码器 transformer、下一个 token 预测、提示、神经缩放定律等。 然而,造就最近生成式 AI 繁荣的最大因素之一是我们能够 将这些模型与人类用户的需求对齐 。 主要是通过基于人类反馈的强化学习(RLHF)直接训练 LLM 来实现对齐。 使用这种方法,我们可以教导 LLM 超越人类的写作能力,遵循复杂的指令,避免有害输出,引用来源等等。 从根本上说 RLHF 使创建更安全、更有能力和更有用的 AI 系统成为可能。 在这个概述中,我们将深入理解 RLHF,它的起源/动机,它在创建强大 LLM 中扮演的角色,使其如此有影响力的关键因素,以及最近的研究如何致力于使 LLM 对齐更加有效。
RLHF 是从哪里来的?
在了解 RLHF 及其在创建强大语言模型中所扮演的角色之前,我们需要理解一些先于 RLHF 并促使其发展的基本概念,例如:
- 有监督学习(以及 RLHF 与之的不同之处)
- LLM 对齐过程
- LLM 的评估指标(特别是 ROUGE 分数)
通过深入理解这些概念,我们将获得重要的背景知识,使开发像 RLHF 这样的训练技术的动机变得更加清晰。特别是,我们将看到 RLHF 解决了有监督学习技术的主要问题,这些问题阻碍了语言模型发挥最佳性能。通过直接从人类反馈中学习,我们可以轻松优化 LLM,以生成与人类用户动机一致的高质量输出。
一般背景
除了这些概念之外,本概述还需要对强化学习(RL)及其在语言建模领域的应用有基本的了解。我们在之前的帖子中已经广泛介绍了这些想法。
- LLM 的 RL基础
- 策略梯度
- 近端策略优化 PPO
此外,对(生成式)LLM 的基本理解也会有所帮助和必要。更多细节请查看下面的链接【8】。
LLM 的有监督学习
大多数生成式 LLM 都通过一个包括预训练、有监督微调(SFT)、基于人类反馈的强化学习(RLHF)和(可能)一些额外微调的流程进行训练,具体取决于我们的应用,详细见上图。在这个概述中,我们将重点关注 LLM 训练流程中的 RLHF 部分。
RLHF 出现之前
当我们将现代生成式 LLM 与之前的语言模型进行对比时,RLHF 实际上是训练过程中最近添加的环节。以前,语言模型通过一个简化的迁移学习程序来完成自然语言任务(如摘要或分类),该程序仅包括预训练和微调,见下图。
遵循这种方法的著名模型示例包括 BERT 和 T5。这些模型首先在大量未标记的文本数据上进行预训练(使用自监督学习目标),然后在下游数据集上进行微调。这个微调过程是有监督的,意味着我们直接从人工标注的正确任务解决方案示例中学习。然而,我们应该注意,"SFT"这个术语指的是生成式 LLM 的一种特殊类型的有监督微调,我们通过在我们想要模仿的参考生成数据集上进行 下一个 token 预测目标 来微调模型。 BERT 和 T5 所使用的通过有监督学习进行微调(即迁移学习)的想法更加通用 ,包括的不仅仅是生成式任务。
有监督学习够吗? 有监督微调对于封闭式/判别式任务如分类、回归、问答、检索等效果很好 。然而, 生成式任务与有监督学习的兼容性稍差 。以有监督的方式训练语言模型生成文本需要我们手动编写理想输出的示例。然后,我们可以训练底层模型以最大化生成这些提供的示例的概率。即使在生成式 LLM 普及之前,这种方法也被广泛用于如摘要等任务,我们可以通过简单地在人工编写的示例摘要上训练来教导预训练语言模型写出高质量的摘要。虽然这种策略已经导致了显著的性能改进,但在这个 微调目标 —— 最大化人工编写文本的可能性 ——和我们真正关心的—— 由人类确定的生成高质量输出 —— 之间仍然存在不一致 。
这种方法在某些领域效果很好。即使在今天,SFT 在生成式 LLM 研究中仍被广泛成功使用(特别是在开源社区中)。然而,有监督训练技术在学习如何生成文本方面存在一个根本的限制——有监督训练目标与我们实际想要的之间存在不一致!具体来说,我们训练模型以最大化人工编写生成的概率,但我们想要的是一个能产生高质量输出的模型。这两个目标并不总是一致的,这可能会让我们思考是否存在更好的微调方法。
语言模型对齐
如果我们在预训练后立即检查生成式 LLM 的输出,我们会发现,尽管拥有大量知识,但模型生成的结果重复且乏味。 即使这个模型能准确预测下一个 token,这并不意味着能生成连贯有趣的文本
。再次强调,我们有一个不一致的问题—— 预训练的目标是下一个 token 预测 ,而 我们实际想要的是一个能生成高质量输出的模型 。为此,我们需要更多。我们需要 对齐 LLM 。
什么是对齐? 对齐指的是教导 LLM 产生与人类期望一致的输出的想法 。在进行对齐时,我们通常首先定义一组我们想要灌输到 LLM 中的"标准"。例如,常见的对齐标准可能包括:
- 有帮助性 : 模型满足用户请求,遵循详细指令,并提供用户要求的信息。
- 安全性 : 模型避免产生"不安全"的回应。
- 事实性 : 模型不会"幻觉"或在其输出中生成事实上不正确的信息。
为了对齐 LLM, 我们可以依次使用 SFT 和 RLHF 对模型进行微 调, 见上图。 然而, 如前所 述, SF T 是一种直接在人工编写的响应上微调 LLM 的有监督学习技术。 因此, 这种方法受制于前面提到的有监督学习的限制。
RLHF 直接基于人类反馈微调 LLM
与预训练和 SFT 不同,RLHF 不是一种有监督学习技术。相反,它利用强化学习(RL)直接基于人类提供的反馈来微调 LLM,见上图。简单地说,人类可以只识别他们更喜欢的 LLM 输出,然后 RLHF 将基于这种反馈微调模型。这种方法从根本上不同于有监督学习技术,因为我们可以直接训练 LLM 产生高质量的输出。我们只需识别我们喜欢的输出,LLM 就会学会产生更多这样的输出!
评估语言模型(基于 ROUGE 分数)
在进一步了解 RLHF 之前,我们需要理解如何评估 LLM,特别是包括面向召回的摘要评估的理解(ROUGE)分数。首先,我们应该注意到,有许多方法可以评估生成式语言模型的输出。例如,我们可以提示像 GPT-4 这样强大的语言模型来评估模型输出的质量,甚至利用 RLHF 的奖励模型(更多信息即将到来)来预测偏好/质量分数。对 LLM 评估策略的全面探讨超出了本概述的范围。
在 LLM 革命之前,已经存在几种流行的语言模型评估指标,这些指标通过比较模型的生成输出与参考输出来操作。通常,这些参考输出是由人工手动编写的。ROUGE 分数最常用于评估摘要任务,它 通过简单地计算参考输出中也出现在模型生成输出中的单词数量(或对于 ROUGE-N 来说是 n-gram 的数量)来工作 ,见下图。
进一步说,ROUGE 不是唯一一个通过比较模型输出与已知参考输出来操作的度量。我们还有:
- 双语评估替补(BLEU)分数 :通常用于评估翻译任务,方法是计算生成输出和参考之间匹配的 n-gram 数量,然后将这个数字除以生成输出中 n-gram 的总数。
- BERTScore :为生成输出和参考输出中的每个 n-gram 生成一个嵌入,然后使用余弦相似度来比较两个文本序列中的 n-gram。
- MoverScore :将 BERTScore 从要求 n-gram 之间一对一匹配泛化为允许多对一匹配,从而使评估框架更加灵活。
我们需要其他东西吗?虽然这些固定指标对于摘要或翻译等任务效果相当好,但它们对于更开放式的任务效果不佳,包括像信息寻求对话这样的生成任务。为什么会这样?这些指标与人类对模型输出的判断之间往往存在较差的相关性。ROUGE 和 BLEU 量化了模型输出与某个参考输出匹配的程度。然而,对于许多问题,模型可能产生多个同样可行的输出——像 ROUGE 这样的固定指标无法考虑到这一点;见下图。
再次强调,我们有一个不一致的问题——所测量的是两个文本序列之间的重叠度——而 我们实际想要测量的是输出质量 。 虽然在 NLP 早期,这些固定指标被大量使用,但随着像 RLHF 这样更有效的训练技术的引入,模型质量得到了显著提高。 结果,研究界被迫寻找更灵活的指标,并解决传统指标如 ROUGE 和 BLEU 与模型输出真实质量之间的相关性差的问题。
从人类反馈中学习
下一个 token 预测是几乎普遍用于 LLM 的训练目标(即在预训练和有监督微调期间); 见下图。
通过学习最大化数据集中(人工编写的)文本序列的对数概率,这种技术为我们提供了在大型未标记文本语料库上训练语言模型的能力。 然而,尽管下一个 token 预测具有巨大影响和普遍实用性,但结果 LLM 的性能高度依赖于数据质量,并且模型只学习产生与其训练集相当的输出。 相比之下,RLHF 为我们提供了直接根据人类反馈优化 LLM 的能力,从而避免了 LLM 的训练目标与训练的真正目标——产生人类用户评估的高质量输出——之间的不一致。
在本节中,我们将深入探讨 RLHF 背后的思想,以便更好地理解:
- RLHF 在 LLM 训练过程中的作用。
- RLHF 相比有监督学习的优势。
首先,我们将概述早期工作中提出的 RLHF 在 LLM 对齐方面的细节。然后,我们将介绍利用 RLHF 进行 LLM 微调的重要研究论文,包括该领域的原始/基础论文和最近探索的这些技术的新扩展。
RLHF 是如何工作的?
奖励学习使得强化学习(RL)可以应用于奖励由人类判断定义的任务。
据大多数 AI 研究人员认为,RLHF 首次应用于 LLM 是在 OpenAI 2020 年的论文《从人类反馈中学习总结》【1】和 2022 年的论文《通过人类反馈训练语言模型遵循指令(InstructGPT)》【2】中,这两篇文章分别研究了抽象摘要和语言模型对齐问题。然而,这些工作中提出的方法很大程度上借鉴了之前探索的技术:
- 更好的奖励产生更好的摘要 :扩展了直接使用 ROUGE 分数作为训练摘要模型奖励的基于 RL 的系统(即这可能导致低人类判断分数),转而从一个在人类对摘要的评分上训练的奖励模型中获得奖励。
- 从人类偏好微调语言模型 :从人类对模型输出的比较中学习奖励模型,并使用这个奖励模型在各种不同的自然语言任务上微调语言模型。
然而,【1】【2】中的工作并没有直接复制这些技术。正如我们将看到的,现代 RLHF 方法已经被调整以提高人类标注和 LLM 微调的效率。更进一步,最近的研究探索了将 RLHF 应用于更大的语言模型(即 GPT 风格的 LLM)。
我们现在来看【1】和【2】中使用的 RLHF 实现,见上图。 通常,RLHF 与 SFT 一起应用 - 预训练和 SFT 后获得的模型作为 RLHF 的起点。 尽管【1】和【2】的方法略有不同,但 RLHF 框架由三个标准步骤组成:
- 收集人类偏好数据 :在每轮 RLHF 之前,离线批量收集人类反馈。人类反馈数据集包括提示、对每个提示的几个(LLM 生成的)回应,以及基于人类偏好对这些回应的排名。
- 训练奖励模型 :在人类偏好数据集上训练奖励模型,以准确预测给定 LLM 输出作为输入时的人类偏好分数。
- 根据奖励模型优化策略 :使用强化学习(特别是 PPO)对策略(即 LLM)进行微调,以最大化基于奖励模型生成的人类偏好分数的奖励。
数据收集
值得注意的是,上述方法在很大程度上依赖于人类标注者提供的反馈质量。因此,成功应用 RLHF 的一个关键方面 - 正如[1]和[2]中明确提到的 - 是通过广泛的入职培训、共享沟通渠道和密切监控标注者与研究人员之间的一致率,保持标注者与 AI 研究人员或从业者(即训练模型的人)之间的密切联系。简而言之,应该最大化研究人员和人类标注者之间的一致率,以确保人类偏好数据准确反映所需的对齐标准。
训练奖励模型
奖励模型与 LLM 本身共享相同的底层架构。 然而, 用于下一个标记预测的分类头被移除,并替换为预测偏好分数的回归头 ;见上图。 有趣的是,奖励模型通常使用与 LLM 相同的权重(预训练模型或通过 SFT 训练的模型)进行初始化,从而确保奖励模型与底层 LLM 共享相同的知识库。
为了训练奖励模型,我们将一对排序的回应作为输入,预测每个回应的偏好分数,并应用排序损失;见上图。这个排序损失的目的是训练奖励模型为首选输出输出更高的偏好分数,反之亦然。通过这种方式,奖励模型的训练程序旨在教导模型在给定提示和回应对作为输入时准确预测人类偏好分数。
通过 RL 进行微调
为了微调语言模型,我们可以将通过 LLM 生成文本公式化为一个 RL 问题。在这个领域,我们的策略是 LLM 及其相应的参数。LLM 生成的每个标记对应环境中的单个时间步,当 LLM 输出[EOS]标记(即完成序列生成)时,整个回合完成。状态由 LLM 输出的序列给出,没有明确的转换函数,因为我们只是将每个输出的标记添加到生成的序列中。在每个回合结束时,我们收到一个单一的奖励 - 由奖励模型生成 - 基于整个序列的整体质量;见下图。
使用上述设置,我们可以使用(几乎)任何 RL 算法来基于奖励模型提供的反馈微调 LLM。这个领域的早期工作采用 PPO 作为 RLHF 的首选算法,因为它简单、稳健和高效。然而,正如我们将看到的,近几个月来已经探索和采用了各种不同的算法,如 DPO,KTO,ORPO, SimPO 等。感兴趣可以阅读 《
迭代 RLHF
在继续之前,我们应该注意到 RLHF 通常不只应用一次。相反,大多数工作倾向于以大批量收集数据,并以离线方式通过 RLHF 微调模型。随着时间的推移收集更多数据,这个过程重复多次,允许执行 RLHF 过程的几个"轮次"。
例如,LLaMA-2 执行 5 轮连续的 RLHF(见上图),而 Anthropic 的 HH LLM 每周通过 RLHF 进行微调,因为新批次的偏好数据被收集。这种方法与更传统的 RL 设置形成对比,在传统设置中,数据以在线方式收集并用于训练策略。
从人类反馈中学习总结【1】
抽象总结问题 - 或使用语言模型理解文本的重要方面并生成人类可读的摘要 - 已经研究了很长时间。然而,在 RLHF 普及之前,这个问题的大多数方法都是基于人工编写的参考摘要对语言模型进行监督训练,并通过 ROUGE 分数进行评估。尽管这种方法效果相对较好,但监督学习和 ROUGE 分数都是对实际所需内容的代理 - 一个能写出高质量摘要的模型。在【1】中,作者探索用 RLHF 替代监督学习,允许预训练语言模型直接基于人类反馈微调以产生高质量摘要。
【1】中提出的方法作为探索 RLHF 的基础性工作之一,允许我们根据人类标注者评估的响应质量来优化 LLM。从预训练的 LLM 开始,我们可以迭代地:
-
收集人类偏好数据;
-
训练奖励模型以预测人类偏好的摘要;
-
使用该模型作为通过 RL 进行微调的奖励函数;
通过这种方法,我们可以训练 LLM 生成超越人类摘要质量的摘要,甚至比通过监督学习训练的更大 LLM 生成的摘要更好;见上图。
方法论
在【1】中,LLM 首先使用人类参考摘要进行监督微调,产生一个监督基线,随后通过 RLHF 进行微调。【1】中提出的 RLHF 方法紧密遵循我们在上一节中概述的一般框架。然而,【1】中的作者特别研究了摘要问题。
首先,通过以下方式收集人类反馈数据集:
-
从训练数据集中获取要总结的文本输入。
-
使用几个策略采样各种摘要。
-
从采样的响应集中选取两个摘要。
-
要求人类标注者确定两个摘要中哪个更好。
人类比较数据以大批量收集,并用于离线方式通过 RLHF 微调 LLM。一旦收集了数据,我们使用这些比较数据来训练一个奖励模型,该模型在给定 LLM 产生的摘要时能准确预测人类偏好分数。从这里,我们使用 RL 来微调模型 - 【1】中的作者使用 PPO 算法 - 基于奖励模型输出的偏好分数。
在基本的 RLHF 框架之外,我们在【1】中看到作者在 RL 优化的目标中添加了 KL 散度项 ,该项 惩罚策略在 RLHF 期间与监督基线策略变得过于不同 ;见上图。这种方法经常被使用并从先前的工作中采用, 鼓励探索而不会导致模式崩溃 ,并防止 LLM 写的摘要与训练期间看到的摘要变得过于不同。此外,【1】中的作者指出 - 尽管 PPO 能够训练联合建模策略和价值函数的 LLM - 他们为价值函数和策略使用单独的模型。
实验结果
在【1】中,大型预训练模型 - 匹配 GPT-3 的风格 - 具有 13 亿到 67 亿参数,在 TL;DR 数据集上进行微调以总结文本。该数据集包含超过 300 万个来自 Reddit 的帖子以及作者编写的摘要,经过过滤只保留了 12 万个高质量示例,见下图。
模型首先使用 SFT 进行训练(即 SFT 的结果在实验中被视为基线),然后使用 RLHF。鉴于摘要的长度可能对结果质量分数产生巨大影响,【1】中的作者将生成的摘要限制为 48 个 token,并微调模型以生成这个长度的摘要。
用人类反馈微调语言模型优于各种强大的英语摘要基线。值得注意的是,13 亿参数的摘要模型优于 10 倍大的使用 SFT 训练的模型,而 67 亿参数的摘要模型表现甚至更好,表明摘要质量受益于模型规模。此外,我们看到通过 RLHF 训练的摘要模型在新领域中更好地泛化。特别是【1】中的模型被应用于总结新闻文章(即这些不在训练数据中),并发现无需进一步微调就表现良好,见下图。
这里摘要模型在以下方面进行评估:
-
覆盖度:摘要涵盖原始帖子的所有信息。
-
准确性:摘要中的陈述是准确的。
-
连贯性:摘要本身容易阅读。
-
质量:摘要的整体质量良好。
当以这种方式评估时,我们看到通过 RLHF 训练的摘要模型在覆盖度方面受益最大,而连贯性和准确性与监督基线模型相比只有略微改善,见下图。
展望未来
尽管 RLHF 在【1】中只在摘要领域进行了探索,但这篇论文的 作者对即将到来的事情有令人难以置信的远见 。【1】 中提出的方法后来成为对齐 LLM 的标准方法,正如我们很快将在 InstructGPT 中看到的那样。 此外,【1】中的作者明确表示他们打算利用所提出的方法来更好地将 AI 与人类的长期愿望对齐。 这个声明是在 ChatGPT 提出前两年多做出的,使【1】中的工作成为 AI 重大进展的基石。
"我们在本文中提出的方法部分是出于对 AI 系统与人类想要它们做的事情不一致的长期担忧。当不对齐的摘要模型编造事实时,它们的错误风险相对较低且容易发现。然而,随着 AI 系统变得更强大并被赋予越来越重要的任务,它们所犯的错误可能会变得更加微妙和关键安全,使这成为一个重要的进一步研究领域。" - 引自【1】。
训练语言模型遵循带有人类反馈的指令【2】
作者在【2】中探索了使用 RLHF 直接从人类反馈中学习进行语言模型对齐。由此产生的模型称为 InstructGPT ,是 ChatGPT 的姐妹模型和前身。鉴于这个模型在【2】中被详细概述和解释,这项工作为我们提供了关于 OpenAI 如何训练 LLM 的重要见解。
遵循类似于【1】的方法,我们从一组由人类标注者编写或从 OpenAI 的 API 收集的提示开始。然后我们可以让标注者对这些提示写出回应,并使用 SFT 在这些例子上微调预训练的 LLM - 特别是 GPT-3。使用这个模型,我们可以通过要求人类选择 LLM 的首选输出来收集偏好数据,并应用【1】中概述的相同 RLHF 过程进行微调。由此产生的模型受到人类的高度偏好(见上图),并且更善于遵循每个提示中提供的详细指令。
"让语言模型变得更大并不能本质上使它们更善于遵循用户的意图。" - 引自【2】。
对齐过程
预训练的 LLM 有一些我们希望在对齐过程中修复的不良属性,如幻觉、有偏见/有毒的生成,或无法遵循详细指令。为了解决这个问题,我们需要一个对齐过程,训练 LLM 以满足人类期望的标准。在【2】中定义了以下对齐标准:
- 有帮助: 遵循用户的指令,并从少量提示或其他模式中推断意图。
- 诚实: 对世界做出正确的事实陈述。
- 无害: 避免有害的输出,如贬低受保护群体或包含性/暴力内容的输出。
使用 RLHF,我们可以教导 LLM 在其输出中反映这些品质。然后,我们可以通过人类评估或使用封闭域评估任务来评估是否满足了每个品质。
方法论
【2】中的作者组建了一个由 40 名人类标注者组成的 团队,他们通过测试筛选以判断其标注质量,以收集 LLM 的微调数据。【2】 中使用的 RLHF 方法几乎完全匹配【1】中使用的方法。 使用预训练的 LLM 和一组用于微调的提示,对齐过程按以下步骤进行(如上图所示):
-
收集每个提示的人类标注的回应。
-
在人类标注上以监督方式训练模型。
-
收集偏好数据。
-
训练奖励模型。
-
用 PPO 优化底层 LLM/策略。
-
重复步骤 3-5
【2】中用于微调的提示分布如下表所示。
对于 SFT,构建了一个包含超过 13,000 个提示和回应对的数据集。奖励模型在 33,000 个提示上训练,而用于 PPO 微调的数据集大小为 31,000。与【1】不同,在收集偏好数据时,向人类标注者展示 4-9 个对提示的回应(而不是两个),允许他们快速对这些回应进行排名,并更有效地生成更大量的偏好数据。值得注意的是,【2】中使用的数据集 96% 是英语。
除了【2】中使用的基本 RLHF 方法之外,我们还看到一些有趣的技巧用于改进微调过程。首先,在用于 RL 的训练目标中添加了 KL 散度项(这在【1】中也有做),这使得结果模型不会与 SFT 模型有太大偏离。此外,在 RLHF 期间的优化过程中"混入"更多预训练更新,这缓解了 对齐税 ,并 保持了模型在广泛的自然语言基准测试中的性能 。
"我们能够缓解我们的微调引入的大多数性能下降。如果不是这样,这些性能下降将构成一个对齐税 - 对齐模型的额外成本。" - 引自【2】。
【2】中用于 RLHF 的最终微调目标,包括添加的预训练更新和 KL 散度项,如下所示。
实验发现
在【2】中,作者训练了三个模型,分别有 13 亿参数、60 亿参数和 1750 亿参数(即这个模型匹配 GPT-3 的架构)。从这些实验中,我们了解到人类标注者更喜欢 InstructGPT 的输出而不是 GPT-3 的输出,即使对于参数少 10 倍的模型也是如此,见下图。
这种结果与【1】中的观察相似,我们也看到 通过 RLHF 进行微调使得更小的模型能够胜过以监督方式训练的更大模型 。
值得注意的是,InstructGPT-1.3B 的输出比 GPT-3 更受欢迎,而 GPT-3 的参数是它的 100 倍。此外,我们看到 InstructGPT-175B 产生的输出 85% 的时间比 GPT-3 更受欢迎。更进一步,InstructGPT 模型被发现能更可靠地遵循人类用户提供的明确约束和指令,见下图。
与预训练和监督模型相比,InstructGPT 还被发现:
- 更诚实;
- 略微减少毒性;
- 能够在不同领域推广遵循指令的能力。
例如,InstructGPT 能够遵循总结或回答关于代码的问题的指令,并处理用不同语言编写的提示,尽管微调数据集(96% 是英语!)在这个分布中缺乏足够的数据。尽管该模型没有像 ChatGPT 那样得到广泛认可,但 InstructGPT 是 AI 和对齐研究的一个重大进步,提出了许多用于创建高质量基础语言模型的基础概念。
RLHF 的现代变体
RLHF 在【1】和【2】中被证明非常有效,但这些是 LLM 对齐领域的早期工作。在过去的一年里,提出了 RLHF 方法的许多修改,包括用于对齐 LLM 的全新算法。在这里,我们将快速回顾 RLHF 的一些最新进展,以更好地了解这些技术如今是如何使用的。
LLaMA-2【3】
LLaMA-2 是第一批通过 RLHF 大量投资对齐的开源 LLM 之一(即其他开源 LLM 主要依赖 SFT)。LLaMA-2 中的 RLHF 过程与【1】【2】相当,但有一些修改:
- 人类标注者一次只比较两个对提示的回应,而不是 InstructGPT 中的 4-9 个。
- 不是收集二元偏好数据,而是指示人类标注者识别明显或适度更好的回应(即更细粒度的比较程度)。
- 一次只收集关于单个对齐标准的比较(例如,人类标注者可能收到一个专门关注最小化有害性的提示和回应对)。
上述方法略微修改了 RLHF 标注过程,以期:
- 使人类标注者更容易工作;
- 产生更准确的比较;
- 收集关于模型输出的更细粒度的反馈数据。
为了将非二元人类反馈纳入 RLHF,我们可以简单地在奖励模型的训练目标中添加一个边际,这鼓励质量差异大的回应在其偏好分数上被推得更远,见下图。
更进一步,LLaMA-2 的作者探索了两种不同的强化学习算法用于通过 RLHF 进行微调:
- PPO : 用于 RLHF 的标准算法。
- 拒绝采样 : 对每个提示从 LLM 采样 K 个回应,使用奖励模型对每个回应进行评分,选择最佳回应,并在此示例上进行微调。
PPO 每次迭代只从模型中取一个样本,拒绝采样会取多个样本。在拒绝采样中,生成的具有最高奖励的样本被认为是新的"黄金标准"。如下图所示,以这种方式生成多个样本可以大大增加在微调过程中观察到的样本的最大奖励。
在 LLaMA-2 中,拒绝采样是使用最大的模型(即 LLaMA-2-70B-Chat)执行的,并用于训练所有其他(较小的)模型。虽然 PPO 在每个样本后执行迭代更新,但拒绝采样微调使用相同的模型(即在 RLHF 轮开始时)生成一整套高奖励样本,这些样本用于以类似于 SFT 的方式进行微调。
"我们在图 7 中展示了拒绝采样的好处。最大值曲线和中值曲线之间的差异可以解释为在最佳输出上进行微调的潜在收益。" - 引自 LLaMA-2 论文。
为确保最佳性能,作者在执行拒绝采样微调时包括了所有 RLHF 迭代中的最佳样本—不仅仅是当前迭代的样本。 如果不包括先前迭代的样本,我们会发现使用拒绝采样微调可能会导致性能回退。 前四轮 RLHF 采用拒绝采样方法,然后最后一轮依次结合了拒绝采样微调和 PPO(即在拒绝采样微调之后应用 PPO)。
Safe RLHF【4】
Safe RLHF 是最近提出的对基本 RLHF 算法的修改。如前所述,LLM 的对齐过程需要定义几个对齐标准。然而, 我们定义的对齐标准有时可能会相互冲突 。例如,无害性和有帮助性是两个常用的对齐标准,它们往往会相互冲突。通常,这些情况通过 训练单独的奖励模型来捕捉每个对齐标准 来解决,从而避免在建模人类偏好时出现任何冲突。然而,Safe RLHF 提出了一种新的学习算法,通过在对齐过程中定义奖励和成本来更好地平衡冲突的对齐标准,见上图。
成对 PPO【5】
RLHF 的一个有趣方面是奖励模型的训练和使用方式。即奖励模型基于相对分数进行训练 - 我们希望首选回应的得分高于其他回应。然而,在用 PPO 优化时,我们直接使用奖励模型的标量输出作为训练信号 - 我们没有以比较方式使用奖励模型的输出。为了解决这个问题,成对 PPO 论文作者提出了 PPO 的一个变体(如上所示),该变体经过修改和优化,以更好地适应为 RLHF 收集的比较人类偏好数据。
从 AI 反馈中的强化学习(RLAIF)【6】
尽管 RLHF 很有用,但这种技术的一个主要缺点是需要收集大量人类偏好数据。 例如,LLaMA-2 使用超过 100 万个人类偏好示例进行 RLHF 对齐。 为了缓解对人类标注的这种要求,最近的一系列工作探索了使用通用 LLM 自动化人类偏好标注。 换句话说,我 们使用 AI 而不是人类提供反馈来执行 RLHF。
直接偏好优化(DPO)【7】
RLHF 的另一个缺点是它是一个复杂的训练程序,经常不稳定,依赖于强化学习,并训练一个完全独立的奖励模型来自动生成人类偏好分数。作为解决方案,【7】中的作者提出了 DPO。这种方法(如上图所示)是 RLHF 的一种更简单但同样有效的替代方法,更加稳定,通过直接使用人类偏好微调 LLM 来消除了对奖励模型的需求。
除了上面介绍的工作,更多其他 RLHF 的最新进展可关注本公众号后续文章。
RLHF 为何如此优秀
我们现在已经看到 RLHF 在几个领域成功应用,提供了明确的经验证据,证明 RLHF 是一种有效的微调技术。然而,我们可能会想:为什么 RLHF 比监督学习效果好得多?为了回答这个问题,我们将快速概述 RLHF 的主要优势,并强调这种方法的关键方面,这些方面使其如此有影响力。
人类标注过程
监督学习和 RLHF 之间的第一个显著差异是数据标注的方式。对于监督学习,我们使用人类提供的高质量输出演示来训练 LLM。这意味着对于每个训练示例,人类必须手动为给定的提示写出完整的高质量回应。相比之下,RLHF 通过 LLM 自动生成对提示的回应,只要求人类标注者对同一提示的几个回应进行排名,见下图。
由于对输出进行排名比从头开始写输出容易得多,RLHF 的标注策略减轻了人类标注者的认知负担,这导致了几个显著的好处:
- 标注质量更高(即更准确)。
- 收集标注更快、更高效。
- 个别标注可以集中在特定的对齐原则上。
考虑到强化学习通常需要更多的数据(与监督学习相比)才能表现良好,RLHF 的标注风格是其有效性的一个关键方面。通过定义对齐标准并将人类比较集中在对齐过程的特定方面,我们可以快速收集大量准确的比较数据用于 RLHF 微调。
超越人类质量
RLHF 使用的标注策略还有超出标注效率的好处。即我们应该注意到 RLHF 中用于收集比较数据的所有回应都是由 LLM 自动生成的。这意味着 RLHF 可以训练 LLM 超越人类标注者的写作能力,因此有潜力超越人类表现。相比之下,监督学习受限于人类标注者手动写出的回应质量。
"在标注过程中,模型有可能进入甚至最好的标注者也无法规划的写作轨迹。尽管如此,当比较两个答案时,人类仍然可以提供有价值的反馈,超越他们自己的写作能力。" - 引自【3】
从头开始写高质量回应是非常困难的。因此,用于监督微调的人类标注的质量可能会有很大差异,这给学习过程引入了噪声。记住,模型从训练期间显示给它的所有回应中学习,包括高质量和较低质量的数据。此外,一个人类标注者(显然)不能写出超越他们个人写作能力的回应。然而,同样的标注者通常能够认识到一个回应比另一个更好,即使他们个人无法从头开始写出可比质量的回应。
准确捕捉回应质量
最后,我们在【1】和【2】中看到,为 RLHF 创建的奖励模型在捕捉模型回应质量方面惊人地准确。与 ROUGE 等自动指标相比,奖励模型提供了更一致和准确的模型输出质量评估,这通过与人类标注者的一致率来判断。因此,基于这个奖励模型的偏好分数优化 LLM 往往会产生表现相当好的模型。我们直接训练模型生成奖励模型认为可取的输出!
鉴于奖励模型可以如此准确地评估回应质量,RLHF 的奖励模型实际上有两个有用的目的:
-
微调底层策略;
-
评估 LLM 输出的质量;
更进一步,我们在【1】中看到奖励模型倾向于遵循与 LLM 有些相似的缩放规律。 特别是,随着我们增加模型的大小和用于训练的比较数据量,奖励模型的质量会提高,见下图。
在【2】中,作者指出使用更大的奖励模型 - 1750 亿参数,而不是 60 亿 - 可能导致不稳定。然而,奖励模型的缩放趋势也在更近期的工作中观察到,如 LLaMA-2【3】 我们看到随着使用更大的模型和更多的数据,奖 励模型的质量持续改善,如下图所示。
总结思考
现在我们应该对 RLHF 及其在生成语言模型训练中的重要作用有了深入的理解。 RLHF 是一项关键创新—与其他几项创新(如 transformer、自监督学习等)一起—催化了最近的生成式 AI 热潮 。尽管今天仍在许多应用中广泛使用,但监督学习技术在训练有用且对齐的语言模型方面存在不足。通过使我们能够直接从人类反馈训练生成式 LLM,RLHF 使 AI 研究人员能够创建令人震惊的信息丰富/有用的生成模型,甚至可以超越人类的写作能力。以下列出了一些关键要点。
监督学习的局限性
要用监督学习训练生成语言模型,我们收集人工编写的对提示的回应数据集,并微调模型以模仿这些回应。这种方法尽管被广泛使用,但有几个明显的问题。首先,收集训练数据很困难,因为它需要人类从头开始写出高质量的参考回应。此外,监督学习使用的训练目标与我们实际想要的目标之间存在显著的不一致。也就是说,我们训练模型产生与其训练数据相似的输出,但我们实际想要的是一个生成有用输出的模型—这两个目标并不总是相同的!
RLHF 提供了解决方案
为解决这种不一致,为什么不直接训练语言模型产生我们(用户)喜欢的输出呢?这正是启发 RLHF 的想法!要应用 RLHF,我们通过让人类识别更可取的回应来收集人类偏好数据,训练奖励模型以学习人类偏好的模式,然后用强化学习微调 LLM,以产生对人类更可取的输出。RLHF 是一种灵活而有效的对齐方法,允许我们创建能够以人类用户所期望的确切方式完成各种复杂任务的模型。
持续演进
尽管 RLHF 对 LLM 对齐产生了巨大影响,但它有明显的局限性!例如,它需要整理大量人类偏好数据(这可能很昂贵!),在处理几个对齐标准之间的冲突时可能会遇到困难,存在不稳定性,并且比监督学习更复杂。因此,AI 研究人员正在积极迭代和改进 RLHF,导致了许多 RLHF 变体的开发,如RLAIF、Safe RLHF、Pairwise DPO 等。
(全文完)
上述内容均为 AI 生成,已邀请国内专家校对。可点击底部“阅读原文”跳转至 Deep(Learning)Focus 博客同作者交流。
作者简介
作者 Cameron R. Wolfe,深度学习博士,Rebuy 的 AI 总监。
Rebuy 创立于 2017 年,旨在赋能各种规模的 Shopify 商店,提供个性化的购物体验。这些体验旨在通过使用智能追加销售、交叉销售和售后跟进,来提高转化率、增加订单价值并留住更多客户。
参考文献
【1】从人类反馈中学习总结,https://arxiv.org/pdf/2009.01325
【2】通过人类反馈训练语言模型遵循指令(InstructGPT),https://arxiv.org/pdf/2203.02155
【3】LLaMA-2,https://arxiv.org/pdf/2307.09288
【4】Safe RLHF,https://arxiv.org/pdf/2310.12773
【5】PairewisePPO, https://arxiv.org/pdf/2310.00212
【6】RLAIF,https://arxiv.org/pdf/2309.00267