论文精读--InstructGPT

模型效果取决于数据效果,但在精细度上控制不够,只是大力出奇迹,这样有很大的问题:

(1)数据量太多或者没有这方面的数据,模型学不会怎么办

(2)安全性问题,模型输出一些不该输出的东西

所以InstructGPT就是标一点数据然后把模型微调一下

Abstract

Making language models bigger does not inherently make them better at following a user’s intent. For example, large language models can generate outputs that are untruthful, toxic, or simply not helpful to the user. In other words, these models are not aligned with their users. In this paper, we show an avenue for aligning language models with user intent on a wide range of tasks by fine-tuning with human feedback. Starting with a set of labeler-written prompts and prompts submitted through the OpenAI API, we collect a dataset of labeler demonstrations of the desired model behavior, which we use to fine-tune GPT-3 using supervised learning. We then collect a dataset of rankings of model outputs, which we use to further fine-tune this supervised model using reinforcement learning from human feedback. We call the resulting models InstructGPT. In human evaluations on our prompt distribution, outputs from the 1.3B parameter InstructGPT model are preferred to outputs from the 175B GPT-3, despite having 100x fewer parameters.Moreover, InstructGPT models show improvements in truthfulness and reductions in toxic output generation while having minimal performance regressions on public NLP datasets. Even though InstructGPT still makes simple mistakes, our results show that fine-tuning with human feedback is a promising direction for aligning language models with human intent.

翻译:

增大语言模型的规模并不一定能使其更好地遵循用户的意图。例如,大型语言模型可能生成不真实、有毒或对用户毫无帮助的输出。换句话说,这些模型与用户并不一致。在这篇论文中,我们展示了一种通过使用人类反馈进行微调的方式来使语言模型与用户意图保持一致的方法,这适用于广泛的任务。从标注者编写的提示和通过 OpenAI API 提交的提示开始,我们收集了标注者展示所需模型行为的演示数据集,并使用这些数据集通过监督学习来微调 GPT-3。然后,我们收集了一个模型输出排名的数据集,用这些数据通过人类反馈的强化学习来进一步微调这个监督模型。我们将由此产生的模型称为 InstructGPT。在我们提示分布上的人类评估中,尽管参数数量减少了 100 倍,但1.3B参数的 InstructGPT 模型的输出还是优于 175B 参数的 GPT-3 的输出。此外,InstructGPT 模型在真实性方面有所提高,在生成有毒输出方面有所减少,同时在公共 NLP 数据集上的性能回退最小。尽管 InstructGPT 仍然会犯一些简单的错误,但我们的结果显示,使用人类反馈进行微调是将语言模型与人类意图保持一致的一个有希望的方向。

总结:

在人类的反馈上做微调

对输出的概率分布采样打标谁更好,排序,然后丢进强化学习学习策略

Introduction

训练时的目标只是预测文本的下一个词,和我们的使用它的意图还是有不一样的

使用基于人类反馈的强化学习(RLHF)

step1:

首先找一些人来写各种各样的问题,称为prompt,这里是:向6岁的小孩解释什么是月亮

然后让人来写出一个答案,这里是:一些人去了月球....

把问题和答案拼成一段话,微调GPT3

在人类标注的数据上微调出来的模型叫作SFT,有监督的微调

但是人写答案很贵,所以

step2:

将问题喂给SFT,对它生成的概率分布对应的答案让人去排序,将排序结果结果丢给强化学习模型训练,使其对答案打的分数满足排序的顺序

step3:

根据RM的打分结果,继续优化step1的SFT

Labelers significantly prefer InstructGPT outputs over outputs from GPT-3

InstructGPT models show improvements in truthfulness over GPT-3

InstructGPT shows small improvements in toxicity over GPT-3, but not bias

We can minimize performance regressions on public NLP datasets by modifying our RLHF fine-tuning procedure

Our models generalize to the preferences of “held-out” labelers that did not produce any training data

Public NLP datasets are not reflective of how our language models are used

