返回介绍

数学基础

统计学习

深度学习

工具

Scala

二十四 Learning to summarize from human feedback [2020]

发布于 2023-07-17 23:38:25 字数 50479 浏览 0 评论 0 收藏 0

  1. 为了在各种自然语言处理任务上实现高性能,大型语言模型预训练已经变得越来越流行。当把这些模型应用于一个特定的任务时,人们通常使用监督学习对它们进行微调,通常是最大化针对 human demonstrations 数据(即,人工标注的标签)的对数似然 log likelihood

    虽然这种策略导致了性能的明显提高,但在这种微调目标(即,最大化 human-written 文本的似然)与我们所关心的目标(即,生成人类判定的高质量的输出)之间仍然存在着 misalignment 。这种 misalignment 有几个原因:

    • 最大似然maximum likelihood 目标没有区分重要的错误(如编造事实)和不重要的错误(如从一组同义词中选择最精确的词)。
    • 模型被激励 incentivized 从而将概率质量放在所有 human demonstrations 上,包括那些低质量的 human demonstrations
    • 采样期间的分布漂移 distributional shift 会降低性能。

    通过非均匀采样策略(如,beam search)通常可以大大改善质量,但这些策略会导致 repetition 和其他不受欢迎的人造品 artifacts 。对质量进行优化可能是克服这些问题的原则性方法。

    论文 《Learning to summarize from human feedback》 的目标是:推进某些目标上训练语言模型的方法,其中这些目标能够更紧密地抓住我们所关心的行为。为了在短期内实现这一目标,论文专注于抽象式 abstractive 的英文文本摘要,因为它在NLP 界有着悠久的历史,而且是一项主观的任务(作者认为很难量化摘要的质量,因为没有human judgments )。事实上,现有的评估摘要质量的自动化指标 automatic metrics (如, ROUGE)由于与 human judgments 的相关性差而受到批评。

    论文遵从 《Better rewards yield better summaries: Learning to summarise without references》《Fine-tuning language models from human preferences》 的工作,他们利用奖励学习 reward learning《Tuning recurrent neural networks with reinforcement learning》)从human feedback 中微调语言模型:

    • 首先收集 summary pairhuman preferences 数据集。
    • 然后在这个 human preferences 数据集上通过监督微调学习训练一个奖励模型reward model : RM 来预测 human-preferred 的摘要。
    • 最后,通过强化学习reinforcement learning: RL 训练一个策略从而最大化奖励模型的评分。该策略在每个 "time step" 生成一个文本 token ,并根据奖励模型给整个 generated summary 的 "奖励"从而使用 PPO 算法(《Proximal policy optimization algorithms》)来更新策略。
    • 然后可以使用 resulting policy 的样本来收集更多的 human data ,并重复这个过程。

    论文遵从 GPT-3 的工作,使用大型预训练的 GPT-3 模型,参数多达 6.7B

    论文的主要贡献有四个方面:

    • 作者表明,在英语摘要方面,有human feedback 的训练明显优于非常强大的 baseline 。当在 Reddit TL;DR 数据集的一个版本上应用论文的方法时(如下图所示):

      • 通过human feedback 训练的策略比通过监督微调学习训练的更大的模型(下图中的supervised learning)产生更好的摘要。
      • 相比较于数据集中的原始human demonstrations (下图中的 reference summaries ),labelers 更喜欢来自 human feedback models (即,human feedback 训练的策略)的摘要。

    • 论文表明:human feedback models (即,human feedback 训练的策略)对新领域的泛化性比监督微调模型好得多。作者在 Reddit 训练的 human feedback models 也在 CNN/DailyMail: CNN/DM数据集上生成了高质量的新闻文章摘要而无需任何针对新闻的微调,几乎与该数据集的reference summary 的质量相匹配。作者进行了若干检查,从而确保这些 human preferences 反映了真正的质量差异:作者持续监测 labelersresearchers 之间的一致率 agreement rate ,发现 researcher-labeler 的一致率几乎和 researcher-researcher 的一致率一样高(见论文附录 C.2),并且作者验证了模型不仅仅是在针对长度或 amount of copying 等简单指标进行优化(见论文附录 FG.7)。

    • 论文对所提出的策略模型和奖励模型进行了广泛的经验分析。作者检查了模型大小和数据大小的影响,研究了继续优化一个给定奖励模型时的性能,并使用合成 synthetic 的和 human-written 的扰动摘要来分析奖励模型性能。作者确认,所提出的奖励模型在预测human preferences 方面优于其他指标(如 ROUGE),而且优化奖励模型直接导致了比优化 ROUGE 更好的摘要。

    • 论文公开发布了 human feedback 数据集,以供进一步研究。该数据集包含 64832 个关于 TL;DR 数据集的 summary comparisons ,以及论文对 TL;DRcomparisonsLikert score )和 CNN/DMLikert score )的评估数据。

    作者在论文中提出的方法,部分是出于对人工智能系统与人类希望它们做的事情之间的 misalignment 的长期关注。当 misaligned summarization model 编造事实时,它们的错误是相当低风险的,而且容易被发现。然而,随着人工智能系统变得更加强大,并被赋予越来越重要的任务,它们所犯的错误可能会变得更加微妙和 safety-critical ,这使得这是一个需要进一步研究的重要领域。

  2. 相关工作:

    • 与我们的工作最直接相关的是以前使用 human feedback 来训练带强化学习的 summarization models 的工作《Better rewards yield better summaries: Learning to summarise without references》《Fine-tuning language models from human preferences》

      • 《Better rewards yieldbetter summaries: Learning to summarise without references》2.5khuman ratingsCNN/DM 摘要数据集中学习奖励函数,并训练一个比优化 ROUGE 指标更好的、用于摘要的策略。

      • 我们的工作与《Fine-tuning language models from human preferences》 最为相似,他们也训练 Transformer 模型来跨一系列任务来优化 human feedback ,包括在 Reddit TL;DRCNN/DM 数据集上的摘要。

        与我们不同的是,他们以online 的方式进行训练,并发现该模型具有高度的 extractive 。他们指出,他们的 labelers 更喜欢抽取式摘要 extractive summaries ,与 researchers 的一致率很低。与他们相比,我们使用了大得多的模型、转向针对 collecting human feedbackbatch setting 、确保 labeler-researcher 的高度一致、并做了一些算法上的修改(如分离策略网络 policy network 和价值网络 value network )。

    • human feedback 也被用作奖励来训练其他领域的模型,如对话、翻译、语义解析、故事生成、评论生成、以及证据抽取 evidence extraction

      我们的 reward modeling 方法是在先前关于 learning to rank 的工作中发展起来的,其中 learning to rank 已被应用于使用显性反馈或隐性反馈(以点击数据的形式)对搜索结果进行排名。

      在一个相关的研究方向中,human feedback 被用来在模拟环境中训练 agents 。还有大量关于使用强化学习来优化 NLP 任务的 automatic metrics 的文献,例如用于摘要的 ROUGE 指标、用于翻译的BLEU 指标,以及其他领域的一些指标。

    • 最后,关于修改架构和预训练程序以提高摘要性能的研究也很广泛。

