返回介绍

数学基础

统计学习

深度学习

工具

Scala

二十三、Fine-Tuning Language Models from Human Preferences [2019]

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

  1. 我们希望将强化学习应用于仅由 human judgment 所定义的复杂的任务,对于该任务我们只能通过询问人类来判断一个结果是好还是坏。要做到这一点,我们可以首先使用 human labels 来训练一个奖励模型 reward model ,然后优化这个模型。虽然通过互动从人类那里学习这种模型的工作由来已久,但这项工作最近才被应用于现代深度学习,即使如此,也只被应用于相对简单的模拟环境 simulated environments 。相比之下,真实世界的 setting (其中人类需要向 AI agents 指定复杂目标)很可能涉及并需要自然语言,其中自然语言是一种丰富的媒介来表达 value-laden 的概念。当 agent 必须与人类沟通从而帮助提供更准确的监督信号时,自然语言尤其重要。

    自然语言处理最近取得了实质性的进展。一种成功的方法是在无监督数据的语料库上预训练大型生成式语言模型,然后针对有监督的NLP 任务对模型进行微调。这种方法往往大大优于在监督数据集上从头开始的训练,并且在许多不同的监督数据集上,一个预训练的语言模型往往可以微调从而得到 SOTA 的性能。在某些情况下,不需要进行微调:GPT-2 发现,生成式预训练的模型在没有额外训练的情况下(即,zero-shot) ),在NLP 任务上显示出合理的性能。

    有大量文献将强化学习应用于自然语言任务。这些工作大多使用算法定义的奖励函数 reward functions ,如用于翻译的 BLEU 、用于摘要的 ROUGEmusic theory-based的奖励、或者用于故事生成的 event detectors

    • 《Reinforcement learning for bandit neural machine translation with simulated human feedback》BLEU 上使用强化学习,但应用了几个 error models 来近似 human behavior
    • 《Learning to extract coherent summary via deep reinforcement learning》 以及 《Towards coherent and cohesive long-formtext generation》 从现有文本中学习了 coherence model ,并将其作为强化学习奖励分别用于摘要和长篇小说的生成。
    • 《Preference-based interactive multi-document summarisation》 通过一次对一篇文章应用 reward learning ,建立了一个交互式的摘要工具。
    • 使用人类评价作为奖励的实验包括 《Reliability and learnability of human bandit feedback for sequence-to-sequence reinforcement learning》off-policyreward learning 用于翻译、以及 《Way off-policy batch deep reinforcement learning of implicit human preferences indialog》《Sequence tutor: Conservative fine-tuning of sequence generation models with kl-control》 修改后的 Q-learning 方法应用于对话中的隐式的 human preferences
    • 《Towards coherent and engaging spoken dialog response generation using automatic conversation evaluators》 从人类那里学习奖励来微调对话模型,但对奖励进行了平滑处理从而允许监督学习。
    • 我们参考 《A survey of reinforcement learning informed by natural language》 对涉及语言作为一个组成部分的强化学习任务的综述,以及使用从语言迁移学习的强化学习结果。
    • 强化学习并不是纳入持续的 human feedback 的唯一方式。 《Learning from dialogue after deployment: Feed yourself, chatbot!》 询问人类关于对话系统应该说些什么,然后继续监督训练。

    在论文 《Fine-Tuning Language Models from Human Preferences》中,作者将自然语言处理的预训练进展与 human preference learning 相结合。作者用 reinforcement learning 而不是 supervised learning 来微调预训练的语言模型,使用来自在 text continuations 上的 human preferences 训练的一个奖励模型 reward model。遵从 《Sequence tutor: Conservative fine-tuning of sequence generation models with kl-control》《Way off-policy batch deep reinforcement learning of implicit human preferences indialog》 之后,作者使用 KL constraint 来防止微调模型与预训练模型相差太远。

    作者将该方法应用于两类任务:以符合目标风格的方式续写文本 continuing text (无论是积极的情感还是生动的描述)、以及 CNN/Daily MailTL;DR 数据集的文本摘要。论文的动机是 NLP 任务,其中监督数据集不可用或数量不够,而且程序化的奖励函数(如 BLUE )对任务的真正目标来说是很差的代理 proxy

    对于风格延续 stylistic continuation5Khuman comparisons (每次选择 4continuation 中最好的一个)的结果是:

    • reinforcement learning 微调模型与 zero-shot 相比,人类在86% 的情况下优先选择reinforcement learning 微调模型的结果。
    • reinforcement learning 微调模型与被监督微调到情感分类网络相比,人类在 77% 的情况下选择reinforcement learning 微调模型的结果。

    注意,这里有两种微调:reinforcement learning 微调、supervised learning 微调。

    对于摘要,论文使用 60K 个人类标注的样本来训练模型,这些模型可以大致描述为 "smart copiers":它们通常从输入中复制整个句子,但改变它们复制的内容以跳过不相关的初始文本。这种复制行为是在数据收集和训练过程中自然出现的。作者没有像 《Get to the point: Summarization with pointer-generator networks》《Bottom-up abstractive summarization》 那样使用任何显式的架构机制进行复制。一种解释是,鉴于作者没有指示 labelers 惩罚 copying ,而是指示 labelers 惩罚 inaccuracy ,所以复制是一种容易的方式来实现 accurate 。这也可能反映了这样一个事实:即一些 labelers 将检查 copying 作为一种快速的启发式方法来确保摘要的准确性。事实上,相比于有监督的 fine-tuning baselines 甚至是human-writtenreference 摘要, human labelers 明显倾向于论文的模型,但是论文的模型反而比不过 lead-3 baseline (简单地拷贝文本的前三句话)。

    对于摘要,作者继续收集额外的数据,并随着策略的改善重新训练奖励模型(online data collection)。作者还测试了offline data collection,其中论文只使用原始语言模型的数据来训练奖励模型(而没有重新训练奖励模型)。离线数据收集大大降低了训练过程的复杂性。

    • 对于 TL;DR 数据集,human labelers71% 的情况下更喜欢用 online data collection 训练的策略。在定性评估中,offline model 经常提供不准确的摘要。
    • 相比之下,对于风格延续,作者发现 offline data collection 的效果同样很好。这可能与风格延续任务需要很少的数据有关。 《Learning to generate reviews and discovering sentiment》 表明:生成式训练的模型可以从很少的标记样本中学习情感分类。

    在同时进行的工作中, 《Better rewards yield better summaries: Learning to summarise without references》 也使用human evaluations 来学习摘要的奖励函数,并通过强化学习来优化该奖励函数。他们的工作对 CNN/Daily Mail 数据集上的学习策略函数和奖励函数进行了更详细的调查。

    而论文 《Fine-Tuning Language Models from Human Preferences》 对更通用地探索从 human feedback 中学习、以及更大的计算规模感兴趣。因此,作者考虑了几个额外的任务,探索了 on-policy reward model training 和更多数据的效果,并同时为 reward modeling 和强化学习来微调大型语言模型。

