论文阅读:InstructGPT原理

1,436 阅读4分钟
  • 📚To Read Lists: InstructGPT Done!

最近计划跟着李沐大佬读论文,2023加把劲!♥

论文:arxiv.org/pdf/2203.02…

InstructGPT

InstructGPT是2022年底风靡一时的ChatGPT的“兄弟版”,作为自然语言处理模型,他们的原理可谓是大同小异。InstructGPT通过使用已有的模型技巧优化GPT-3,从而改善之前NLP模型的“缺点”。

现在的人工智能🤖模型有什么缺点?

近几年,人工智能模型越来越多地在各种大厂落地,但一些不恰当的输出却常常引发争议。

FOR EXAMPLE image.png

Google研发的模型将黑人预测为Gorillas(猩猩),引发争议,后续Google将该个类别从数据集中删除

同样的,现在自然语言处理大模型能在数据集上表现优异,但在现实应用中往往会输出一些有毒的(比如种族、性别歧视)、不真实、没有实质帮助的回答。 image.png 微软的聊天机器人发表跟药物有关的言论

为什么花了那么大精力去训练、优化的模型,输出的结果却常常“冒犯”人呢?作者在文中解释到,这是因为:

Thus, we say that the language modeling objective is misaligned.

Misalign, NLP模型没有跟人类的意图“对齐”,所以说出了人类不愿意听到的话。 让NLP模型避免说出这些“冒犯”的话对AI模型在工业应用中落地十分重要。

HOW TO ALIGN——标点数据让模型去学习吧!

论文说到,我们要继续训练GPT-3模型,通过加入更全面的数据,从而引导模型贴近人类的意图。

为了使数据能刚高效地被利用,作者还加入了指示(Instruct)学习。如果说提示学习是让模型做“完形填空”,指示学习就是让模型去做“选择题”,通过列出A、B、C等若干个选项,让模型去学习哪个选项更正确。 image.png

图片来自知乎@大师兄

InstructGPT的原理:

第一步 Supervised fine-tuning (SFT)

对GPT-3进行有监督微调。训练配置为16个epochs,使用余弦学习率衰减和0.2的dropout,根据验证集上的RM分数选择模型。作者发现过拟合会有助于RM的分数和使模型更贴近人类的偏好。

第二步 Reward modeling (RM).

训练Reward模型去选择人类更倾向的选项(指示学习)

作者将SFT模型的embedding层去除,将最后的输出映射为一个值,重复训练了一个模型去输出一个标量值——Reward。论文中作者为了节省计算量,只用了6B RM大小的模型。

Reward模型的目标函数为:

image.png

其中rθ(x,y)是带参数θ的Prompt x和Completion y的标量奖励输出;K指的是对每个Prompt生成K个Responses;yly_l是人类不想要的输出,ywy_w是人类更倾向的输出, 目标函数是为了最大化人类喜欢的response和人类不喜欢的response之间的差距:

image.png

第三步 PPO强化学习模型

使用PPO去优化第二步得到的Reward模型

作者还将预训练梯度混合到PPO梯度中,以保证模型在NLP数据集上的性能。

目标函数为

image.png

原理流程图

image.png

在数据收集上下了大功夫

为了能更有效地引导语言模型,论文作者在文中教科书式的阐述了数据收集的过程,雇佣40个合同工,对他们进行标注培训,制作全面、覆盖人类意图的高质量数据集。

InstructGPT的数据集分为三部分**

第一步用于finetune的数据集——13k张

数据集分为三个维度:

  • 普通数据集:Labelers随机地想一些多种多样的任务
  • Few-shot:Labelers提供一个指示和对应的选项对
  • 基于用户的数据集:根据OpenAI API里用户的一些问题,labelers给出对应的Prompts

image.png

一些Use-case的示例

第二步RM模型数据集——33k张

先让模型去生成文本,再让Labelers对这些文本进行打分。

第三步PPO模型数据集——31k张

无标注的来自OpenAI用户的数据。

模型更小,效果更好

论文使用了较小参数的模型,但确比以往的大参数模型效果更好;此外,InstructGPT模型生成的回答伤害更小,更真实。

结果

不同模型之间回答真实性和有效性的对比

image.png

不同模型之间回答有害性的对比

image.png

参考资料

zhuanlan.zhihu.com/p/590311003

www.bilibili.com/video/BV1hd…