24.1 模型

24.1.1 Higl-level 方法论

  1. 我们的方法类似于《Fine-tuning language models from human preferences》中概述的方法,适配于 batch setting 。我们从一个初始策略开始(注意,一个策略意味着一个模型),该策略在目标数据集(在我们的例子中为Reddit TL;DR 摘要数据集)上进行监督学习的微调。然后,这个过程包括三个步骤,可以反复进行,如下图所示。

    • step 1:从现有策略中收集样本,并将 comparisons 发送给人类。对于每个 Reddit 帖子,我们从几个来源来采样摘要,包括当前策略、初始策略、原始的 reference summary 、以及各种 baseline。我们将一个 batchsummary pair 发送给我们的human labelers ,他们的任务是选择给定 Reddit 帖子的最佳摘要。

      注意,这里的摘要不仅来自于当前策略,还来自于初始策略、 reference、以及 baseline 。无论它们来自哪里,都是为奖励模型提供样本,而奖励模型仅仅关注:一个给定的摘要是好还是坏。

    • step 2:从 human comparisons 中学习奖励模型。给定一个帖子和一个候选摘要,我们训练一个奖励模型来预测这个摘要是更好的摘要的 log oddsground-truth 由我们的 labelers 来提供,log odds 是分类器 softmax layer 的输入)。

      奖励模型作为价值网络。

    • step 3:针对奖励模型来优化策略。我们将奖励模型的 logit output 视为奖励,我们使用强化学习(具体而言是 PPO 算法)来优化这个奖励。

    我们在下面的章节中对我们的程序进行了更详细的描述,包括奖励模型训练和策略训练的细节、以及我们的质量控制过程。在实践中,我们没有精确地迭代这一连串的三个步骤,而是在项目过程中更新了我们的数据收集程序和训练程序,同时积累了标签(详见论文附录 C.6)。

    整体架构类似于 GAN

    • 策略函数作为生成器,用于生成摘要,使得摘要的质量尽可能高(而不是摘要的最大似然尽可能大)。
    • 奖励函数作为判别器,用于判断摘要质量,从而促使策略函数不断演进。

    此外,奖励函数根据收集的 human feedbacks 来独立地监督训练,而不是像 GAN 中的一样进行对抗训练。