InstructGPT models show promising generalization to instructions outside of the RLHF finetuning distribution

InstructGPT still makes simple mistakes

与GPT-3的输出相比,标注者明显更喜欢InstructGPT的输出

与GPT-3相比,InstructGPT模型的真实性有所提高

与GPT-3相比,InstructGPT在毒性方面略有改善,但偏见上没有太多提升

通过修改我们的RLHF微调过程来减少公共NLP数据集上性能的下降

我们的模型推广到没有产生任何训练数据的“搁置”标注者的偏好

公开的NLP数据集不能反映我们的语言模型是如何被使用的,因为数据分布不一致

InstructGPT模型对RLHF调优分布之外的指令显示出有希望的泛化

InstructGPT仍然会犯一些简单的错误

Methods and experimental details

Models

Supervised fine-tuning (SFT)

把GPT3在标注好的prompt上重新训练一次,1w3的数据量少,会过拟合,但是不要紧,因为是用来初始化后面的模型而非直接应用,反而还会有点帮助

Reward modeling (RM)

Reinforcement learning (RL)

用PPO算法,也就是对这个函数梯度下降

Discussion

The cost of increasing model alignment is modest relative to pretraining

InstructGPT三个模型的训练成本比预训练模型的成本低很多

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

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

相关文章

大模型的实践应用24-LLaMA-Factory微调通义千问qwen1.5-1.8B模型的实例

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用24-LLaMA-Factory微调通义千问qwen1.5-1.8B模型的实例, LLaMA-Factory是一个专门用于大语言模型微调的框架,它支持多种微调方法,如LoRA、QLoRA等,并提供了丰富的数据集和预训练模型,便于用户进行模型微调。通义千问…

【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署

【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署 SaaS 模式的云 HIS 更适用于基层医疗机构,而传统的 HIS 已经在大中型医疗机构大规模应用。过去,国内的大中型医疗机构投入了大量的资金来进行信息化系统建设…

基于python实现搜索的目标站点内容监测系统

基于python实现搜索的目标站点内容监测系统 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat、Maven 系统功能实现 登录页面 后台的登录一般是为了管理员的管理方便进行一个用户权限的验证。也是为管理员提供的唯…

mysqldump提示Using a password on the command line interface can be insecured的解决办法

mysql数据库备份一句话执行命令 mysqldump --all-databases -h127.0.0.1 -uroot -p123456 > allbackupfile.sql 提示如下提示 [rootyfvyy5b2on3knb8q opt]# mysqldump --all-databases -h127.0.0.1 > allbackupfile.sql mysqldump: Couldnt execute SELECT COLUMN_NA…

大多人的起点都差不多,真正拉开差距的在于每个日常

在人生的长跑中,很多人的起点相似,但随着时间的推移,每个人的路径和成就却大相径庭。真正造成这种差异的,不是起点,而是每个人在日常中所做的选择和采取的行动。 日常选择的力量 日常生活中的每一个选择,…

PostgreSQL重置密码(忘记密码)

本文介绍了在PostgreSQL中如果密码忘记了怎么重置密码 备份配置文件 找到pg_hba.conf文件,进行备份 cp pg_hba.conf pg_hba.conf.bak修改配置文件 # 修改配置文件以信任本地连接不需要密码。 将配置文件中的 scram-sha-256 或者 md5 修改为 trust # TYPE DATAB…

HTML5 SVG技术应用

HTML5 SVG技术应用 目录 SVG属性SVG图像绘制 SVG路径SVG直线SVG矩形SVG圆形SVG椭圆SVG多边形SVG曲线SVG属性 SVG(Scalable Vector Graphics)元素拥有众多属性,这些属性用于定义图形的外观、位置、变换、交互等特性。 基本图形属 width 和 height: 定义SVG元素或图形的宽度…

Element中Select选择器value-key使用注意事项以及回显

value-key 的值必须是对象中一个唯一的标识,类似于:key的意义,但是可以不跟Key一样,一般用一样的即可 因为选择的是一个对象,回显时也应该是一个对象,对象中至少有id,用于与value-key进行匹配 完整示例 &l…

