论“学会总结”

2020-09-13 03:52:31

这篇文章是我对OpenAI的新论文“学会从人类反馈中总结”的评论的延伸版本。

背景:这篇论文是OpenAI去年发表的关于使用人类偏好数据微调GPT-2的工作的直接延伸。我当时实际上并没有仔细阅读过这篇文章,但现在回头看了一下,所以这真的是对两者的评论。

在OpenAI的偏好学习工作中,有两个几乎互不相关的想法。

首先,收集LM样本上的二元偏好注释,并(以某种方式)调优LM,使其样本与偏好更好地对齐。

第二,用于调整LMS的采样行为以最大化在整个样本上定义的(任意)得分函数的特定方法。

他们向GPT-2/3这样的语言模型(LM)提供一系列提示,并为每个提示保存几个不同的样本。然后,他们聘请注释员按照感知的质量对样本进行排序。

他们使用注释数据集来微调原始模型的副本,微调任务不是文本生成,而是非常不同的事情:预测一个样本有多“好”,即注释者比其他候选者更喜欢它的可能性有多大,他们称之为“奖励模型”。

奖励模型将单个分数分配给由N个代币组成的整个样本。他们希望微调模型的另一个副本,以便其样本最大化这些分数。

但LM训练的目标通常是为每个单词指定模型预测的质量。虽然知道(比方说)20个单词的完整序列有多好,但并不能告诉你每个单词有多好。

为了弥合这一差距,他们使用强化学习。现在,任务不是“正确选择下一个词”,而是“选择下一个词,以便在选择所有后面的词之后,在最后获得最大的预期分数。”

他们的RL方法需要两个独立的LM副本,除了他们调优为奖励模型的一个之外:一个是“策略模型”,一个是“价值模型”。(在本文中,他们表明在这两个模型之间共享参数比将它们分开更糟糕。)为了简单起见,我只将这两个称为下面的“最终模型”。

从技术上讲,最终模型的样本仍然是一次生成一个令牌。它们将此视为通常的RL设置,在该设置中,您一次只能选择一个单独的操作,因为环境对每个操作做出不可预测的响应。在这里,您的操作之外没有任何“环境”,但是使用了相同的框架。

据推测,最终的模型比原始模型更善于规划多令牌结构,因为它是在整体的、多令牌目标上进行训练的。因此,它做了更多的规划,但这隐含在它的逐个令牌决策中。

一方面是人工注释和奖励模型的监督训练。这部分是成功的,因为他们可以训练模型预测注释(显然他们可以很好地做到这一点)。这一步涉及一种具有特殊挑战的数据,但与RL无关。

另一方面是RL部分。这是对普通LM培训的修改,以优化一个全局目标,而不是局部目标。这部分与“人类偏好”无关:全局目标可以是任何东西,事实上在这里它不是原始的人类观点,而是另一个被训练来预测人类观点的模型的观点。这里值得注意的事情不是特别使用人类偏好数据,而是使用RL而不是更普通的目标,显然这是一个足够好的选择,足以让GPT-2/3最初发挥作用。

(顺便说一句,这解决了我最初的困惑,即OpenAI如何可能让RL处理人类数据,我认为这是一个瓶颈。在人类和RL学习者之间有一个模型,它的查询速度比人类快得多。)

双方通过奖励模型联系在一起,在之前的论文中,双方更多的是耦合在一起,因为随着政策的变化,他们反复收集新的人类数据,然后用新的奖励模型进一步训练政策,但在这里,它们是完全分开的:有多批次的注释,但每一项政策都经历了一个不变的奖励模型。在这里,他们是完全分开的:有多批注释,但每一项政策都经历了一个不变的奖励模型。

(参见附录C.6和他们关于“转移到线下设置”的评论。)似乎值得注意的是,2017年OpenAI/DeepMind的论文引入了“来自偏好的RL”方法,并引用了这篇论文,发现这对他们的测试案例并不起作用:“在线下培训奖励预测器可能会导致奇怪的行为[…]。这种类型的行为表明,一般来说,人类的反馈需要与RL交织在一起,而不是静态地提供。“(我不知道这是什么意思。)。