24.1.2 数据集和任务

  1. 数据集:我们使用 TL;DR 摘要数据集,其中包含了来自 reddit.com 的约 3M 个帖子,涉及各种主题(subreddits ),以及原发帖人写的帖子摘要。我们还对这个数据集进行了过滤(见论文的附录 A),从而确保质数据量,包括使用subreddits 的一个白名单(过滤之后,白名单的帖子数量分布如下表所示)。过滤规则:

    • 内容去重:通过检查帖子主体内容来去重。

    • 白名单过滤:过滤掉不在我们 subreddit whitelist 中的 subreddit 帖子。

    • Edit/Update 内容过滤:过滤掉任何标题以 "Edit""Update" 开头的帖子。

    • 毒性内容过滤:过滤掉包含某些主题(如性图片、或自杀,这些主题是启发式方法得到)的帖子。

    • 帖子长度过滤:过滤掉任何正文超过 512token 的帖子(为了适配模型的上下文长度)。

    • 此外还对解析后的 reference 摘要进行额外的过滤(我们使用 reference 摘要来训练 supervised baselines):

      • 删除以 "Edit", "Update", "P.S." 等变体开头的摘要。
      • 启发式地删除了带有一定程度脏话的摘要。
      • 删除了少于24token 或超过48token 的摘要,从而尽量减少摘要长度对质量的潜在影响。此外我们发现:短于 16token 的摘要通常是低质量的。

    我们最终过滤的数据集包含 123169 个帖子,我们保留了 ~ 5% 作为验证集。在本文的其余部分,我们把这个数据集简称为 TL;DR

    如下表所示,TL;DR dataset 中大约 2/3 的帖子是由 relationshipsrelationship advice 组成,这是一个相当特定的领域。这引起了对于我们模型泛化性的潜在担忧,尽管模型在 CNN/DM 新闻文章上的强大迁移性能表明它们并没有无脑地特定于 relationship advice

    我们选择 TL;DR 数据集而不是更常用的 CNN/DM 数据集,主要是因为在 CNN/DM 上可以通过简单的 extractive baseline 获得非常强大的性能。我们在实验中发现:

    • CNN/DM 数据集,我们的 labelers 相比 reference summary 反而更喜欢 lead-3 summary
    • 而且带有 low-temperature sampling 监督微调 T5 模型已经超过了 reference summary 的质量,同时还大量复制了文章内容。

    另一方面,在我们的 human evaluations 中,简单的 extractive baselineTL;DR 上表现很差(如Figure 12 中的 TitleLead-2 )。我们没有在 CNN/DM 上进行训练,而是研究了我们的 human feedback models (即,human feedback 训练的策略)在被训练为 summarize Reddit posts 之后,向 CNN/DM 数据集的迁移性能。

  2. 任务:我们把我们的 ground-truth task 定义为:根据 human judgments 来产生一个模型,该模型生成长度小于 48token 的摘要并且尽可能的好。

    我们判断摘要质量的标准是:摘要在多大程度上向只能阅读摘要而不能阅读帖子的读者传达了原始帖子的内容(关于标准的进一步讨论,见论文附录 C.5)。由于我们做 comparisons 的能力有限,所以我们雇用 labelers 为我们做 comparisons 。我们依靠详细的程序来确保 comparisons 和我们在任务上的高度一致,我们将在下一节介绍。

  3. 判断摘要质量标准的进一步讨论:我们为评价 Reddit 帖子的摘要、以及评价 CNN/DM 的新闻文章的摘要制作了单独的说明。

    • 对于 Reddit 的指令,我们首先描述了 Reddit 的一般情况,并提供了一个表格,将Reddit的特定行话翻译成普通术语。

      • 用于 comparing summaries 的指令:我们在Table 6 展示了给 labelers 指令从而用于执行 comparisons。除了这些指令之外,我们还提供了 Reddit 摘要之间的一个 labeled comparison 例子,以及对摘要的朴素解释的一个例子。
      • 用于沿着质量轴评估摘要的指令:我们为 labelers 提供了一套单独的详细指令,用于 7-point Likert 评估。我们首先介绍了我们所考虑的 4 个质量轴中的每一个,概述了连贯性coherence、准确性accuracy、覆盖率 coverage 和总分(见Table 7 )。我们还为 1 分、4 分、以及 7 分及其对应的摘要提供了一个简短的评分标准,其中注释了我们自己对这些轴的质量判断(带有解释)。
      • 最后,我们提供了一个 FAQ 部分,回答了这项任务的 labelers 所提出的常见问题。
    • 对于CNN/DM ,我们提供了同样的指令,只是我们对如何判断新闻文章增加了一些额外的说明。我们特别要求 labelers 不那么强调句子的连贯性(因为 reference摘要最初是以要点的形式 bullet-point form 写成的,我们不希望 labelers 对此进行惩罚),也不那么强调摘要与文章的意图相匹配(这对 Reddit 的摘要很重要)。

    在质量控制方面,我们进行了论文附录 C.1 中描述的 smaller 版本的质量控制过程:

    • 首先沿着每个轴,我们(指的是论文的作者)亲自给一小部分摘要人工标注,以了解混淆点 points of confusion (指的是作者亲自下场,理解标注的难点)。
    • 然后,我们写了指令文档 instructions document 提供给 labelers
    • 然后,我们让一小部分 labelers 进行任务试验,以捕捉任何 bugs 或混淆点。
    • 最后,我们让一大批 labelers 加入到任务中,同时我们保持回答任何问题。