23.1 模型

  1. 我们以一个词表 V $ \mathbb V $ 和一个语言模型 ρ() $ \rho(\cdot) $ 来开始,其中 ρ() $ \rho(\cdot) $ 在一个长度为 n $ n $ 的 token 序列 x=(x0,,xn1) $ \mathbf x=(x_0,\cdots,x_{n-1}) $ 上定义了分布概率:

    (22)ρ(x0,,xn1)=0k<nρ(xkx0,,xk1)

    我们将 ρ() $ \rho(\cdot) $ 应用到一个任务,该任务的输入空间 X $ X $ 为所有长度小于等于 m $ m $ 的 token 序列、输出空间 Y $ Y $ 为长度等于 n $ n $ 的 token 序列。定义 D $ \mathcal D $ 为该任务在输入空间 X $ X $ 上的数据分布。例如:xX $ \mathbf x \in X $ 可以是一篇最大长度为 1000 个单词的文章,yY $ \mathbf y\in Y $ 可能是一篇长度为 100 个单词的摘要。

    ρ() $ \rho(\cdot) $ 通过 ρ(yx)=ρ(x,y)ρ(x) $ \rho(\mathbf y\mid \mathbf x) = \frac{\rho(\mathbf x,\mathbf y)}{ \rho(\mathbf x)} $ 为该任务定义了一个概率性的策略 policy :将样本的开头固定为 x $ \mathbf x $ ,然后使用 ρ() $ \rho(\cdot) $ 生成后续的 token

    这是一个强化学习策略,其中每个 action 可以视为生成一个 token,总的奖励等于 y $ \mathbf y $ 的 human preference (即,人工标注是好、还是坏)。

  2. 我们初始化一个策略 πθ=ρ $ \pi_\theta = \rho $ ,然后使用强化学习微调 πθ $ \pi_\theta $ 从而顺利执行该任务。如果我们通过一个奖励函数来定义该任务,其中奖励函数为 r:X×YR $ r: X\times Y \rightarrow \mathbb R $ ,那么我们可以使用强化学习来直接优化期望的奖励 expected reward

    (23)Eπθ[r]=ExD,yπθ(x)[r(x,y)]

    然而,我们希望执行由 human judgments 定义的任务,在这种情况下,我们只能通过询问人类来了解奖励的情况。为了做到这一点,我们将首先使用 human labels 来训练奖励模型,然后优化该奖励模型。

    遵从 《Deep reinforcement learning from human preferences》 的做法,我们要求 human labelers 针对给定的输入 x $ \mathbf x $ 从若干个输出 {y0,y1,} $ \{\mathbf y_0,\mathbf y_1,\cdots\} $ 中挑选出最佳的 response 。我们要求人类在四个选项 {y0,y1,y2,y3} $ \{\mathbf y_0,\mathbf y_1,\mathbf y_2,\mathbf y_3\} $ 中做出选择。考虑更多的选项可以使人类摊薄阅读和理解 prompt x $ \mathbf x $ 的成本。令 b{0,1,2,3} $ b\in \{0,1,2,3\} $ 为 human labelers 的选择结果。在收集了一个由 (x,y0,y1,y2,y3,b) $ (\mathbf x,\mathbf y_0,\mathbf y_1,\mathbf y_2,\mathbf y_3,b) $ 的元组成的数据集 S $ \mathbb S $ 后,我们使用如下的损失函数来训练一个奖励模型 r:X×YR $ r: X\times Y \rightarrow \mathbb R $ :

    (24)loss(r)=E(x,y0,y1,y2,y3,b)S[logexp(r(x,yb))i=03exp(r(x,yi))]

    由于奖励模型需要理解语言,我们遵从 GPT-1 的做法,将奖励模型初始化为语言模型策略 ρ $ \rho $ 的 final embedding output 的随机线性函数(对于为什么从 ρ $ \rho $ 而不是 πθ $ \pi_\theta $ 来初始化,参考后面的内容)。为了使奖励模型的 scale 在整个训练中保持一致,我们将其归一化为:针对 xD,yρ(x) $ \mathbf x\sim \mathcal D, \mathbf y\sim \rho(\cdot\mid \mathbf x) $ ,奖励模型的输出的均值为零、方差为 1

    为什么从 ρ $ \rho $ 而不是 πθ $ \pi_\theta $ 来初始化?因为训练过程中会周期性重新训练奖励模型,每次重新训练奖励模型都需要对它进行初始化。如果选择 πθ $ \pi_\theta $ 来初始化奖励模型 r(x,y) $ r(\mathbf x,\mathbf y) $ ,那么由于 πθ $ \pi_\theta $ 在训练过程中不断更新、且 πθ $ \pi_\theta $ 的更新过程依赖于 r(x,y) $ r(\mathbf x,\mathbf y) $ 的结果,因此造成一个 feedback loop,这不利于训练。

    注:读者猜测模型结构为 GPT-1 中的 Multiple Choice 。每个输入都添加了 start token <s> $ $ 和 extract token <e> $ $ (也叫做 end token )。

  3. 现在我们强化学习微调 πθ $ \pi_\theta $ 从而优化奖励模型 r $ r $ 。为了防止 πθ $ \pi_\theta $ 离 r $ r $ 太远,我们增加了一个惩罚项 βKL(πθ,ρ) $ \beta \text{KL}(\pi_\theta,\rho) $ ,其中 KLKL 散度。可以参考 Table 10 来了解没有这个惩罚项的后果。即,我们在修改后的奖励上执行强化学习:

    (25)R(x,y)=r(x,y)βlogπθ(yx)ρ(yx)

    我们要么选择一个常数 β $ \beta $ ,要么动态地改变 β $ \beta $ 以达到一个特定的 KL $ \text{KL} $ 值。

    这个惩罚项有几个目的:

    • 它起到了熵的作用。

    • 它可以防止策略 πθ $ \pi_\theta $ 离 r $ r $ 有效的范围太远。

      因为奖励模型是通过 ρ() $ \rho(\cdot) $ 来初始化的,因此如果策略 πθ(yx) $ \pi_\theta(\mathbf y\mid \mathbf x) $ 距离 ρ() $ \rho(\cdot) $ 太远,则奖励模型的评估结果可能失效。

    • 在我们的风格延续任务中,它也是任务定义的一个重要部分:我们要求人类评估风格,但依靠 KL 项来鼓励一致性 coherence 和主题性topicality

    奖励模型用于判定文本生成的好坏。有两种优化奖励模型的方式:

    • 监督微调:利用大量的带标记的文本来进行监督微调,此时每个被生成的文本需要评估一次(在整体上进行评估)。
    • 强化学习微调:利用一个预训练好的(或者微调好的)奖励模型来进行强化学习微调,此时每个被生成的文本需要被评估多次(每生成一个 token 就在已经生成的序列上进行评估,即使生成过程尚未完成)。
  4. 我们的整体训练过程是:

    • 通过 xD,yρ(x) $ \mathbf x\sim \mathcal D, \mathbf y\sim \rho(\cdot\mid \mathbf x) $ 来收集样本 (x,y0,y1,y2,y3) $ (\mathbf x,\mathbf y_0,\mathbf y_1,\mathbf y_2,\mathbf y_3) $ ,并要求人类从每个样本中挑选出最好的 yi $ \mathbf y_i $ 。

      注意,前提是必须有一个预训练好的语言模型 ρ(x) $ \rho(\cdot\mid \mathbf x) $ 。这里的 D $ \mathcal D $ 不是预训练数据集,而是下游的目标任务数据集。

      注意,这里应该是 yπθ(x) $ \mathbf y\sim \pi_\theta(\cdot\mid \mathbf x) $ ,因为奖励模型要对策略进行打分,而不是对预训练模型进行打分。但是,初始的策略 πθ $ \pi_\theta $ 就是语言模型 ρ(x) $ \rho(\cdot\mid\mathbf x) $ 。

    • 初始化奖励模型 r(x,y) $ r(\mathbf x,\mathbf y) $ 为 ρ(yx) $ \rho(\mathbf y\mid \mathbf x) $ ,对 r $ r $ 的 final linear layer 使用随机初始化,使用损失 loss(r) $ \text{loss}(r) $ 在 human samples 上训练 r(x,y) $ r(\mathbf x,\mathbf y) $ 。

      注意,这里的 label 来自于人工标注,即 human labelers 的选择结果 b{0,1,2,3} $ b\in \{0,1,2,3\} $ 。

    • xD $ \mathbf x\sim \mathcal D $ 上采用奖励 R(x,y)=r(x,y)βlogπθ(yx)ρ(yx) $ R(\mathbf x,\mathbf y) = r(\mathbf x,\mathbf y) - \beta\log \frac{\pi_\theta(\mathbf y\mid \mathbf x)}{\rho(\mathbf y\mid \mathbf x)} $ 通过 Proximal Policy Optimization: PPO 来训练 πθ $ \pi_\theta $ 。

      根据 InstructGPTPPO 的损失函数为:

      (26)objective(θ)=E(x,y)D[r(x,y)βlogπθ(yx)ρ(yx)]

      其中:

      • πθ $ \pi_\theta $ 为学到的 RL 策略,θ $ \theta $ 为策略的参数;ρ $ \rho $ 为预训练好的语言模型。
      • D $ \mathcal D $ 为强化学习的数据分布,β $ \beta $ 为 KL 系数。
    • online data collection 的情况下,继续收集更多的样本(样本来自于更新后的策略 πθ $ \pi_\theta $ ),并周期性重新训练奖励模型 r(x,y) $ r(\mathbf x,\mathbf y) $ 。

    整体框架如下图所示。

    注意,根据下图所示,奖励模型的样本由 policy 函数 πθ $ \pi_\theta $ 生成,而不是预训练模型 ρ(x) $ \rho(\cdot\mid\mathbf x) $ 生成。这是讲得通的,因为奖励模型要对策略进行打分,而不是对预训练模型进行打分。