从OpenAI的讨论中很难看出他们的成功在多大程度上是由于学习了一个好的奖励模型,还是在多大程度上依赖RL是LM样本中某些类型的质量所必需的,尽管非RL方法取得了广泛的成功。

Gwern报告说,尝试了OpenAI的方法,发现RL方面特别令人沮丧和不稳定;这在RL是相当正常的,与奖励模型部分在自己的领域非常成功是兼容的。“目前还不清楚OpenAI让RL部分工作得很好是因为他们做了正确的事情,还是因为他们有大量的资源,可以反复尝试,直到它奏效。”(可能报纸上有一些关于这一点的内容,我错过了。)。

RL部分几乎与OpenAI对LMS的通常方法感到紧张,即根据下一个令牌目标进行训练,以下一个令牌方式采样,并专注于放大模型,而不是改进训练目标或采样算法。

当然,如果他们需要在整个序列中获得最大分数,我理解为什么他们必须做RL,但我的观点是,他们一开始就选择了这样来框定任务。

人们可以想象,有人会争辩说,普通的GPT采样永远不会实现高质量的文本,因为人类关心整个文本的全局结构,而一个只被训练成猜测下一个令牌的模型将不知道如何在它所写的整个文本的整个未来规划这些全局结构。在这种情况下,OpenAI声称他们可以在没有显式培训来规划的情况下进行规划(即,RL):仅仅训练关于文本的下一个令牌目标就足以在采样中产生惊人的高质量-换句话说,“GPT-2/3样本满足人类喜好”。“那么,为什么在这些其他情况下,人类喜好需要RL呢?”

当将这些模型应用于特定任务时,通常会使用监督学习对它们进行微调,通常是为了最大化一组人类演示的对数概率。

虽然这一战略显著提高了绩效,但这一微调目标--最大限度地提高人类书写文本的可能性--与我们所关心的--产生由人类决定的高质量产出--之间仍然存在不一致。这种不一致有几个原因:最大似然目标没有区分重要错误(例如,编造事实[38])和不重要错误(例如,从一组同义词中选择准确的词);模型受到激励,将概率集中在所有人类演示上,包括那些低质量的演示;以及采样期间的分布变化可能会降低性能[52,49]。质量通常可以通过非均匀采样策略(如波束搜索[48])得到显著改善,但这可能会导致重复和其他不希望出现的伪像[63,22]。优化质量可能是克服这些问题的重要途径。

这绝对是普通LM培训和采样的错误(或可能错误)的清单,但我看不出它如何激励他们的具体方法。

在我看来,如果你相信人类不能在令牌级别做出相关的质量判断,那么他们的方法是最有意义的。毕竟,如果他们可以,那么你可以直接跳过RL,让人类明确告诉你“不,那个令牌不好,是的,这个令牌很棒”,并根据可能性进行训练。

这将极大地简化这个过程,而不是这种复杂的管道,首先人们告诉你哪些序列是好的,然后你训练一个模型来理解人类在序列水平上的想法,然后你训练另一个模型试图弄清楚另一个模型除了这次在令牌水平上已经知道了什么。

事实上,我并不特别明白为什么我们不能引出令牌级的偏好?对于“不重要的与重要的象征”的问题来说,这似乎特别不可行:如果错误严重集中在特定的错误-象征,比如“法国首都波特兰”,人类就不能直接…吗?选择那些令牌,NER风格的?,而不是呈现一个不透明的“我不喜欢整个事情”的判断,并期望糟糕的模型会发现这不是什么复杂的政策规划事情,这些令牌只是局部糟糕的?或者,您可以有一个界面,在用户面前实际展开令牌,当采样出错时,它们会指导采样。或者其他什么。

至于其他例子--“所有的人类演示,包括那些低质量的演示”对于他们的方法来说同样是一个问题,他们讨论了他们为处理这一问题所做的所有事情。而且,从任何调整到模型样本的方法来看,“分布转移”问题似乎都同样容易处理。