24.1.3 收集 human feedback

  1. 先前的、关于从 human feedback 中微调语言模型的工作(《Fine-tuning language models from human preferences》)报告了 "我们希望我们的模型学习的质量概念和human labelers 实际评估的质量概念之间的不匹配" ("a mismatch between the notion of quality we wanted our model to learn, and what the humans labelers actually evaluated"),导致模型生成的摘要按照 labelers 的说法是高质量的、但按照 researchers 的说法是相当低的质量。

    《Fine-tuning language models from human preferences》 相比,我们实施了两个变化以提高 human data 质量:

    • 首先,我们完全转移到 offline setting ,其中我们交替执行:发送大批量的 comparison data 给我们的 human labelers 、并在累积的 collected data 上重新训练我们的模型。
    • 其次,我们与 labelers 保持亲身接触的关系:我们为他们提供详细的指导,在共享的聊天室里回答他们的问题,并对他们的表现提供定期反馈。我们对所有 labelers 进行培训,以确保他们与我们的判断高度一致,并在项目过程中不断监测 labeler-researcher agreement 。详情见论文的附录 C.1C.5

    作为我们程序的结果,我们获得了高度的 labeler-researcher 一致性:在comparison tasks 的一个子集上,labelersresearchers 的一致性为77±2%$ 77\pm 2\% $ ,而 researchers-researchers 之间的一致性为73±4%$ 73\pm 4\% $ 。我们在论文附录 C.2 中提供了更多关于 human data 质量的分析。