Stable Diffusion vs Midjunery的区别和选择

现在网上最多的关于AI绘画的工具莫过于stable diffusion(sd)和midjunery(mj)了,最近尝试了一番,稍作总结吧算是。我们对于工具的使用通常考虑的无非就是好不好用,效果如何,当然还有费…

linux查看硬盘信息

1、查看挂接的分区状态 [rootMaster ~]# fdisk -l |grep Disk 2、查看硬盘和分区分布 [rootMaster ~]# lsblk 3、查看硬盘和分区的详细信息 [rootMaster ~]# fdisk -l 4、查看挂接的分区状态 [rootMaster ~]# swapon -s 5、查看硬盘使用情况 [rootMaster ~]# df -hT 6、硬…

将中缀表达式转换为后缀表达式(c++)

描述 在日常应用中,算术表达式中运算符总是出现在两个操作数之间,例如5(7-23)8/2,这种形式称为中缀表达式。计算一个中缀表达式需要知道运算符的优先级和结合性。乘除是高优先级,加减是低优先级,优先级相同时他们都是…

【教程】如何解决宝塔面板诡异MYSQL自动停止问题

在使用宝塔的过程中,经常会遇到了 MySQL 自动停止的问题,尤其是配置低一些的服务器。导致 MySQL 停止的情况有很多种,这里不再多述。 下面教大家怎么解决这一问题。在宝塔的计划任务里添加一段 shell 命令,从而达到定时自动执行检…

A股翻车现场

英伟达业绩炸裂,但今天A股这边不仅没喝着汤,还再度上演大型翻车现场,人家不仅股价大涨7个点还站上1000美元大关, 而咱A股里的英伟达,AI,TMT相关概念股,包括工业(富联)&am…

92.网络游戏逆向分析与漏洞攻防-游戏技能系统分析-利用哈希表实现快速读取文本内容

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

android设计模式-原型设计(深、浅拷贝)

转https://www.jianshu.com/p/15bc149bd0af 前言 使用原形模式可以解决复杂对象构建资源消耗的问题 原形模式是一种创建型模式,原形模式多用于创建复杂对象或者构造耗时的实例。它的作用主要是"克隆",用户从原形对象复制出一个内部属性一样的…

Kafka-ACK机制(ack应答原理、冥等性、事务)

Kafka-ACK机制 Kafka中的ACK(Acknowledgement)机制是用于保证消息可靠传递的关键组件之一。在生产者发送消息到Kafka集群时,ACK机制决定了何时认为消息已经成功发送。这个机制非常重要,因为它影响了生产者对消息发送的信心以及消费…

【MySQL】两个脚本自动化搞定 MySQL 备份恢复--XtraBackup

简介 此项目基于两个脚本实现,pxb_auto_backup.sh 脚本基于 XtraBackup 实现了 MySQL 的自动化备份,可选择全备和增备。pxb_auto_recovery.sh 脚本实现了基于 pxb_auto_backup.sh 脚本的自动化恢复,并能够通过微信和企业微信对执行的状态进行…

k8s使用Volcano调度gpu

k8s部署 https://www.yangxingzhen.com/9817.html cri-dockerd安装 https://zhuanlan.zhihu.com/p/632861515 安装nvidia-container-runtime https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html 安装k8s-device-plugin https://…

降本增效!看TeeChart如何帮助实现海量「监测数据」可视化

“环境监测数据异常庞大,想要实现数据监测分析,除了要求控件具有良好的兼容性和稳定性,还对多样化、定制化的图表开发也有很高的要求” ——————— 项目负责工程师 王工 TeeChart Pro 最新版下载(qun:740060302&…

Transformer系列专题(二)——multi-headed多头注意力机制

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、什么是multi-headed(多头注意力机制)二、multi-headed三、multi-headed结果四、堆叠多层总结 前言 在实践中,当给定相同…