[阅读笔记3][instructGPT]Training language models to follow instructions with human feedback

接下来这篇是openai的instructGPT,发表于2022年9月。

这篇论文提出对齐的概念,作者认为现在的语言模型和人类是不对齐的。因为现在语言模型目标和人类的目标不同,语言模型目标侧重于预测下一个token,人类的目标是希望模型更有帮助、更诚实、更安全。单纯预测下一个token是很危险的,因为预训练数据集中肯定存在不良信息,如果有精心设计的prompt诱导一下就很容易产生不安全内容。
这篇论文就是引入了人类的反馈来设计一个与人类对齐的模型。一个对齐了的模型体现在这三点上:帮助性、可靠性、安全性。
以人类的主观评价作为指标,这篇论文提出的instructGPT要优于GPT3,而且13亿的instructGPT就优于1750亿的GPT3了。

方法分三步,首先从prompt库中采样若干prompt,由标注人员给出回答,做成SFT数据集。根据这些数据去微调GPT3就得到了SFT模型,这个模型相当于一个最终模型的早期版本。
之后openai又采样了若干prompt,每个prompt让SFT给出4个回答,标注人员对这四个回答进行排序,做成RM数据集,RM数据集中标签是4个回答的排序关系。用RM数据集训练一个奖励模型RM,RM可以对回答进行打分,并且得分是满足排序关系的。
最后使用PPO数据集,PPO是没有经过标注的,里面全是问题没有答案。将问题输入SFT给出回答,回答由RM打分,根据打分继续微调SFT,最后微调过的SFT就是PPO模型。

下图是prompt来源,一部分prompt是他们自己写的,一部分是来自于用户提交的。SFT的标注就是问题的回答,由标注人员进行标注。RM的标注是回答的排序,也是标注人员进行标注。PPO没有进行标注。

接下来是涉及到的三个模型,SFT比较简单,就是用SFT数据集微调GPT3。RM模型结构是SFT去掉最后的unembedding层,应该是再接一个线性层使得输出为标量,模型输入是问题和回答组成的pair。
为了让输出得分满足给定的排序关系,从排序中任取两项yw和yl,这里假设回答yw优于回答yl,损失函数就是yw得分和yl得分差值再取负号。通过这个损失就能得到一个尽可能与人类对齐的打分模型。

最后是PPO模型,它是通过强化学习中PPO算法对SFT进行微调得到的。它的目标有三项,这个目标越大越好。
首先就是RM模型得分,我们希望SFT输出的答案得分尽可能高,这个得分就包含人类的反馈在里面,得分越高回答被人类认可的可能性就越大。
第二项是一个惩罚项,打分模型是用SFT的回答训练得到的,但现在要打分的是强化学习模型的回答,虽然一开始强化学习模型用SFT来初始化,但之后随着微调,强化学习生成的回答会偏离SFT,这可能导致打分模型的打分没那么准确。所以加上了这项KL散度来限制强化学习模型不会偏离SFT太远。
第三项是GPT3预训练的目标,这是因为模型在与人类对齐过程中会产生对齐税,也就是使模型在传统NLP任务上性能下降了,所以把GPT3预训练的目标拿过来能够在一定程度上缓解在传统任务上退化的情况。

接下来就是实验结果了,参与调查的人员普遍认为instructGPT优于其他模型。

作者还做了一些其他实验,表明instructGPT更能遵循人类指令,出现幻觉概率也更低。

这幅图展示了什么是对齐。对于人类更想得到的是右边的回答,它回答了我们的问题。左边的GPT3只是补全了这段文本,也许只是因为类似的选择题在它预训练语料中出现频率比较高,所以就选择了简单的补全。而对齐后的模型更清楚人类想得到的回答是什么。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值