23.1.1 预训练细节

  1. 我们使用 774M 参数版本的 GPT-2 语言模型,在GPT-2WebText 数据集、以及 50257tokeninvertible BPE (保留大写和标点符号)上进行训练。该模型是一个具有 36 层、20个头、 embedding size = 1280Transformer

    对于风格延续任务,我们在强化学习微调之前对 BookCorpus 数据集进行监督微调(语言模型):首先在 WebText 上从头开始训练,然后在 BookCorpus 上进行监督微调,最后对我们的最终任务进行强化学习微调。

    为了提高样本质量,我们在所有的实验中都使用了 T<1 $ T<1 $ 的温度。我们通过将 logits 除以 T $ T $ 来修改初始语言模型,这样,未来的 sampling 和强化学习在 T=1 $ T=1 $ 的情况下对应于针对 unmodified pretrained model 的较低温度。

    这个 unmodified pretrained model 的较低温度是什么意思?论文未解释。

23.1.2 微调细节

  1. 监督微调:以预训练好的语言模型作为开始,我们使用 Adam 优化器来训练奖励模型,损失为 loss(r) $ \text{loss}(r) $ 。风格任务的 batch size = 8、摘要任务的 batch size = 32,两者的学习率均为 1.77×105 $ 1.77\times 10^{-5} $ 。我们使用单个 epoch 从而过拟合于 small amount of human data, ,并禁用 dropout

  2. 强化学习微调:对于策略 π $ \pi $ 的训练,我们使用来自 《Openai baselines》Proximal Policy OptimizationPPO2 版本。我们使用 2Mepisodes(x,y0,y1,y2,y3,b) $ (\mathbf x,\mathbf y_0,\mathbf y_1,\mathbf y_2,\mathbf y_3,b) $ ,γ=1 $ \gamma=1 $ ,每个 batch 有四个 PPO epoch ,每个 batch 有一个 minibatch ,其它超参数为默认值。我们对风格任务使用 batch size = 1024、对摘要任务使用 batch size = 512。我们在策略训练中禁用 dropout 。风格任务的学习率为 1.41×105 $ 1.41\times 10^{-5} $ 、摘要任务的学习率为 7.07×106 $ 7.07\times 10^{-6} $ 。

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

  3. 用不同的种子和相同的 KL 惩罚系数 β $ \beta $ 训练出来的模型有时会有相当不同的 KL(π,ρ) $ \text{KL}(\pi,\rho) $ 的值,使它们难以比较。为了解决这个问题,在一些实验中,我们使用对数空间比例控制器 log-space proportional controller 动态地改变 β $ \beta $ 从而实现 KL(π,ρ) $ \text{KL}(\pi,\rho) $ 的特定目标值:

    (27)et=clip(KL(πt,ρ)KLtargetKLtarget,0.2,+0,2),βt+1=βt×(1+Kβ×et)

    其中:

    • KLtarget $ \text{KL}_\text{target} $ 为指定的 KL 值,根据具体任务来指定。
    • Kβ $ K_\beta $ 为反馈系数,我们使用 Kβ=0.1 $ K_\beta=0.1 $ 。

    通过这种方式的调节,使得 KL(πt,ρ) $ \text{KL}(\pi_t,\rho) $ 尽可能接近于 KLtarget $ \text{KL}_\text{target} $ 。

  4. 监督微调 baselines:我们在 CNN/Daily MailTL;DR 训练集上微调了 1epoch (对于 TL;DR,我们从训练集中删除了 30K 的样本作为验证集)。我们用cosine schedule 将学习率衰减到 0 。对于学习率的初始值,我们在 104 $ 10^{-4} $ 和 3×104 $ 3\times 10^{-4} $ 之间在对数线性空间扫描了 8 个值 。我们还试验了不同的 dropout rate ,发现 dropout rate = 0.1 的效果最好。然后我们选择了具有最佳验证损失的模型。

