论文链接:Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback: 2022-Anthropic
1. 摘要
作者使用喜好建模和基于人工反馈的强化学习去微调语言模型,使其像助力一样有帮助的和无害的。作者发现这种对齐式的训练几乎能够提高所有NLP任务上的表现,并且完全能够兼容一些特殊任务,如使用python编码,文本摘要等。我们使用了一种迭代式的在线模型训练方式,每周都会用新的人工反馈数据来更新奖励模型和强化学习策略(个人理解:人工标注–>训练一个模型–>产生新数据–>基于产生的数据人工标注–>新数据再训练模型…如此迭代下去),这非常有效的改善了我们的数据集和模型。最后,我们研究了RLHF训练的鲁棒性,发现经过RLHF训练的模型与原始模型的KL散度的平方根和强化学习的奖励大致成线性关系。除了这些主要结果外,我们还在标准集上,比赛目标上以及其他领域数据集上(out of distribution)、与人工结果对比上、以及最近相关工作里提及的prompts方法做了一些分析。
2. Introduction
本文主要介绍了通过收集人工反馈数据使用喜好建模和RLHF方法来训练一个相对有帮助的、无害的自然语言助理。
作者将帮助性和无害性作为两个任务分开看待,并且分别收集了两个任务的人工标注数据。对于帮助性,我们让标注工使用我们的模型去做一些纯文本的事情,如问答、写作、编辑文档、讨论计划和决定等。对于无害性,我们让标注工去误导我们的模型从而激起模型产生有害的回应:比如让模型去做一些有害的任务,如做一个抢银行的计划,或者引诱模型去使用一些高风险的语言。在与AI助理的每一轮对话中,提供给标注工两种可能的回复,在有助性任务中,要求去选择更有帮助和真实(更好)的回复;在诱导任务中要求去选择更有害(更坏)的回复,这些对话和展现的偏好构成了我们的数据集。
同时作者通过实验证明了如下两个问题:
(1)帮助性和有害性是对立的,即如果过度关注帮助性,那么模型的无害性就会很弱,可能会生成一些危险的信息。而如果过度的关注无害性,模型可能会生成例如“I dont know”这种无害但也没啥帮助的回复。幸运的是,将两种数据混合训练,模型总会学到有用的信息,在适当的时候表现的很有用,且会有礼貌的拒绝危险请求。下图展示了两者之间的关系
横轴是模型的参数量,纵轴是得分(越高越好),蓝色线条是以前的模型(基于上下文蒸馏得到),橙色线条是静态RLHF(即模型输出–>人工标注–>RLHF训练这个流程只会走一个循环,在线的的形式会走多个循环),红色带宽是专业作者写的结果得分,可见静态RLHF在模型参数量巨大的时候能达到专家的水平,在线的RLHF会比静态的更好,绿色线条代表只关注有用性训练,右边是无害性得分,可见这种方式在有用性的表现极好,但是无害性得分却很差,在线的混合训练(黑色线条)在有用性和无害性达到一个平衡,表现都比较好
(2)这种对齐式训练是否会损害模型之前(预训练)学到能力?
横轴式参数量,纵轴式是得分,左图是zero-shot,右图为few shot,即会给几个case作为prompt,从图中可以看出当参数量较少时RLHF训练会降低模型的其他NLP能力,但是当参数量很大时,基本没有影响,甚至会比之前更好。
2.1 相关工作
作者主要把本文的模型和LaMDA以及InstructGPT做了对比,这两篇文章都使用了人工数据去训练语言模型。
(1)LaMDA