文献阅读:Training language models to follow instructions with human feedback

news2024/11/26 2:33:07
  • 文献阅读: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,让子弹再飞一会吧……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/373409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go项目(商品微服务-1)

文章目录简介建表protohandler商品小结简介 商品微服务主要在于表的设计,建哪些表?表之间的关系是怎样的? 主要代码就是 CURD表和字段的设计是一个比较有挑战性的工作,比较难说清楚,也需要经验的积累,这里…

【Linux】工具(2)——vim

本期博客我们进入到Linux环境下vim工具的学习:一、vim是什么📌Vim是一个超级超级强大的文本编辑器。Vim及前身VI,历史悠久(可能比多数读者的年龄更大),经历了几十年的考验和发展。Vim全称叫Vi IMproved. 而…

Linux安装云原生网关Kong/KongA

目录1 概述2 创建服务器3 安装postgres4 安装kong5 安装node6 安装KONGA1 概述 Kong Kong是一款基于OpenResty(NginxLua模块)编写的高可用、易扩展的开源API网关,专为云原生和云混合架构而建,并针对微服务和分布式架构进行了特别…

蓝桥杯算法模板

模拟散列表拉链法import java.io.*; import java.util.*; public class a1 {static int n;static int N100003;static int[] hnew int[N];static int[] enew int[N];static int[] nenew int[N]; static int idx; static void insert(int x){int k(x%NN)%N;e[idx]x;ne[idx]h[k];…

终端软件架构说

目录 零:前言 一,基于服务的架构 二,基于多进程多线程的架构 三,以数据为中心的架构 四,类Android的分层架构设计 五,总结 零:前言 谈到架构,可能大家的第一感觉是信息系统的…

2023年三月份图形化三级打卡试题

活动时间 从2023年3月1日至3月21日,每天一道编程题。 本次打卡的规则如下: 小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群…

Vue 3第三章:模板语法及指令介绍

文章目录1. 插值表达式1.1. 声明变量可直接在模板中使用,采用{{变量名称}}的方式1.2. 模板语法支持三元表达式1.3. 模板语法支持运算1.4. 模板语法支持方法调用2. 指令2.1. v-bind:用于绑定属性或动态绑定对象的值到元素上。2.2. v-if、v-else-if、v-els…

C#学习记录——接口的实现

一小部分知识精英依旧直面核心困难,努力地进行深度钻研,生产内容;而大多数信息受众始终在享受轻度学习,消费内容。如果我们真的希望在时代潮流中占据一席之地,那就应该尽早抛弃轻松学习的幻想,锤炼深度学习…

Burp Suite 常用模块简介

Burp Suite 常用模块分为 目标站点(target)模块 代理(proxy)模块 攻击(Intruder)模块 重放(Repeater) 模块 Target模块是对站点资源的收集,与站点各资源包发出和相应包的记录 Proxy模块是核心模块,可以拦截数据包发送往浏览器,进行修改后再…

网络协议分析(2)判断两个ip数据包是不是同一个数据包分片

一个节点收到两个IP包的首部如下:(1)45 00 05 dc 18 56 20 00 40 01 bb 12 c0 a8 00 01 c0 a8 00 67(2)45 00 00 15 18 56 00 b9 49 01 e0 20 c0 a8 00 01 c0 a8 00 67分析并判断这两个IP包是不是同一个数据报的分片&a…

Android JetPack之启动优化StartUp初始化组件的详解和使用

一、背景 先看一下Android系统架构图 在Android设备中,设备先通电(PowerManager),然后加载内核层,内核走完,开始检查硬件,以及为硬件提供的公开接口,然后进入到库的加载。库挂载后开…

Winform控件开发(16)——Timer(史上最全)

前言: Timer控件的作用是按用户定义的时间间隔引发事件的计时器,说的直白点就是,他就像一个定时炸弹一样到了一定时间就爆炸一次,区别在于定时炸弹炸完了就不会再次爆炸了,但是Timer这个计时器到了下一个固定时间还会触发一次,上面那张图片就是一个典型的计时器,该定时器…

【Java】Spring Boot 配置文件

文章目录SpringBoot 配置文件1. 配置文件的作用2. 配置文件的格式3. properties配置文件说明3.1 properties基本语法3.2 读取配置文件3.3 properties缺点分析4. yml配置文件说明4.1 yml基本语法4.2 yml使用进阶4.2.1 yml配置不同的数据类型及null4.2.1 yml配置的读取4.2.2 配置…

Python蓝桥杯训练:基本数据结构 [哈希表]

Python蓝桥杯训练:基本数据结构 [哈希表] 文章目录Python蓝桥杯训练:基本数据结构 [哈希表]一、哈希表理论基础知识1、开放寻址法2、链式法二、有关哈希表的一些常见操作三、力扣上面一些有关哈希表的题目练习1、[有效的字母异位词](https://leetcode.cn…

0101基础概念-图-数据结构和算法(Java)

文章目录1 图1.1 定义1.2 4种图模型2 无向图2.1 定义2.2 术语后记1 图 1.1 定义 图是一种非线性的数据结构,表示多对多的关系。 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V, E)&#xf…

ecology9-谷歌浏览器下-pdf.js在渲染时部分发票丢失文字 问题定位及解决

问题 问题描述 : 在谷歌浏览器下,pdf.js在渲染时部分发票丢失文字;360浏览器兼容模式不存在此问题 排查思路:1、对比谷歌浏览器的css样式和360浏览器兼容模式下的样式,没有发现关键差别 2、✔使用Fiddler修改网页js D…

什么是线程死锁?如何解决死锁问题

死锁,一组互相竞争的资源的线程之间相互等待,导致永久阻塞的现象。 如下图所示: 与死锁对应的,还有活锁,是指线程没有出现阻塞,但是无限循环。 有一个经典的银行转账例子如下: 我们有个账户类…

操作系统权限提升(十四)之绕过UAC提权-基于白名单AutoElevate绕过UAC提权

系列文章 操作系统权限提升(十二)之绕过UAC提权-Windows UAC概述 操作系统权限提升(十三)之绕过UAC提权-MSF和CS绕过UAC提权 注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!! 基于白名单AutoElevate绕过…

2-MATLAB APP Design-下拉菜单栏的使用

一、APP 界面设计展示 1.新建一个空白的APP,在此次的学习中,我们会用到编辑字段(文本框)、下拉菜单栏、坐标区,首先在界面中拖入一个编辑字段(文本框),在文本框中输入内容:下拉菜单栏的使用,调整背景颜色,字体的颜色为黑色,字体的大小调为26. 2.在左侧组件库常用栏…

Qt音视频开发17-vlc内核回调拿图片进行绘制

一、前言 在众多播放器中,支持的种类格式众多,并支持DVD影音光盘,VCD影音光盘及各类流式协议,提供了sdk进行开发,这点是至关重要的,尽管很多优秀的播放器很牛逼,由于没有提供sdk第三方开发&…