23.1.3 Online data collection

  1. 如果训练后的策略 π $ \pi $ 与 zero-shot 策略 ρ $ \rho $ 有很大的不同,那么奖励模型将遭受到一个大的分布漂移 distributional shift:在来自 ρ $ \rho $ 的样本上训练、但是在来自 π $ \pi $ 的样本上评估。为了防止这种情况,我们可以在整个强化学习微调过程中收集human data,通过从 π $ \pi $ 中采样来不断收集新的数据,并重新训练奖励模型。如实验部分所示,online data collection 对摘要任务很重要,但对较简单的风格任务不重要。

    Online data collection 影响的是奖励模型(即,状态价值函数)。

  2. online 的情况下,我们将选择一个函数 l(n) $ l(n) $ ,该函数描述在开始第 n $ n $ 个 PPO episode 之前我们想要多少个标签。令 Ne=2×106 $ N_e = 2\times 10^6 $ 是 PPO episodes 的总数,Nh0=l(0) $ N_h^0 = l(0) $ 是 human labels 的初始数量,Nh $ N_h $ 是 human labels 的总数。我们选择:

    (28)l(n)=Nh0+(NhNh0)(1(1nNe)2)
    • 如果我们的标签少于 l(n) $ l(n) $ 个,我们在第 n $ n $ 个 PPO episode 之前暂停。
    • 如果到目前为止的总请求数少于 l(n)+1000 $ l(n)+1000 $ ,我们就向labelers 发送另一个 batch 的请求,以确保他们在任何时候都有至少 1000 个未完成的 query

    我们在第一个 PPO episode 之前训练奖励模型,然后在均匀间隔的 l(n) $ l(n) $ 值下重新训练 19 次。每次重新训练时,我们将奖励模型 r $ r $ 重新初始化为 ρ $ \rho $ 顶部的一个随机线性层,并通过迄今为止收集的标签训练单个 epochoffline 情况是一种极端情况:Nh=Nh0 $ N_h = N_h^0 $ 。

    l(n) $ l(n) $ 是经过 (0,Nh0) $ (0,N_h^0) $ 和 (Ne,Nh) $ (N_e,N_h) $ 这两个点的二次函数,重新训练奖励模型 r $ r $ 的点位于:human labels 总数分别为:Nh0+120×(NhNh0),Nh0+220×(NhNh0), $ N_h^{0} + \frac{1}{20}\times (N_h-N_h^0),N_h^{0} + \frac{2}{20}\times (N_h-N_h^0),\cdots $ 。

    注意:奖励模型 r $ r $ 的样本不仅来自于最新的策略、还来自于历史策略、以及来自于初始的预训练模型 ρ $ \rho $ ,因为每次重新训练奖励模型,我们都用历史所有的 human labels 来训练。

  3. 为了估计总体进度,我们以恒定的速度收集由 xD;y0,y1ρ(x);y2,y3π(x) $ \mathbf x\sim \mathcal D; \mathbf y_0,\mathbf y_1\sim \rho(\cdot\mid \mathbf x); \mathbf y_2,\mathbf y_3\sim \pi(\cdot\mid \mathbf x) $ 组成的验证样本。这些样本上的 human labels 给出了 π $ \pi $ 胜过 ρ $ \rho $ 的频率。由于验证样本只用于评估当前的 π $ \pi $ ,我们可以把它们加入到奖励模型 r $ r $ 的训练集中。

    为了估计 labeler-labeler 之间的一致性,5%query 由不同的labeler 回答 5次。实验部分的 label 计数包括验证样本和重复标签。