24.1.4 模型

  1. 我们所有的模型都是 GPT-3 风格的 Transformer decoder 。我们对具有 1.3B6.7B 参数的模型进行 human feedback 实验。

  2. 预训练模型:我们从预训练的模型开始,在一个大型文本语料库中自回归地预测 next token 。我们通过数据集中的高质量摘要的样本来填充上下文从而将这些模型作为 zero-shot baseline 。我们在论文附录 B 中提供了关于预训练的细节,并在论文附录 B.2 中提供了关于我们的 zero-shot 程序。

  3. 监督微调 baseline:接下来,我们通过监督学习对这些模型进行微调,以预测我们过滤后的 TL;DR 数据集的摘要(详见论文附录 B )。

    此外,我们使用这些监督微调模型对初始摘要进行采样从而收集comparisons ,进而初始化我们的策略模型和奖励模型,并作为评估的 baseline 。在我们最终的 human evaluations 中,我们使用T=0$ T=0 $ 从所有模型中进行采样,因为我们发现它比更高的温度或 nucleus sampling 表现更好。

    为了验证我们的监督微调模型确实是强有力的、针对 comparisonbaseline ,我们在 CNN/DM 数据集上用 6.7B 模型运行我们的监督微调程序,发现我们取得的 ROUGE 分数比来自 mid-2019SOTA 模型略好(如下图所示)。

    此外,我们发现:温度对 ROUGE得分有(通常是显著的)影响,我们做了一次彻底的扫描,以验证最佳温度配置是T=0$ T=0 $ 。

    • TL;DR 上,在T=0$ T=0 $ 时,我们发现我们的 human feedback models获得的 ROUGE 分数比监督微调模型略低,这进一步表明ROUGEhuman preferences 的相关性很差。对于监督微调模型来说,降低温度比增加模型大小有更大的影响。有趣的是,在更高的温度下,我们的 human feedback models实际上超过了监督微调的同类模型。
    • CNN/DM 上,ROUGEhuman evaluations 相一致,即human feedback models 比我们的监督微调模型的迁移性能更好。
  4. 奖励模型:为了训练我们的奖励模型rθ(x,y)$ r_\theta(\mathbf x,\mathbf y) $ ,我们从一个监督微调 baseline 开始,如上所述,然后添加一个随机初始化的 linear head,该 linear head 输出一个标量值。我们训练这个模型来预测在给定一个帖子x$ \mathbf x $ 的情况下,哪个摘要y{y0,y1}$ \mathbf y\in \{\mathbf y_0,\mathbf y_1\} $ 由人类来判断是更好的。 如果人类喜欢的摘要是yi$ \mathbf y_i $ ,则我们可以把奖励模型的损失写成:

    (30)loss(rθ)=E(x,y0,y1,i)D[logσ(rθ(x,yi)rθ(x,y1i))]

    其中:

    • rθ(x,y)$ r_\theta(\mathbf x,\mathbf y) $ 的输出为标量,i{0,1}$ i\in \{0,1\} $ 。
    • D$ \mathcal D $ 为 human judgments 的数据集。

    在训练结束时,我们将奖励模型的输出归一化,使我们的数据集中的 reference summaries 的平均分为零。

    注意,监督微调模型与奖励模型是不同的模型,虽然它们使用相同的数据集,但是它们使用不同的监督信息:

    • 监督微调模型使用 reference 摘要作为监督信息。
    • 奖励模型使用 human comparisons 作为监督信息。
  5. human feedback 策略:我们想用上面训练的奖励模型来训练一个策略,该策略生成更高质量的输出(基于人类的判断)。我们主要使用强化学习来做这件事,把奖励模型的输出当作整个摘要的奖励,我们用 PPO 算法(《Proximal policy optimization algorithms》)来最大化这个奖励,其中每个 time step 是一个 BPE token

    我们以 Reddit TL;DR 上微调的模型来初始化我们的策略。重要的是,我们在奖励中加入了一个惩罚项,该惩罚项惩学到的强化学习策略πϕRL$ \pi_\phi^{\text{RL}} $ (参数为ϕ$ \phi $ )和初始的监督模型πSFT$ \pi^{\text{SFT}} $ 之间的 KL 散度。完整的奖励R$ R $ 为:

    (31)R(x,y)=rθ(x,y)βlog[πϕRL(yx)πSFT(yx)]

    KL 项有两个目的:

    • 首先,它起到了熵的作用,鼓励策略的探索从而阻止它塌陷到单一的模式。
    • 其次,它确保学到的策略不会生成这种的输出:该输出与奖励模型在训练期间所见的输出有太大的不同。

    根据 InstructGPTPPO 的损失函数为:

    (32)objective(ϕ)=E(x,y)DπϕRL[rθ(x,y)βlog[πϕRL(yx)πSFT(yx)]]

    其中:

    • πϕRL$ \pi_\phi^{\text{RL}} $ 为学到的 RL 策略,πSFT$ \pi^\text{SFT} $ 为监督微调的模型,ϕ$ \phi $ 为策略的参数。
    • DπϕRL$ \mathcal D_{\pi_\phi^{\text{RL}}} $ 为强化学习的数据分布,β$ \beta $ 为 KL 系数。

    对于PPO 的价值函数 value function ,我们使用一个与策略完全分离参数的 Transformer。这可以防止价值函数的更新在训练的早期部分破坏预训练的策略(消融实验的结果如下图所示)。我们将价值函数初始化为奖励模型的参数。在我们的实验中,奖励模型、策略函数、以及价值函数的规模是一样的。

    注意,理论上奖励模型和价值函数可以合二为一,但是论文为什么要将它们分离开来?个人猜测是因为离线数据收集的缘故:如果奖励模型和价值函数合二为一,那么当奖励模型被重新训练时,价值函数不可用(正在训练过程中)。

    将二者分离分开,使得奖励模型的训练与价值函数的使用之间相互独立。一旦奖励模型训练完毕,就用它的最新权重去初始化价值函数,使得价值函数始终成为奖励模型的最新版本的 copy

  6. 所有的模型都遵循标准的 Transformer 架构,positional embedding 维度为 2048。所有模型都是用 fp16 activationsAdam 优化器训练的。几乎所有的 supervised baselines、奖励模型、以及强化学习模型都是用 fp32 权重训练的,唯一例外的是我们的TL;DR supervised baselines 是用fp16 权重训练的。所有的模型都是用与 GPT-3 中相同的 BPE 编码进行训练。

    • 在预训练期间,模型被训练为预测由 Commoncrawl, Webtext, book, Wikipedia 组成的大型文本语料库的 next token

      • 每个模型的训练时间在 1 ~ 3epochs 之间,总共有 200 ~ 300 Btoken
      • 学习率遵循带有一个 short warmupcosine schedule ,最终学习率衰减到最大值的 10%
      • batch size 在整个训练过程中逐步上升到某个最大值,其中每个输入有 2048token

      每个模型的超参数如下表所示。

    • 对于supervised baselines ,我们从预训练的模型中初始化模型。

      • 我们用cosine schedule 来衰减学习率,初始学习率从 7 个值中选择(这七个值来自于 log linear sweep) 。这导致我们在 TL;DR 数据集上 1.3B, 3B, 6.7B, 13B 大小的模型的学习率分别为 6.35e-5, 5.66e-5, 2.83e-5, 2.83e-5 ,而在 CNN/DM 数据集上 6.7B 模型的学习率为 2.38e-5
      • 我们使用 batch size = 128 并微调一个 epoch
    • 对于奖励模型,我们初始化为supervised baseline ,但在奖励模型的顶部有一个reward head ,其权重根据N(0,1/(dmodel+1))$ \mathcal N(0,1/(d_\text{model} +1)) $ 来初始化。

      • 我们训练一个 epoch ,用 cosine schedule 衰减学习率,初始学习率从 7 个值中选择(这七个值来自于 log linear sweep)。

        我们还在 3 ~ 10 个种子之间进行 sweep ,并选择在验证集表现最好的奖励模型,因为我们发现数据迭代顺序和奖励头初始化都会影响结果。对于我们的main结果,1.3B6.7B 奖励模型的学习率分别为 1.5e-55e-6

      • 我们使用 batch size = 64 ,并训练一个 epoch

    • 对于PPO,我们用分离的策略网络和价值网络,将我们的策略网络初始化为 supervised baseline, ,将我们的价值网络初始化为奖励模型。

      • 我们为 advantage estimation 设置了γ=1$ \gamma=1 $ 和λ=0.95$ \lambda=0.95 $ ,并为每个 batchrollouts 优化了 4epoch

        即,外层的 batch 对应于(x,y)$ (\mathbf x,\mathbf y) $ 的 pair ,内层的 minibatch 对应于 trajectory segment 长度T$ T $ 。我们对每个样本收集长度为T$ T $ 的轨迹,然后在这些轨迹上训练 4epoch 。这里的 rollouts 指的就是轨迹。

      • 我们使用了一个线性学习率衰减 schedule,根据少量的实验和粗略的模型大小推断,设置 1.3B 模型的初始学习率为1.5e-56.7B 模型的初始学习率为 7e-6

      • 在我们报告结果的两个 main 运行中,我们使用了 0.05KL系数。

      • 我们对 1.3B 模型使用 batch size = 512 、对 6.7B 模型使用 batch size = 256 ,并运行 1Mepisodes

