文献阅读:Training language models to follow instructions wi

  • 文献阅读:Training language models to follow instructions with human feedback
    • 1. 文献工作简介
    • 2. 模型优化设计
    • 3. 实验结果
    • 4. 总结 & 思考
  • 文献链接:https://arxiv.org/abs/2203.02155

1. 文献工作简介

这篇文章是OpenAI在上年提出的一篇对于GPT3的改进文章,提出了InstructGPT。

其主体的思路应该是借鉴了Google的Flan。Google的Flan这个工作中提出,使用标注数据对预训练模型进行Finetune,即使对于标注数据没有涉及的新的领域任务,模型的效果也是可以提升的,也就是说,对于大模型而言,使用标注数据进行finetune可以进一步提升模型的泛化性。

另外,在InstructGPT当中,除了引入了标注数据进行finetune之外,文中还加入了强化学习的方式,使用人工数据来对模型进行了进一步的优化。

而关于模型的实际效果,除了文中给出的这些结果之外,另外一个相关的工作大概会更为广为人知,即ChatGPT。

这个牛逼的模型基本就是按照InstructGPT的方式进行训练然后放出端口的,其效果就无需赘述了,委实是有点牛逼了。

2. 模型优化设计

下面,我们来看一下文中具体给出的模型优化方案。

如前所述,InstructGPT模型的主要优化点包括了以下一些内容:

  1. 加入了多种任务的标注数据进行了finetune;
  2. 在Prompt的基础上加入了Instruct部分,进一步固化生成方向;
  3. 使用人工交互数据进行了强化学习;

整体的训练步骤如下图所示:

可以看到,整体上模型训练可以分为三部分:

  1. 使用监督数据进行finetune;
  2. 使用人类行为数据进行RM模型训练;
  3. 使用2中的RM模型对莫i选哪个进行强化学习优化;

而关于模型训练使用的数据,具体如下:

其中,表1是不同类型的数据分布,表2是使用的prompt样例。

3. 实验结果

下面,我们来看一下文中给出的实验结果。

首先,我们来看一下整体的人工评测效果如下:

可以看到:

  • Prompt、Finetune以及RL对于模型均表达为正向的效果。

然后,我们来看一下模型在公开数据集上的效果表达:

文中同样对不同的Prompt的效果进行了考察,得到结果如下:

最后,文中给出了一些具体的case对比如下:


可以看到:

  • 整体来看,InstructGPT对于具体任务的返回的返回结果表达上是是全面优于GPT3的。

4. 总结 & 思考

整体上来说,InstructGPT较之原版的GPT3在生成任务的指向性上更加明确,生成结果的正确性也更高,但即便如此,碍于GPT模型LLM的本质,它依然无法避免的可能会生成错误的结果,这方面很难彻底规避。

但即便如此,InstructGPT,或者说ChatGPT的效果确实毋庸置疑的,毕竟都让Google感觉惊慌了,我司也打算大规模加入到Edge以及Office软件当中,未来LLM的前景基本是没啥好质疑的了,虽然现阶段的LLM到底能否经得起使用,这方面我倒是暂时呈观望态度,虽然有点唱反调,但是毕竟做过生成任务,这方面对于LLM结果的可靠度实在是没有那么自信……

Anyway,让子弹再飞一会吧……

本文链接:https://my.lmcjl.com/post/9114.html

展开阅读全文

4 评论

留下您的评论.