23.1.4 人类标注

  1. 我们使用 Scale AI 来收集标签。Scale API 接受形式为 (x,y0,y1,y2,y3) $ (\mathbf x,\mathbf y_0,\mathbf y_1,\mathbf y_2,\mathbf y_3 ) $ 的请求,并返回选择 b{0,1,2,3} $ b\in \{0,1,2,3\} $ 。我们通过指令(如下图所示,来自论文附录 A )、以及本文作者提供的大约 100 个样本的 comparison 数据集的组合向 Scale AI 描述任务。

  2. 与机器学习中的许多任务不同,我们的 query 没有明确的 ground-truth ,特别是对于 similar outputspair (这在我们的训练过程中起了很大的作用,因为我们在从单个策略 πθ $ \pi_\theta $ 中抽样的 label pair 上训练奖励模型 r $ r $ )。这意味着,即使是对任务有类似理解并试图进行一致评级的 labelers 之间也存在着重大分歧。

    • 在情感分类和 TL;DR 摘要的 4-way comparisons 中,本文作者之间有 60% 的时间达成一致(与随机猜测的 25% 相比)。这种低的一致率使 Scale AI 的质量控制过程变得复杂。
    • 在情感分类方面,本文作者与 Scale labelers 的一致率为 38%
    • TL;DR 摘要方面,作者本文与 Scale labelers 的一致率为 46%

    针对 comparision 的标注带有很大的主观性,因为每个人对于什么是好的、什么是生动的、什么是客观的等等这些评价标准的理解都不同。

  3. 人类数据收集和质量评估的细节(来自论文附录 B):我们的质量保证过程是由 Scale AI 处理的。由于我们最初认为 online data collection 将是至关重要的,即使是离线实验也是在这种快速周转的要求下收集的。在未来,我们计划使用一个更宽松的延时要求。

    数据收集的第一步是把任务教给少数受信任的 Scale labelers ,给他们一个任务的描述(如前文所述)。Scale AI 使用这些 labelers 收集大量的 benchmark 数据点(从 ρ $ \rho $ 的一大批 unlabeled 的数据点中),在这些数据点上,几个受信任的labelers 达成了一致。在完整的数据收集过程中,Scale AI 将这些 benchmark 数据点与真实的未标记数据一起提供给 freelance workers 进行训练(当 π=ρ $ \pi=\rho $ 时,这两类数据是无法区分的,尽管它们在训练过程中确实变得可以区分),为每个 labelerbenchmark 分布上的表现维持一个confidence model 。判断数据点是来自 benchmark 还是来自真实的未标记数据,这个概率在各种因素上动态变化,如对 labeler 正确标记某个类别的信心。在 benchmark 任务上表现不佳的 freelance workers 会被过滤掉。此外,Scale AI 随着时间的推移对质量控制进行临时改进,有时通过与本文作者的少量 gold-standard labels 进行比较来验证质量。

    我们在事后评估了其中两个任务的数据质量。在所有的数据收集过程中,有 5%query 是由 5 个不同的 labelers 回答的。我们从这些 query 中采样 100 个(仅限于从 ρ $ \rho $ 产生的 query ),让两名作者给每个 query 进行标注。基于这些数据,我们估计了本文作者和 Scale labelerslabeler-labeler 、以及 author-author 之间的一致率,如下表所示。

    早期的版本要求 labelers 进行 1-10 的评分。在最好的情况下,每个 labeler 提供了更多的信息,但很难衡量 labeler 的表现:

    • 归一化是必要的,因为两个好的 labelers 往往会有一个(噪音的)monotonic transform

      例如,labeler A 的评分比较保守,评分集中在 1~8 分;labeler B 的评分比较激进,评分集中在 5 ~ 10 分。那么同样是 7 分,对于这两个 labeler 是不同的含义 。

    • 如果许多分数集中在几个数值上(例如 78 ),简单的策略 π $ \pi $ 就能骗过过滤过程。

      此时策略 π $ \pi $ 只需要维持不变就可以获得较高的得分,因为强化学习微调没有见过更高的得分、也没有见过更低的得分,它不知道什么是更好的行为、也不知道什么是更差的行为。

    • 绝对分数也倾向于在训练过程中漂移,因为 labelers 会根据变化的策略 π $ \pi $ 中新的样本分布进行调整。

      因为策略 π $ \pi $ 会在迭代过程中越来越好,所以它生成的样本的质量也越来越高。

    寻找高质量的workers 涉及到 human answering 质量控制问题,质量控制在我们的实验中没有使用,并移除了低质量 workers 的数据。因此,实验的总人力成本要比我们实际使用的标签数量(也就是我们报告的内容)高一些。对于一个短期的 training run 来说,这很容易支配实际的标签要求,尽管它可以通过识别持续的good workers 在几个任务中摊销。对于我们较长的training run ,额外的标签数量并不高。

  4. 对于两个模型 AB 的最终评估,我们产生了 pair (aA,bB) $ (a\sim A,b\sim B) $ 之间的 2-way comparisons 、或者 pair (a0,a1A,b0,b1B) $ (a_0,a_1\sim A,b_0,b_1\sim B) $ 之间的 4-way comparisons 。我们随机调整样本的呈现顺序,并将这些comparisons呈现给 Scale AI

    Scale AI 的同一组人类来评估 由 Scale AI 训练的模型的质量是很危险的:它表明奖励 r $ r $ 和策略 π $ \pi $ 已经成功地适应了 human reward,但并不表明这些 human evaluations 捕获到了我们真正关心的东西,并且我们的模型被激励去利用标注过程的特质。我们包括我们的模型的样本,以便读者可以自己判断。

    也就是说:最终评估的人、训练过程中标注的人,他们是同一波人。这类似于在训练集上进行评估。

    理论上,应该使用训练过程中的标注人员之外的人来进行评估,但是这样做的成本比较高。

23.2 实验

  1. 首先,我们通过使用 mock labeler (在评论分类问题上训练的情感模型)作为 human labels 的替身来测试我们对语言模型进行强化学习微调的方法。我们表明强化学习微调可以有效地优化这个复杂的、但一定程度上人造的奖励。

    然后,我们表明我们可以用很少的数据从人类对风格延续任务(情感和物理描述性)的偏好中优化语言模型,在情感的情况下,结果优于优化 review sentiment model

    接着,我们将强化学习微调应用于 CNN/Daily MailTL;DR 数据集的摘要任务,表明所得到的模型本质上是 "smart copiers",并在其他摘要工作的背景下讨论这些结果。

    我们发布了offline data 情况下的奖励建模和微调的代码。我们的公开版本的代码只适用于一个较小的 124M 参数模型,有12层,12 个头, embedding size = 768。我们包括这个较小模型的强化学习微调版本,以及我们为主要实验收集的一些 human labels(注意,这些标签是从使用较大模型的运行中收集的)。

23.2.1 风格延续任务

  1. 我们首先将我们的方法应用于风格化的文本延续任务,在这个任务中,策略需要对来自 Book-Corpus 数据集的节选来生成文本的continuation。奖励函数会自动或根据 human judgments 来评估continuation文本的风格。我们采样长度为 3264token 的节选,该策略生成 24 个额外的token 。如前所述,我们将预训练模型的温度设置为 T=0.7 $ T=0.7 $ 。

