ChatGPT的来源-InstructGPT论文简要介绍
文章目录
- 前言
- 一、ChatGPT是什么?
- 二、ChatGPT的前身InstructGPT论文解读
- 论文下载地址:
- 主要内容:
- 模型训练
- 数据类型
- 结果
- 效果示例
- 总结
前言
现在大火的ChatGPT功能十分强大,不仅可以回答用户问题,编写故事,甚至还可以写代码。ChatGPT跟OpenAI之前发表的InstructGPT使用的模型方法比较类似,只是训练的数据不同,为了探索ChatGPT的原理,笔者找来2022年3月发表的InstructGPT的论文,做了简要的介绍。
一、ChatGPT是什么?
ChatGPT,美国OpenAI 研发的聊天机器人程序 ,于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。
二、ChatGPT的前身InstructGPT论文解读
论文下载地址:
https://arxiv.org/abs/2203.02155
主要内容:
这篇文章的主要内容是大型语言模型并不能很好的遵循用户的意图,这些模型生成的内容可能对用户毫无帮助,与用户的期待并不一致。为了解决这个问题,InstructGPT使用引入了人类反馈来训练模型,虽然模型仍然有一些小的错误,但是这种方法给大型语言模型输出结果与人类期望一致提供了未来的研究方向。ChatGPT也是在InstructGPT模型的基础上开发出来的。
模型训练
训练模型主要有三个步骤,论文的配图做了非常详细的说明:
- 步骤1:supervised fine-tuning (SFT)
OpenAI雇佣的数据标注员人工生成问题和答案,通过监督学习使用这个数据来对预先训练好的GPT-3模型进行微调。 - 步骤2:reward model (RM) training
使用不同的模型生成不同的结果,打分员手工对不同的回答打分,然后使用这些数据训练一个激励模型来预测人类更喜欢的结果。 - 步骤3:reinforcement learning via proximal policy optimization (PPO)
将激励模型作为标准,对已生成的模型使用PPO算法进行微调,生成最佳策略。
数据类型
数据的类型主要有三类:
- Plain:标记员随机想出一个任务,确保任务的多样性。
- Few-shot:标记员想出一个指示,并且提供配套的多个查询语句和响应
- User-based:与OpenAI的待开发应用列表里相关的任务
结果
论文主要使用了API分布和公开的NLP数据集两个维度来评价这个模型。
- 1.API分布下的结果
在1.3B,6B和175B的体量数据下,InstructGPT对应的模型PPO-ptx表现均优于其他模型,最受评分员的喜爱。
在更细的不同任务类型下和Likert score的打分也是如此。 - 2.NLP数据集上的结果
图中的TruthfulQA dataset结果中灰色的柱形代表了诚实度,InstructGPT在诚实度上比GPT-3有所提高。
InstructGPT在有毒性测试上相比GPT-3略有提高,但是在偏见上没有提高。
效果示例
经过微调的模型效果非常好,下面贴几张论文中GPT-3和InstructGPT的回答对比示例:
提示:为什么冥想后吃袜子很重要?
GPT-3 175B 完成:
你能从袜子中学到什么?
A: 当你吃袜子时,你正在品尝启蒙的精髓。你正在品尝觉醒心灵的真正味道。
Q: 觉醒的心灵的真正味道是什么?
A: 觉醒心灵的真正味道是没有味道的味道。没有味道的真正味道是臭脚的味道。。
InstructGPT 175B 完成:
这个问题没有明确的答案,但有许多理论和想法可以解释冥想后显然需要吃袜子。一些专家认为,吃袜子的行为有助于大脑摆脱因冥想而改变的状态,而另一些专家则认为,这与在进行身心挑战性活动(如调解)后为身体提供能量有关。其他理论认为,吃袜子可能会给冥想者一种新的感官体验,或者让他们与物质世界建立联系,从而打破他们通常的思维过程和常规。然而,目前没有确凿的科学证据支持这些理论,最终由每个人根据自己的个人经历和想法来决定为什么吃袜子对他们很重要。
可以处理不同的语言,也可以处理代码数据。
总结
从这篇文章中我们可以看到,预先生成的模型在经过人工反馈训练之后,效果已经比较好了,ChatGPT正是在之前的基础之上,才发展出了惊人的成果。
ChatGPT的来源-InstructGPT论文简要介绍相关推荐
- ChatGPT相关技术必读论文100篇(2.27日起,几乎每天更新)
按上篇文章<ChatGPT技术原理解析:从RL之PPO算法.RLHF到GPT-N.instructGPT>的最后所述 为了写本ChatGPT笔记,过去两个月翻了大量中英文资料/paper( ...
- ChatGPT原理解析以及使用方法介绍
一.背景 这里我就直接贴上跟ChatGPT的对话作为背景输入,说真的,它的回答比我写的还要专业,具体见如下截图: 二.原理 从官网介绍可以看到,ChatGPT与InstructGPT是同源的模型.那么 ...
- 导向滤波python_导向滤波(Guided Filter)简要介绍
1.介绍 提到导向滤波,首先想到的是"何恺明",他的确是真大神,在图像领域,是中国人的骄傲,深度学习流行的时候,也是提出各种新算法,比如ResNets,而最近两年,深度学习的发展已 ...
- MD5算法原理简要介绍并采用C#应用在桌面应用系统的用户登录与注册中
MD5算法原理简要介绍并采用C#应用在桌面应用系统的用户登录与注册中 接上文,本文简要介绍一下MD5加密算法的原理,并采用C#实现MD5算法的加密与解密过程,将这一实现过程应用在我自己开发的桌面办公应 ...
- 项目管理相关认证简要介绍(1)- 体系
项目管理相关认证简要介绍 工作时间长了,带一些新人项目经理,总是有人问"考个软考怎么样?","有没有什么好的培训认证?","怎么才能尽快掌握项目管理? ...
- 激光SLAM理论与实践(一)--激光SLAM简要介绍
疫情原因一直在家,所以把之前学习的某蓝学院的激光SLAM的教程做一个学习笔记记录一下.话不多说,直接开始! 第一章主要是是激光SLAM的基本脉络的简介,综述类的介绍,主要分为以下四部分,讲了激光SLA ...
- 计算机视觉三大会议--ICCV、CVPR、ECCV简要介绍
计算机视觉三大会议–ICCV.CVPR.ECCV简要介绍 ICCV 英文名:IEEE International Conference on Computer Vision 中文名: IEEE国际计算 ...
- 【How to Design Translation Prompts for ChatGPT: An Empirical Study 论文略读】
How to Design Translation Prompts for ChatGPT: An Empirical Study 论文略读 INFORMATION Abstract 1 Introd ...
- 【测试】linux FIO命令详解(一):磁盘IO测试工具 fio (并简要介绍iostat工具)
目录 随看随用 FIO介绍 FIO 工具常用参数: fio工作参数可以写入配置文件 IO状态监控: Iostat介绍 与FIO相似的工具 fio测试脚本 提取iops和bw gunplot画图 Fio ...
最新文章
- python 输出大文本文件
- Trie树【洛谷P3879】 [TJOI2010]阅读理解
- 快排Quick Sort到底有多快?
- App Store 扣费 知识产权 备忘
- 一个application多个 URL
- 单耳蓝牙耳机怎么连接_蓝牙耳机怎么挑选?推荐性价比高的蓝牙耳机
- m.2接口和nvme区别_m.2 nvme和m.2有区别吗?
- Spring+SpringMVC+Mybatis框架搭建
- java学生考勤代码免费,基于jsp的学生考勤管理-JavaEE实现学生考勤管理 - java项目源码...
- 复制网站部分内容_这些网站帮你十分钟搞定年终报告/合同/公文/策划写作!
- 噢,原来SpringCloud是这样的呀!
- 老男孩python全栈day01
- PS的一些常用快捷键和学习笔记
- 微信小程序python token验证_微信小程序爬虫遇到 token 的问题
- 外星文明 未来计算机,科学家有望未来在地球“设计打印”外星生命
- Whipple防护结构的建模与仿真技术
- ORACLE ORA-01950 对表空间无权限
- 使用虚拟信用卡绑定亚马逊卖家号店铺扣月租费教程
- C语言--数据溢出导致的缓冲区(堆栈)损坏
- 可维护性、可复用性和可扩展性的区别
热门文章
- 医学中的计算机科学与技术学院,【建校60周年献礼】信息技术学院成功举办“隐结构及其在中医药研究的应用暨计算机科学与技术学科建设”学术论坛...
- 解决Module build failed: Error: no such file or directory, scandir ‘...node_modules\node-sass\vendor‘
- 【爬虫实践之爬虫进阶】python爬取网页猫脸,使用opencv检测是否有猫脸,有则爬取
- 89 Three.js 导入dae格式的骨骼绑定动画模型
- 我们到底是不是产品经理:给互联网、软件业者
- 小说里的编程 【连载之二十五】元宇宙里月亮弯弯
- Linux下统计某个目录下所有源代码行数的Shell脚本
- 蓝桥杯打卡(220119)
- csdn写文章如何写空格
- 解决使用navicat打开sql文件失败