提纲
1 简介
2 InstructGPT
3 总结
参考文献
1 简介
InstructGPT是openai提出的对话机器人,在思路上跟google的LaMDA以及deepmind的Sparrow有一定的相似,但也存在明显的不同。由于chatGPT的忽然爆火,它的前身InstructGPT也顺势被推上了风口浪尖。在这里我们会简要介绍下InstructGPT的做法以及跟LaMDA与Sparrow的对比,加深大家对几种对话方法的理解。
图1:不同模型的人工评估效果对比
从人工评测效果上看,相比175B的GPT3,人们更喜欢6B的InstructGPT生成的回复。
2 InstructGPT
图2: instructGPT流程
InstructGPT是在GPT3的基础上做进一步finetune得到的,大体的一个流程如图所示,
a) 通过人工收集的示例样本,通过监督学习的方式先finetune一版生成模型。
b) 利用上一步生成模型生成的候选结果,利用人工对结果进行比较并打上标注,训练一个对应的reward模型,能给生成回复打分,分数越高代表回复越受人类青睐。。
c) 利用上一步训练好的reward模型,用强化学习的方法通过最大话reward的方式来对生成模型做进一步的训练优化。
**其中第二步跟第三步是可以不断迭代进行的,通过第三步训练好的生成模型可以收集更多训练样本,从而供第二步训练一个新的reward模型,然后将新的reward模型用于第三步的强化学习训练,反复进行这个操作。**
在具体点,第一步的finetune过程中,作者发现当训练超过1个epoch后模型在验证集上就已经过拟合了,但是继续训练对于后续步骤的reward模型是有帮助的,于是在这里总共训练了16个epoch。第二步中的reward模型是继承的上一步finetune得到的模型,在移除掉最后一层网络得到的参数量只有6B的模型(不使用175 B的GPT3可能不稳定,从而不适合作为强化学习的价值函数),模型接收“prompt+回复”作为输入,输出一个对应的标量reward。训练时用的是交叉熵损失,给定同一个prompt下K个不同候选回复,让标注人员对这K个结果进行排序,然后两两组合作为一个训练样本对,也就是常用的pair wise learning rank。为了加速数据搜集,标注团队需要为K=4-9个候选回复排序,从而可以构造出K*(K-1)/2的样本对。
既然讲到了InstructGPT,不可避免的会提及最近大火的chatGPT,chatGPT是在GPT3.5(2022年早期完成的模型)的基础上训练的,整个训练方法跟InstructGPT如出一辙,效果还是很惊艳的,网上关于chatGPT的文章非常多,也有不少极力吹捧或者无脑黑它的文章,大家还是要稍微甄别下,还是需要辩证的看待。一方面chatGPT确实在效果上有明显提升,在对话领域是一个明显突破,另一方面模型幻视跟安全性的问题依旧存在。有时间的话还是推荐认真读下官方的博客,读完后可能有更深刻的体会。具体博客地址见https://openai.com/blog/chatgpt/
3 总结
a) 跟google的LaMDA以及deepmind的Sparrow相同,三个对话机器人都需要高质量的finetune数据集,都有自己的一套收集数据的方法论。
模型 | |
数据 | |
LaMDA | |
预训练: |
2.97B个文档,1.12B个对话,13.39轮对话,总共1.56T单词,超过90%是英文数据
Finetune:
Quality: 6.4K个对话,61K轮对话,
Safety:8K个对话,48K轮对话,
Groundedness:4K个对话,40K轮对话(涉及手写query跟模型回复修改)以及,1K个对话,9K轮对话(判断检索query跟回复是否正确) | | Sparrow | Finetune:
Rule reward: 14576个对话
Preference reward:73273个样本 | | instructGPT | Finetune:
SFT: 13K个prompt
RM: 33K个prompt
PPO:31K个prompt |
b) 同deepmind的Sparrow一样使用了强化学习,即reinforcement learning from human feedback,也称RLHF。
c) 区别于其他两个对话机器人,InstructGPT不具备检索外部知识源的能力(这点蛮奇怪的,毕竟这是已经被验证过缓解模型幻视的一种有效手段,所以会不会是openai调不了Google Search的api?),也没有为生成结果的安全性等方面设计额外的子任务。
参考文献
1.(2022) Training language models to follow instructions with human feedback
https://arxiv.org/abs/2203.02155