a. Mock 情感分析任务

  1. 为了在受控环境下研究我们的方法,我们首先应用它来优化一个已知的奖励模型 rs $ r_s $ ,该任务被设计来反映 human judgments 的一些复杂性。我们通过在 Amazon review 数据集的一个二元平衡子集上训练一个分类器从而构建奖励模型 rs $ r_s $ 。该分类器预测评论是正面的还是负面的,并且我们将 rs(x,y) $ r_s(\mathbf x, \mathbf y) $ 定义为评论是正面的对数几率 log odds (即,final sigmoid layer 的输入)。

    在没有约束的情况下优化 rs $ r_s $ 会导致策略产生 incoherent continuations ,但如前所述,我们包括一个 KL 约束,迫使它靠近基于 BookCorpus 上预训练的语言模型 ρ $ \rho $ 。

    我们的方法的目标是只使用少量的 human queries (即,人类标注数据)来监督微调 rs(x,y) $ r_s(\mathbf x,\mathbf y) $ 。此外,我们询问需要多少次 query 来优化 rs $ r_s $ 。

    注意,mock 情感分析任务的目标是获得良好的情感分类模型(即,奖励模型 rs $ r_s $ ,它在 Amazon review 上已经微调过)。有两种方式可以获得:

    • 利用强化学习直接优化奖励模型 rs $ r_s $ 。

      此时通过策略 π $ \pi $ 来生成text continuation,然后通过奖励模型 rs $ r_s $ 来打分从而选择正面情感的 continuation

    • 利用监督微调来通过人类标注数据来优化 rs $ r_s $ 。

    在使用强化学习直接优化奖励模型 rs $ r_s $ 、或有限数量的 query 来训练一个奖励模型的情况下,下图显示了 rs $ r_s $ 在训练过程中的演变情况。20k60kquery 允许我们优化 rs $ r_s $ ,其效果几乎和使用强化学习直接优化 rs $ r_s $ 一样好。

    监督微调的奖励模型也有 reward,虽然它不是强化学习,但是根据定义,reward 是:文本是正面的对数几率 log odds

  2. 因为我们知道奖励函数,我们也可以分析计算出最优策略,并将其与我们学到的策略进行比较。在对所学到的策略 π $ \pi $ 和语言模型 ρ $ \rho $ 之间的 KL 散度 KL(π,ρ) $ \text{KL}(\pi,\rho) $ 的约束下,最优策略的形式是:

    (29)πopt(yx)ρ(yx)×exp(rs(x,y)β)

    对于给定的 x $ \mathbf x $ 和 β $ \beta $ ,我们通过从 ρ(yx) $ \rho(\mathbf y\mid \mathbf x) $ 中采样大量的 continuations ,并通过 exp(rs(x,y)β) $ \exp\left(\frac{r_s(\mathbf x,\mathbf y)}{\beta}\right) $ 对它们进行重新加权,从而近似计算这个策略的奖励。

    下图比较了我们的策略获得的奖励、以及在一个范围的 KL 值之间估计的最优奖励。在对 2Mcontinuations (我们的主要实验中使用的数字)之上训练策略之后,我们的策略获得的奖励与最佳奖励之间有很大的差距,但随着更多的训练(64M episodes )这种差距基本上被消除。

    我们的策略在较大的KL 散度中继续获得更高的奖励,在这种情况下我们不能通过采样来近似选择 πopt $ \pi_\text{opt} $ 。

    因为此时 π $ \pi $ 和 ρ $ \rho $ 的分布差异较大,从 ρ $ \rho $ 中采样的样本无法代表策略 π $ \pi $ 的分布。

b. 人类对 continuation 的评估

  1. 我们将我们的方法应用于由 human judgments 定义的两个 continuation 任务:

    • 情感:人类被要求奖励 "positive and happy"continuation
    • 描述性:人类被要求奖励 "vividly descriptive"continuation

    human labelers 会收到 BookCorpus 数据集的一份节选、以及四个可能的 continuations 。他们被要求选择最佳 continuations 。论文附录 A 提供了针对 labelers 的完整指令(因为 labelers 也从论文作者标注的大约 50comparisons 中学习,所以任务并不完全由指令来定义)。

  2. 为了标注任务更加自然,我们选择以句号开始和结束的节选。当采样 continuations (这些采样的结果交给人类来判断),我们使用 rejection sampling 来确保有一个句号在 token 长度为 16 ~ 24 之间,然后在这个句号截断。在强化学习微调期间,我们通过采用固定的奖励 -1 ,从而对没有这样一个句号的 continuations 施加惩罚。

    我们通过动态调整 β $ \beta $ 从而为 descriptiveness 任务获得 6 natKL 散度、为sentiment 任务获得 10 natKL 散度。

    我们使用不同数量的 feedback 训练了一系列的模型,同时测试了 offline data collection (其中人类只对初始语言模型的 continuation 进行评分)、以及online data collection(其中人类不断对当前策略的 continuations 进行评分)。然后,我们将这些不同的策略相互比较,并与原始语言模型的 zero-shot 性能进行比较。

    offline data collection 的情况下,奖励模型仅训练一次;online data collection的情况下,奖励模型会周期性地重新训练(在截至到当前时刻的所有 human judgments 数据上)。

  3. 结果显示在下图和下表中。每一对 model 之间的评估都是基于 10244-way continuation comparisons ,每个模型都包含两个样本,然后不同模型之间的 comparision 进行两两比较,每个评分都由 3 个人进行。

    对于两个模型 AB 的评估,我们产生了 pair (a0,a1A,b0,b1B) $ (a_0,a_1\sim A,b_0,b_1\sim B) $ 之间的 4-way comparisons

    对于这些 continuation 任务,我们发现:

    • offline data collectiononline data collection 给出了相似的性能(在情感指标上相等,在描述性指标上在线方式要略好)。

      human feedback 的数据量是关键,而 offline 还是 online 收集方式倒不是特别关键。

    • 强化学习微调所需的 human data 很少:5k, 10k, 20k 奖励模型的训练样本的性能相似,只在少于 5k 的样本中出现性能退化。

    • 使用评论情感分类器训练的模型(如前文所述,即下图中的 mock )相对于使用 human preference 优化的模型表现较差:在 77% 的情况下,labelers 更喜欢使用 real human feedback 训练的模型的输出。