24.2 实验

24.2.1 从 human feedback 来总结 Reddit 帖子

  1. human feedback 训练出来的策略比更大的监督模型更受欢迎。

    我们在 TL;DR 上评估 human feedback 策略的主要结果显示在下图中。我们评估策略质量为:在数据集中,在策略生成的摘要和 reference 摘要之间,人类更喜欢策略生成的摘要的占比。在这个指标上:

    • 我们用 human feedback 训练出来的策略明显优于我们的监督微调 baseline :我们的 1.3Bhuman feedback model 显著优于 10 倍规模的监督微调模型( 61% vs 43% )。
    • 我们的 6.7B 模型反过来又明显优于我们的 1.3B 模型,这表明使用 human feedback 的训练也得益于规模。
    • 此外,我们的两个human feedback model 都被人类判定为优于数据集中使用的 human demonstrations (即 reference 摘要)。

  2. 控制摘要的长度:在判断摘要质量时,摘要长度是一个混杂因素 confounding factor 。摘要的目标长度是摘要任务的隐式部分:根据所需的简洁性 conciseness (较短的摘要)和覆盖度 coverage (较长的摘要)之间的权衡,较短或较长的摘要可能更好。

    由于我们的模型学会了生成较长的摘要,长度可能是我们质量改进的主要原因。我们策略产生的摘要要比 reference 摘要更长,因为我们对策略限制了生成 24 ~ 48token 的摘要。

    我们发现,在控制了摘要长度之后(见论文附录 F ),我们的 human feedback model 相对于 reference 摘要的偏好下降了大约 5% 。即便如此,我们的 6.7B 模型的摘要仍然比 reference 摘要在大约 65% 的时间更受欢迎(如下图 (b) 所示)。

    注意:下图 (b) 是通过一个逻辑回归模型来拟合曲线的。

  3. 我们的策略是如何相对于 baseline 得到改进的?

    为了更好地了解我们的模型摘要与 reference 摘要、 supervised baseline 的摘要相比的质量,我们进行了一项额外的分析,即human labelers 使用七个等级的 Likert 从四个方面(或 "轴")评估摘要质量。Labelers 对摘要的覆盖度(原帖中的重要信息被覆盖的程度)、准确性(摘要中的 statements 在多大程度上被原始帖子所述)、连贯性(摘要本身有多容易阅读)、以及整体质量进行评分。

    结果(如下图所示)表明:我们的 human feedback model 在质量的每个维度上都优于 supervised baseline ,特别是覆盖度。

    尽管我们的human labelers 对给出完美的 overall 质量分有很高的要求,但来自我们 6.7B PPO 模型的摘要在 45% 的时间里达到了 7/7 的整体质量分。相比之下,6.7Bsupervised baselinereference 摘要的整体质量分达到 7/7 的时间分别为 20%23%

    注:45%20%23% 这些数据,在原始论文中并没有相应的表格给出详细说明。

24.2.2 迁移到总结新闻文章

  1. 我们的 human feedback models (即,强化学习得到的模型)也可以在没有任何进一步训练的情况下生成优秀的 CNN/DM 新闻文章的摘要(如下图所示):

    • 我们的 human feedback models 的表现显著优于在 TL;DR 上通过监督学习所微调的模型、以及仅在预训练语料上训练的模型。
    • 事实上,我们的 6.7Bhuman feedback model 的表现几乎与在 CNN/DMreference 摘要上微调的 6.7B 模型一样好,尽管我们的模型所生成的摘要短得多。

    由于我们迁移到 CNN/DMhuman feedback models 与在 CNN/DM 上训练的模型在摘要长度分布上几乎没有重叠,前者的平均 token 长度大约是后者的一半,所以它们很难直接比较。在下图 (b) 中,我们显示了不同摘要长度下的平均 overall score ,这表明如果我们的 human feedback models 生成更长的摘要,其表现会更好。从质量上看,来自human feedback modelsCNN/DM 摘要一致地是文章的流畅和合理的表达。我们在论文的附录 H 中展示了一些例子。

    注意:下图 (b) 是通过一个逻辑回归模型来拟合曲线的。