我不否认他们所做的事情显然是有效的,至少在这种情况下,利用他们的资源是这样的。我只是在做我通常做的事情,我会问“等等,哪些部件真的是必要的?”这一点尤其重要,因为当有人使用RL并接受其高昂的成本时,这一点尤其重要。

考虑一下:如果RL通常不是良好LM采样所必需的,GPT-2/3就永远不会起作用:可能性训练足够好的事实(同时效率要高得多)首先会使他们的规模变得更大。和往常一样,你永远不会想要做RL。

据我所知,他们最后的“人类评估”是由提供偏好注释的同一个标签师完成的。这让我担心“根据训练数据进行评估”的一种变体。根据某人的注释调整的模型比不符合这个人的模型更符合这个人,这并不令人惊讶。

例如,在图3中,看起来“受监督的”基线是在t1上调谐的;dr被评为与t1;dr本身(!)中的真实示例一样高的评级,但没有最终模型那么好。

这只建立了这样一句话:“如果你在reddit摘要上进行培训,人们对结果的喜欢程度与reddit摘要一样;如果你在他们喜欢的方面进行培训,他们会更喜欢结果。”如果这是假的,那就意味着出了非常、非常糟糕的问题,实际上什么都没有取得,那么我应该从它是真的中得到什么呢?

我想作者是在争论tl;dr和其他任何受监督的数据集都会有缺陷,而偏好数据会让你更接近人们真正想要的东西。

这似乎是正确的,但这是从监督学习中熟悉的观察结果,例如,激励主动学习。看看与使用他们的RL方法相比,通过使用注释(以某种方式)来增加tl;dr,但在其他方面进行有监督的学习,可以在多大程度上减轻这种差异,这将是一件很好的事情。

与tl;dr相比,cnn/dm的情况要复杂得多,但同样,他们表现更好的模型没有从他们的标签者那里看到任何数据,所以根据这些标签者的说法,也许他们有缺陷也就不足为奇了。

任何有ML注释经验的人都会熟悉注释质量、与注释器的密切关系、清晰的指导方针等的重要性。OpenAI在这里做了正确的事情,这很好,但这并不是一个新的结果-相反,由于时间/金钱的限制,其他研究人员求助于MTurk和类似的工具,而OpenAI可以自由地做其他所有人都想做的正确的事情。

(这包括为签约的注释员构建自己的内部注解平台,虽然成本很高,但从长远来看要比依赖老掉牙的第三方产品要好。)

我不知道这是否真的重要,但我的直觉说,在GPT的最后一层上放一个线性头部可能不是训练奖励/价值模型的最好/最有效的方式。这项任务与下一代币预测有很大不同,预计会看到下一代币猜测的后面几层的编码可能会被破坏性地覆盖,以便为下面更有价值的东西让路。我猜我会想尝试一种可训练的标量混合,就像La Elmo?

顺便说一句,在@nostalgebraist-autoresponder的选择器模型中,它预测了一种新的“人类偏好数据”,我目前使用了两个额外的变压器块,它们从头开始训练,负责发电机的两个不同层(其权重是冻结的)。

对于图层,经过多次超参数搜索,我选择了42个图层中的8号和24号-我发现,尤其是那些关注中间附近图层的型号,明显优于那些没有的。而后面几层的相对无用一开始让我感到惊讶,当我开始Logit镜头调查时,这也是我脑海中的问题之一。

最后,说得轻松一点,论文的最后一张表很好笑。它显示了一些样本,这些样本对奖励模型想要的东西进行了过于努力的优化,而没有在损失中添加辅助项。

显然,同样的奖励模式很好地反映了人类的偏好,但当总结以这一特定、粗鲁的措辞结束时,决定了人类完全喜欢它:

想要改变这个愚蠢的家伙吗?请多多指教[一张奖赏模特儿在训练过程中对兄弟姐妹感到沮丧的画面-nost]。

(再说一次,如果我们可以避免对这个东西的需要,而只需要直接训练…的首选项,那不是很好吗。)