23.2.2 摘要

  1. 我们还将我们的方法应用于两项摘要任务:CNN/Daily Mail 数据集、TL;DR 数据集。

  2. 我们采样文章或 Reddit 帖子,截断为 500token ,添加 "\n\nTL;DR:" 后缀(对于 CNN/Daily Mail 则添加 "Article:\n\n" 前缀),并让策略响应最多 75token

    我们将 CNN/Daily Mail 的预训练模型的温度设置为 T=0.5 $ T = 0.5 $ 、TL;DR 的预训练模型的温度设置为 T=0.7 $ T = 0.7 $ 。

    为了使任务对人类来说更自然,我们通过截断最后一个换行符来确保文章由整句组成。当采样summary 时(这些摘要需要展示给人类),我们使用rejection sampling 来确保有一个换行符在长度为 5575token 之间,并在换行符处截断。在强化学习微调过程中,我们对没有换行符的摘要进行惩罚,给它们一个固定的 -1 的奖励分。

    对于 CNN/Daily Mail ,我们使用固定的 KL 系数 β=0.1 $ \beta=0.1 $ ;对于 TL;DR ,我们我们使用固定的 KL 系数 β=0.03 $ \beta=0.03 $ 。

  3. 我们的方法以及 baseline

    • 强化学习微调:我们用 15k, 30k, 60khuman labels 训练了 online data collection 的模型,并用 60k 标签训练了 offline data collection 的模型。
    • 预训练模型的 zero-shot
    • 监督微调:使用相同的预训练模型作为初始化的监督微调模型。
    • 复制上下文的前三句话的 lead-3 baseline 。我们相同的方式将 lead-3 截断在句号(参考前面关于截断所生成的摘要的描述),所以 lead-3 结果偶尔是两句话。
    • 最后,我们把监督微调和强化学习微调结合起来:从监督微调模型开始进行人类强化学习微调,即 supervised+RL

    纯粹的强化学习微调模型在训练过程中使用数据集的上下文,但忽略了reference 摘要;监督微调和supervised+RL 模型同时使用上下文和 reference 摘要。

    我们报告了两组数字结果:CNN/Daily Mail (测试集) TL;DR (验证集)上,model pair 之间human evaluations 结果(Table 5)、以及 ROUGE 结果(Table 4)。

  4. 根据 Table 4ROUGE 指标的结果表明:

    • 与我们的风格延续任务相比,online data collection 对最佳性能很重要。在固定的标签数量下,online data collection 往往比offline data collection 更好,其中在 60k 个标签时,CNN/DMR-AVG 增益为 3 个点。

    • 在这两个数据集上,我们看到数据量在 60khuman labels 之前的显著回报(尽管 human evaluation 的趋势不太明显)。

      CNN/Daily Mail 数据集上,数据量的效果为 15k > 60k > 30k ,有点奇怪?

    • 在这两个数据集上,supervised+RL 微调是最好的,事实上,根据 ROUGE ,纯强化学习微调在所有情况下都比 supervised baseline 更差(尽管 supervised baseline 使用完整的监督训练数据集,这比 60k 样本大得多)。

    • Lead-3 很难被打败:它是 CNN/Daily MailR-1R-2 指标的最佳模型,只有 supervised + RL 微调在 R-LR-AVG 指标上打败它。

    60k/30k/15k fine-tune60k offline fine-tune 指的是强化学习微调模型。

  5. 但我们的目标是优化人类定义的奖励而不是 ROUGETable 5 显示了根据 human labelersmodel pairspairwise comparisons ,使用1024 个样本,每个样本有 3labelers 进行多数投票。这里的结果与 ROUGE 是不同的,尽管也有明显的噪音:

    • 我们的online data collection 训练,60k 个标签的强化学习微调模型可靠地击败了zero-shotsupervised baseline ,甚至击败了supervised + RL 微调模型。

    • online data collection 训练仍然很重要,但在数据量方面的情况不太清楚,而且可能受到噪音的影响:例如,60kTL;DR 模型只有 40% 的时间能击败 30k 的模型,但是在 79% 的时间上击败了 15k 的模型。

      更令人担忧的是:

      • TL;DR 数据集上,60konline data collection 模型在 96% 的时间内击败了 human ground truth(即 reference )。
      • CNN/Daily Mail 数据集上,60konline data collection 模型在 84% 的时间内击败了 human ground truth

    这到底是怎么回事?正如我们在下一节中所展示的,我们的60k 的强化学习微调模型几乎完全是extractive 的(尽管我们的模型缺乏任何显式的 extractive 的架构组件 ):它主要是从上下文中拷贝整个句子,但是对于哪个句子被拷贝,则有所变化。

23.2.3 我们的模型拷贝什么

  1. 以前在摘要方面的许多工作都集中在显式的拷贝机制上,包括 《Get to the point: Summarization with pointer-generator networks》pointer network-based 的架构、以及 《Bottom-up abstractive summarization》 的两阶段 maskparaphrase 方法。我们的目标是利用拷贝的优势(这对摘要任务具有根本的重要性),而不仅仅是拷贝:任务是 abstractive 的而不是 extractive 的。Figure 5Figure 6显示了我们的模型所分别产生的新颖的和重复的 n-grams/sentences 的比例。

    • 从新颖性方面,我们看到我们的强化学习微调一直导致模型更多的拷贝(即,从 input 文本中拷贝内容作为摘要)。

      具体而言,我们的 60k 的强化学习微调模型几乎完全是 extractive 的:在 TL;DR 中,它们有 71% 的时间拷贝整个句子;在CNN/Daily Mail 中,它们有 98% 的时间拷贝整个句子。

      从监督的微调模型开始应用强化学习微调(即,supervised + 60k fine-tuned ),其拷贝率要低得多:TL;DRCNN/Daily Mail 分别为 6%30%

    • 在重复性方面(即,摘要中的句子出现多次),虽然我们没有像 《Get to the point: Summarization with pointer-generator networks》《Bottom-up abstractive summarization》 那样使用明确的覆盖率 coverage 指标,但监督微调模型和强化学习微调模型在摘要中的重复率都很低。

  2. 虽然纯粹的强化学习微调模型大多是拷贝文本,但它们拷贝的地方不同。下图通过上下文和摘要之间最长公共子序列的位置说明了这一点。

    为了了解模型何时从 exact beginning 拷贝,我们确定了文章中常见的前导句 preamble (如,以 'hi', 'hello','hey', 'ok', 'okay', 'so' 这样开头的句子),这样我们就可以预期拷贝是一个糟糕的策略。下表显示,这些前导句被拷贝的频率远远低于其他文章的立即开始 immediate beginning ,这证明我们的模型在何时拷贝方面很聪明。然而,我们不能确定我们的奖励模型除了奖励拷贝之外还很聪明,因为 zero-shot 模型也跳过了前导句。

    几乎所有的 baseline 都跳过了前导句。

  3. 既然结合监督微调和强化学习微调(即,supervised + 60k fine-tuned)可以得到最好的 ROUGE 分数,而且也更 abstractive ,为什么不使用它呢?不幸的是,下表中显示纯拷贝有一个好处:它使模型很容易 tell the truth

    注意,摘要的准确性是由人工判断的。

    • 拷贝最多的模型,60k 的监督学习微调模型,在 TL;DRCNN/Daily Mail 上的准确率是 90%95% 。从文章中抽取整个句子通常会让它们是 true 的。

    • 监督微调模型和 supervised+RL fine-tuned 的组合模型最多只有 70% 的准确率:它们转述但转述得很糟糕,经常从上下文中交换名称、或以无效的方式将多个句子混合在一起。

      即,这些模型编造事实的可能性更大。

    • zero-shot 是最新颖的,但只有 20% 的时间是准确的。同样,《Neural text summarization: A critical evaluation》 发现,他们测试的监督的摘要模型中有 30% 的样本包含不一致 inconsistency 。而 《Sample efficient text summarization using a single pre-trained transformer》发现,他们预训练的 encoder-decoder 模型 "hallucinates facts...which are topical but never appear in the source"

    根据这里的结论:拷贝的方式来生成摘要,在准确性方面要更可靠一些。

  4. 对这些结果至少有两种解释方式:

    • 第一种解释是,拷贝是最容易做到准确的方法。labelers 被告知要惩罚不准确和冗余,但没有被告知要惩罚拷贝。 zero-shot 模型在某些时候会拷贝,而当它拷贝的时候是准确的,所以这种行为被强化了(因为被 labelers 所标注的第一批样本就是来自于 zero-shot 模型)。结果是一个 "degenerated to copying" 的模型,但至少不会撒谎。

    • 然而,这并不能解释为什么相比于 reference 摘要,我们的模型和lead-3都被 labelers 所强烈偏好(Table 5)。这揭示了我们希望我们的模型学习的质量概念、和 humans labelers 实际评估的质量概念之间的不匹配。

      由于 online data collectionsetting 使得质量控制更加困难,我们未能发现和惩罚拷贝这种行为。