24.2.3 理解奖励模型

  1. 当我们优化奖励模型时发生了什么?

    奖励模型并不能完美地代表我们的labeler preferences ,因为它只有有限的容量,而且只能看到来自相对狭窄分布(关于摘要的分布)的少量 comparison data 。虽然我们可以希望我们的奖励模型能够泛化到训练期间未见过的摘要,但不清楚人们可以针对奖励模型进行多大程度的优化。

    为了回答这个问题,我们创建了一系列策略,这些策略采用我们奖励模型的早期版本 earlier version (这些早期版本的奖励模型具有不同的优化强度 optimization strength ),并要求 labelers 将策略生成的摘要与 reference 摘要进行比较。下图显示了 PPO 在在一系列 KL 惩罚系数(即,β$ \beta $ )下的结果:

    根据R(x,y)=rθ(x,y)βlog[πϕRL(yx)πSFT(yx)]$ R(\mathbf x,\mathbf y) = r_\theta(\mathbf x,\mathbf y) - \beta\log \left[\frac{\pi_\phi^\text{RL}(\mathbf y\mid \mathbf x)}{\pi ^\text{SFT}(\mathbf y\mid \mathbf x)}\right] $ ,通常采用动态的β$ \beta $ 从而满足固定的 KL 值。因此当β$ \beta $ 值不同时,KL(πϕRL,πSFT)$ \text{KL}(\pi_\phi^\text{RL},\pi^\text{SFT}) $ 也发生变化。

    • 在轻度优化下(即,πϕRL$ \pi_\phi^\text{RL} $ 距离πSFT$ \pi^\text{SFT} $ 较近时),模型得到了改善(根据 labelers 的评估)。
    • 然而,随着我们进一步优化,最终奖励模型变得与 labelers 反相关(因为策略产生了的样本是奖励模型没有见过的,导致奖励模型误判)。尽管这显然是不可取的,但我们注意到这种过度优化 over-optimization 也发生在 ROUGE 中。类似的行为在机器人领域的学到的奖励函数中也被观察到。

    随着πϕRL$ \pi_\phi^\text{RL} $ 距离πSFT$ \pi^\text{SFT} $ 越来越远,奖励模型对策略πϕRL$ \pi_\phi^\text{RL} $ 生成的样本的误判越来越严重:奖励模型认为是好的样本,而 labelers 标注的结果是坏的样本。

  2. reward modeling 是如何随着模型规模和数据规模的增加而 scale 的?

    我们进行了一次消融实验,以确定数据规模和模型大小如何影响奖励模型的性能。我们训练了 7 个奖励模型,模型规模从 160M13B 参数,在来自我们数据集的 8k64khuman comparisons 上训练。我们发现:

    • 训练数据量增加一倍会导致奖励模型验证准确性增加约 1.1%
    • 而模型大小增加一倍则会导致奖励模型验证准确性增加约 1.8%

  3. 奖励模型学到了什么?

    我们通过在几个验证集上评估我们的奖励模型来探索它。我们在论文附录 G.6 中展示了完整的结果,并在此强调了这些结果:

    • 我们发现:我们的奖励模型泛化到评估CNN/DM 摘要(论文附录 G.7 ),在 62.4%66.5% 的时间内与 labeler preferences 相一致(分别对应于我们的 1.3B6.7B 模型)。我们的 6.7B 奖励模型几乎与 labeler-labeler 之间的 66.9% 的一致率相匹配。

    • 我们还发现,我们的奖励模型对摘要中微小的、但是语义上重要的细节很敏感。

      我们构建了一个额外的验证集,让 labelers 对摘要进行最小的编辑来改进它们。我们的奖励模型倾向于经过编辑的摘要的频率(1.3B 模型为 79.4%6.7B 模型为 82.8% ),这几乎与单独的 human evaluators 偏好经过编辑的摘要的频率(84.1%)一样。

      此外,当比较 reference 摘要、以及参与者角色颠倒的干扰摘要时,我们的模型可靠地选择了 reference 摘要(1.3B 模型为 92.9% 的时间,6.7B 模型为 97.2% 的时间)。

      然而,我们的模型偏向于较长的摘要:我们的6.7B 模型仅在 62.6% 的时间里更喜欢使摘要变短的改进编辑(与人类的 76.4% 相比)。

24.2.4 分析针对摘要的自动指标

  1. 评估:我们研究了各种自动化指标作为 human preferences 的预测器的效果,并将它们与我们的奖励模型进行比较。

    具体而言,我们研究了 ROUGE 、摘要长度、从帖子中拷贝的数量、以及我们的基线监督模型下的log probability 。我们在论文附录 G.7 中列出了这些指标之间的一致率的完整矩阵(如下图所示)。

    我们发现:

    • 我们学到的奖励模型始终优于其他指标,甚至在从未训练过的 CNN/DM 数据集上也是如此。

    • ROUGE 未能跟踪 track 样本质量,而我们的模型可以改进跟踪。

      • 在比较我们的 supervised baseline models 的样本时,ROUGElabelers 的一致率为 57%
      • 而比较我们的 human feedback model 的样本,ROUGElabelers 的一致率下降到 50%
      • 同样地,在比较我们的 human feedback models 的样本时,ROUGEsupervised log probability 的一致率降至 50% ;而我们的奖励模型与 supervised log probability 的一致率仍高于随机表现(62%)。
    • 扩大监督模型的规模并不能可靠地改善奖励模型与 labelerssupervised log probability 上的一致性。

  2. 优化:在下图中,我们展示了使用简单的优化方案对 ROUGE 进行优化并不能持续提高质量,这一点在 《A deep reinforced model for abstractive summarization》中已经被指出。与针对我们的奖励模型的优化相比,针对 ROUGE 的优化达到峰值的时间更早,质量也大大降低。

    n$ n $ 代表迭代轮次,RM 代表奖励函数 reward model

