【论文阅读】Learing to summarize from human feedback

前言

更多关于大模型的文章可见:ShiyuNee/Awesome-Large-Language-Models: Papers about large language models (github.com)

  • 该仓库持续更新

Abs

通过训练模型来向着人类偏好优化可以显著提高摘要质量。

Method

High-level methodology

在这里插入图片描述

从一个在摘要数据集上使用SFT微调好的初始模型开始,然后经过以下三个步骤:

  • 从已有的模型中收集一些样本,利用人工来进行对比
    • 对一个 Reddit post,从不同模型(当前模型,初始模型,原有的参考摘要以及其他baselines)中收集summaries。之后,将一批成对的摘要送给人工评估,人工被要求对一个Reddit post选择其最好的摘要
  • 从人类对比的结果中学一个reward model
    • reward model用来对<post, summary>打分,分数越高说明summary越好,该模型打分需要和人类偏好保持一致,及人工认为越好的摘要应该得到更高的分数
  • 针对reward model训练一个policy
    • 利用reward model对policy生成的结果进行打分,使用强化学习用该分数来优化当前policy

Dataset and task

  • 数据:从TL;DR数据集中过滤得到,包含123169个posts,5%用来validation
    • 为什么不用更常用的CNN/DM数据集?
      • 因为这个数据集太简单,简单的提取式模型都能做的很好
  • 任务:训练一个模型,生成小于48token的摘要,模型效果要好

Models

所有模型都是GPT-3架构,用1.3B和6.7B的GPT-3进行 human feedback实验

  • 预训练模型:自回归形式的GPT-3

  • 监督baselines:用过滤后的TL;DR微调的GPT-3,用来初始化policy、RM,也用来采集摘要pair,以及作为评估的baseline。在最后的人工评估中,对所有模型使用T=0的采样方式(贪婪搜索),因为发现这样效果最好

  • Reward models:用上面的监督baseline来初始化,加了一个随机初始化的线性层来输出一个标量分数,该模型在两个摘要 ( y 0 , y 1 ) (y_0, y_1) (y0,y1)中判断哪个更好,如果 y 1 y_1 y1 更好,loss可以写成:

    在这里插入图片描述

  • Human feedback policies:用上面的监督baseline初始化,基于上面的RM,我们采用RL的方式,用PPO算法来训练一个policy。在reward中添加了一个惩罚项(学到的policy和原始的监督模型之间的KL散度)

    在这里插入图片描述

    扫描二维码关注公众号,回复: 16440580 查看本文章

Discussion

Limitations:训练以及数据收集都非常耗时,因此没办法上到更大的模型

Future directions:

  • 可以应用到各种能比较样本的任务上
  • 希望能扩展到人类不能轻易评估模型输出的任务上
  • 使用除了二分比较的其他形式的human feedback

Broader impacts:本文探索的是通用技术,可以用在各种机器学习应用上。

猜你喜欢

转载自blog.csdn.net/qq_52852138/article/details/131253071