23.3 挑战

  1. 最后,我们总结了一些经验和方向,计划在未来的reward learning 工作中考虑。

  2. online data collection 是困难的:为了在摘要任务上取得最佳效果,online data collection 是必要的。然而,完全的online data collection (其中每个标签都来自最新版本的策略,而该策略已经从 previous 的几乎所有标签中学习而来)有很大的缺点:

    • 软件的复杂性:我们的online system 将数据收集、奖励模型训练、和强化学习微调交错进行。由此产生的分布式系统比每项任务单独进行要复杂得多,减缓了软件开发的进程。此外,任何一个任务中的 bug 都会破坏整个训练过程。
    • 机器学习的复杂性:在线实验很难调试,因为它很难一次在机器学习系统的一个部分上迭代。 我们往往只能通过短暂地切换到离线来调试一个在线工作,例如启动一个独立的奖励模型的 training run ,但一旦调试完成,就会切换回在线(直到下一个周期)。
    • 质量控制问题:在labelers 部分需要做大量的工作,使他们的数据质量机制在低延迟的在线环境中发挥作用。然而,即使在这项工作完成后,也很难在很长一段时间内保持高的数据质量,而且往往在训练完成后(或很久以后)才发现退化。由于对 labeler 性能的评估是在线的,当一个工人被检测出有问题时,他们的一些数据可能已经被上报回来并用于奖励模型的训练。

    我们相信,在offline data collectiononline data collection 之间的正确中间地带是 batched data collection ,并计划在未来的工作中使用这种设置:

    • 从预训练的策略 ρ $ \rho $ 中收集一个 batch 的数据,在这批数据上训练奖励模型 r $ r $ ,然后在 r $ r $ 冻结的情况下微调策略 π $ \pi $ 。
    • 一旦这些都完成了,收集另一个 batch 的从 π $ \pi $ 采样的数据,并进行迭代。

    每个 batch 数据的延迟可能远远长于 online data collection ,但是简化了质量控制。如同在完全 online data collection 的情况下,我们总是可以在迄今为止收集的所有数据上从头开始重新训练奖励模型。human data 很昂贵,所以总量会很低。移除 r $ r $ 和 π $ \pi $ 的交错训练,简化了软件架构和机器学习问题的诊断,如果出现问题,可以只对一个组件(比如说独立的 r $ r $ )进行迭代。《Dialogue learning with human-in-the-loop》 在仿真中验证了 oneline data collectionbatched data collection 训练的性能相似后,在一个受限的对话的 setting 中得出了类似的结论。

    batch data collection 的情况下,也是数据收集、奖励模型训练、和强化学习微调交错进行,和 online data collection 有什么区别?

    感觉唯一的区别是这里是 batch 粒度的数据收集,因此如果人工标注的数据有问题,可能就影响这单个 batch 而已,而且更快地被发现。

    在下一篇论文 《Fine-Tuning Language Models from Human Preferences 》 中,OpenAI 转向了 batch data collection

    batched data collection 也是 active learning 技术的一个被充分研究的 setting 。虽然我们使用强化学习来微调策略 π $ \pi $ ,但 human data 只用于奖励模型 r $ r $ 的监督训练。因此,任何用于 batch mode active learning 的监督模型的方法都适用,使用 π $ \pi $ 作为 r $ r $ 的 unlabeled data distribution 。这类技术的例子包括:

    • selecting batches based on entropy considerations《Discriminative batch mode active learning》)。
    • 基于梯度的指标(《Active learning for speech recognition: the power of gradients》《Deep batch active learning by diverse, uncertain gradient lower bounds》)。
    • 通过尝试区分标记的和未标记的样本(《Discriminative active learning》)。
  3. 奖励模型和策略之间共享参数导致过拟合:虽然奖励模型和策略都被初始化为 ρ $ \rho $ ,但我们将它们作为独立的网络进行训练,而不是一个具有多个头的单个共享网络。我们可能期望联合训练是有帮助的,有效地将强化学习作为一个辅助任务来提高奖励模型的性能。联合训练特别有吸引力,因为它可以帮助奖励模型保持足够强大。共享也可以提高计算效率,因为它允许模型共享激活,而不是要求两个单独的前向传播。

    尽管做了几次尝试,我们还是没能使这个想法成功。问题来自于数据的巨大不平衡:我们的奖励模型最多只有 60k 个样本,但策略却有 2Mepisodes 。这使得在不对奖励模型进行许多 epochs 和过拟合的情况下保持这两项任务的性能成为挑战。我们希望未来的工作能够克服这一挑战。

  4. 含糊不清的任务使标注工作变得困难:我们的一个代码重构引入了一个 bug ,该 bug 翻转了奖励的符号。翻转奖励通常会产生不连贯的文本,但同一个 bug 也翻转了 KL惩罚项的符号。结果是一个对负面情绪进行优化的模型,同时仍然对自然语言进行规范化。

    由于我们的指令告诉 labeler 要给显式带有性 sex 的文字的continuations 以很低的评价,模型很快就学会了只输出这种形式的内容。这个 bug 很了不起,因为其结果不是胡言乱语,而是最大限度的毒性输出。本文作者在训练过程中睡着了,所以这个问题在训练结束后才被发现。像丰田的 Andon cord 这样的机制可以防止这种情况的发生,因为它允许任何 labeler 停止有问题的训练过程。

    丰田的安灯拉绳 Andon cord 机制:在发现质量和其他问题时,一线员工被授权通过执行 AndonCord (即,拉动手边的叫做安灯拉绳的绳子)来停止生产从而及时止损。

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

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

发布评论

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