24.3 讨论

  1. 局限性:我们工作的一个局限性是生成最终模型所需的时间和成本。

    • 值得注意的是,用强化学习对我们的 6.7B 模型进行微调需要大约 320 GPU-days

    • 与之前的工作相比,我们的数据收集程序也很昂贵:训练集花费了数千 labeler hours ,并且需要大量的 researcher time 来确保质量。由于这个原因,我们无法收集 baseline ,如同等数量的高质量 human demonstrationssupervised baselines。更多讨论见附录 D 。我们把这种消融留给未来的工作。

      尽管如此,我们相信奖励模型更有可能扩展到那些提供良好 demonstrations 的技能密集型 skill-intensive 的或耗时的任务。

  2. 未来的方向:

    • 本文的方法可以应用于任何人类可以比较样本的任务,包括对话、机器翻译、问答、语音合成、以及音乐生成。我们预期这种方法对生成较长的样本特别重要,因为在这种情况下,maximum likelihood samplesdistributional shift 和退化会产生问题。通过训练跨许多任务来预测human feedback ,也许可以提高样本效率。

      这些生成任务都是优化样本的最大似然。

    • 我们对将 human feedback 扩展到人类不容易评估模型输出质量的任务中特别感兴趣。在这种情况下,识别一个机器学习系统是否 align to 人类设计者的意图,这是特别具有挑战性的。一种方法是训练机器学习系统来帮助人类快速而准确地完成评估任务。

    • 除了二元比较之外,还有丰富的human feedback 方法,可以针对训练模型来探索这些方法。例如,我们可以从labelers 那里获得高质量的demonstrations 、让labelers 编辑模型输出以使其更好、或者让labelers 提供解释从而说明他们为什么喜欢一个模型输出而不是另一个。所有这些human feedback都可以作为一个信号来训练更有能力的奖励模型和策略。

  3. 更广泛的影响:我们在本文中探讨的技术是通用技术,可以用于各种机器学习应用,用于任何人类可以评估模型输出质量的任务。因此,其潜在的影响是相当广泛的。

    • 我们的研究主要是出于如下的潜在的积极效果:使机器学习算法 align to 设计者的偏好。许多机器学习应用优化了简单的指标,这些指标只是设计者意图的粗略代理。这可能会导致一些问题,比如 Youtube 的推荐会促进点击诱饵 click-bait 。在短期内,改进直接从human preferences 中学习和优化的技术,可能会使这些应用更符合人类的福祉。

      然而从长远来看,随着机器学习系统的能力越来越强,要确保它们的行为安全可能会越来越困难:它们所犯的错误可能更难发现,后果也会更严重。例如,写一篇不准确的新闻摘要既容易被发现(人们只需阅读原文),后果也相当低。另一方面,模仿人类驾驶可能比优化 human preferences 更不安全(因为模仿驾驶出问题的后果相当严重)。我们相信,我们在本文中探讨的技术是一种有希望的步骤从而缓解这种强有力系统的风险,并使它们更好地 align to 人类关心的东西。

    • 不幸的是,我们的技术也使恶意行为者能够更容易地训练造成社会伤害的模型。例如,人们可以利用 human feedback 来微调语言模型,使其更具说服力并操纵人类的信念、或者诱导人类对技术的依赖、或者产生大量的有毒或有害的内容从而伤害特定的个人。避免这些结果是一个重大的挑战,没有什么明显的解决方案。

    • human feedback 训练的大型模型可能对许多群体产生重大影响。因此,对于我们如何定义 labelers 会强化的 "好的" 模型行为,必须要谨慎。决定什么是好的摘要是相当直截了当的,但是对于具有更复杂目标的任务,不同的人可能对正确的模型行为有不同的意见,因此决定什么是好的行为将需要非常小心。

      在这些情况下,使用 researcher labels 作为 "黄金标准" 可能是不合适的。相反,来自受技术影响的群体的个人应该被纳入到定义 "好" 的行为的过程中,并被聘为 labelers 从而加强模型中的这种行为。

    • 我们选择在 Reddit TL;DR 数据集上进行训练,因为该数据集上的摘要任务比 CNN/DM 上明显更具挑战性。然而,由于该数据集由用户提交的帖子组成,且审核度极低,它们往往包含冒犯性或反映有害社会偏见的内容。这意味着我们的模型可能会产生有偏见的或令人反感的摘要,因为它们已经被训练为总结此类内容。出于这个原因,我们建议在将我们的模型部署到面向用户的应用中之前,要彻底研究其潜在的危害。

    • 最后,对于以前只能由人类完成的任务,通过提高机器学习算法执行这类任务的能力,我们正在增加许多工作被自动化的可能性,可能会导致大量的工作流失。如果没有合适的政策来缓解大规模失业的影响,这也可能导致重大的社会危害。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文