ChatGPT进化的过程简介

news/2024/4/27 7:12:33/文章来源:https://blog.csdn.net/qq_16485855/article/details/130375867

Chat GPT可以做什么?

  • 分点列条的回答问题

  • 写代码或SQL

  • 翻译

  • 语法检查

ChatGPT官方还未公开论文,ChatGPT有一个“孪生兄弟”InstructGPT,InstructGPT有论文,可以根据InstructGPT论文推导ChatGPT的训练过程:

  • ChatGPT的训练过程

  • InstructGPT的训练过程

可以看到两者差距非常小,区别是两者使用的GPT版本不同。

所以看了InstructGPT论文应该就可以知道ChatGPT大致怎么被训练出来的了。

ChatGPT学习的四阶段

1 学习文字接龙

给GPT一个不完整的句子,GPT会想办法猜出这个句子接下来应该接哪字才是正确的。

怎么教一个模型做文字接龙?

文字接龙的学习是不需要人工标注的。

GPT要做的事情就是在网络上收集大量的文字,让GPT学文字接龙。

比如从网络上看到“跟人类对话”这句话,让GPT知道了“跟”后面跟“人”,“跟人”后面跟“类”,“跟人类”后面跟“对”。

“你好”这个不完整的句子后面可能接的词汇有很多,

GPT在学习做文字接龙的过程中,GPT真正输出的是一个几率分布。

比如输入“你好” ,后面跟“美”的几率,跟“高”的几率,跟“吗“的几率分别是多少。

接下来再从几率分布里随机抽取一个文字出来,几率比较高的字比较容易被抽取出来,几率比较低的字不太容易被抽取出来。

GPT的输出每一次都是不一样的。

让GPT补充一个不完整的句子,它每次补的结果都是随机性的。

每次补出来的结果都是不一样的,那学习文字接龙有什么用?

告诉GPT这是一个不完整的句子,接下来GPT想接哪个字呢?

第一个问题回答是“玉”,再将“玉”追加到第一个问题上作为新的问题再问GPT,回答“山”。

GPT的输出是随机的,GPT每次只会产生一个字。

把所有产生的结果一次输出来,这样就形成一道选择题。

但实际产生的时候,还是一个字一个字产生的。

或者回答“谁来告诉我答案呀”,因为你并没有让它回答问题,所以可能会有这个答案。

GPT看到网络上有谁说过什么句子,它都可以拿来接,所以GPT在实际的使用上并没有那么好用,那怎么引导GPT产生有用的输出?

这就进入下一个阶段,

2 由人类老师引导文字接龙的方向

需要找人类来思考想问GPT的问题,提出问题之后,还需要人工把答案标记出来,有了这些资料以后,再丢给GPT做进一步的学习。

之前GPT在网络上看到一些有用的或没用的内容,GPT它不能分辨, 反正就是照单全收。

现在由人类提供想问GPT的问题并由人类提供标准的答案。

就让GPT多读一些我们觉着有意义的语料,真正帮人类做事的有用的内容,期待它可以变成人类真正的帮手。

那我们会不会穷举所有人类可能会问到的问题呢?答案是不用的。

虽然今天ChatGPT的论文还没有出,但是看instruct GPT你会发现并没有使用非常多人为标注的问题和答案,只有数万字而已。

那为什么不需要标注非常多的问题跟答案呢

因为这些答案本来GPT是就有能力产生的,只是它不知道哪些答案是人类希望它产生的。

GPT在网络上看到各式各样的内容,所以可能会产生各式各样奇怪的答案。

人类要做的事情只是激发它本来就有的力量,叫它讲出我们希望它讲的话,所以在第二阶段,可能每种类型的问题,提供几个范例可能就足够了。

3 模仿人类老师的喜好

openapi线上公开GPT api,就会有很多人使用这个api,就会有很多人不断的去问,接下来把这些问题收集好,让GPT产生这些问题的答案,因为GPT的答案是有随机性的,所以同一个问题会产生不同的答案。

接下来就由人类去标注哪些答案是好的答案,哪些答案是差的答案,人类老师并不一定要提供完整的正确答案,只需要告诉机器说哪个答案是比较好的,哪个答案是比较差的。

有了这个信息以后,接下来就要训练一个模仿老师的模型Teacher model,

这个模型的作用是给GPT的问题和GPT输出的答案输出一个分数,这个模型学习的目标就是模仿人类老师评分的标准,如果人类的标注告诉GPT,“玉山”这个答案好于“谁来告诉我”这个答案,那Teacher model模型就可以模仿人类的偏好。

4 用增强式学习向模拟老师学习

用增强式学习(Reinforcement Learning)让GPT向模拟老师学习,

比如问这个问题,回答这个答案。

这虽然是一个正确的接法,但不是人类想要的。

那现在GPT有了一个老师的模型,那就把输入的问题和答案一起丢给老师模型,这个老师模型就会学了人类的偏好。

GPT在前面的学习中知道,如果答案是一个问句,则不是一个好的答案,应该要给予低分。

那Teacher model模型输出的就是增强式学习(Reinforcement Learning)的reward。

接下来用增强式学习的技术来调整GPT参数,调整的目标就是希望得到最高的reward,即希望GPT的输出结果会让Teacher model给予高分,也就是人类会觉的满意的答案。

透过Reinforcement Learning技术让GPT可能会学到:问“世界上最高的山是哪座?“,不会再随便接一个问句,而是输出“喜马拉雅山”。

即把问题和答案都丢给Teacher model模型,这个模型会评估出一个分数比较高的答案。

GPT经过增强式学习(Reinforcement Learning)之后,就是Chat GPT了。

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

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

相关文章

MySQ基础知识整合

目录 模糊查询 排序 单行函数 多行函数 分组函数 having 单表查询执行顺序总结 distinct 连接查询 子查询 union limit DQL语句执行顺序 DDL语句 日期化 date和date_format区别 update table 的快速创建以及删除(及回滚) 约束 事务 …

Vector-常用CAN工具 - 入门到精通 - 专栏链接

一、CANoe篇 1、CANoe入门到精通_软件安装 2、CANoe入门到精通_硬件及环境搭建 3、CANoe入门到精通_软件环境配置 4、CANoe入门到精通_Network Node CAPL开发 5、CANoe入门到精通_Node节点开发基本数据类型 6、CANoe入门到精通_Test Node节点开发设置 7、CANoe入门到精通…

缩小数据文件

今天又出现12.2c 环境的问题,1T的数据空间还剩下2G,吓了一身冷汗,赶紧查看原因,不知道哪路业务大神作妖了。 发现sysaux和system增加N多数据文件,而且目前使用不多, 缩小表空间的数据文件 可以使用下面的语…

【python中的魔法方法有哪些?】

__init__(self, ...): 类的构造函数,用于创建一个类的实例并初始化它的属性。__str__(self): 返回对象的字符串表示形式,可以用于打印对象或者转化成字符串。__repr__(self): 返回对象的字符串表示形式,通常是用于开发者调试和查看对象信息。…

【FPGA-DSP】第九期:音频信号处理

从本文开始将记录一些简单的音频信号处理算法在System Generator中的实现方法。本文将介绍如何搭建音频信号的采集与输出模型。 音频信号属于一维信号,一些基本概念如下: 采样频率:根据奈奎斯特采样定理,采样频率Fs应该不低于声…

【C语言】基础语法5:数组和指针

上一篇:函数和递归 下一篇:字符串和字符处理 ❤️‍🔥前情提要❤️‍🔥   欢迎来到C语言基本语法教程   在本专栏结束后会将所有内容整理成思维导图(结束换链接)并免费提供给大家学习,希望…

记一次死锁问题

最近在做一个需求,碰到了死锁的问题,记录下解决问题的过程 背景 这个需求要改动一个接口,我这边称为A接口,原先的逻辑是A接口内部会调用c方法,c方法是一个dubbo方法, 现在需要再A接口里添加调用B方法&…

【ROS】ubuntu18.04安装ROS(ROS1 Melodic)

1、添加中科大ROS源 1.1、添加源 sudo sh -c . /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs main" > /etc/apt/sources.list.d/ros-latest.list1. 2、添加公钥 sudo apt-key adv --keyserver hkp://keyser…

编译预处理

编译预处理 1、宏定义1.1、 无参宏定义1.2、使用宏定义的优点1.3、宏定义注意点1.4、带参数的宏(重点)1.5、条件编译1.6、宏定义的一些巧妙用法(有用)1.7、结构体占用字节数的计算原则(考题经常考,要会画图)1.8、#在宏定义中的作用&#xff0…

ESP32设备驱动-BMM150数字地磁传感器驱动

BMM150数字地磁传感器驱动 文章目录 BMM150数字地磁传感器驱动1、BMM150介绍2、硬件准备3、软件准备4、驱动实现1、BMM150介绍 BMM150 是一款低功耗、低噪声的 3 轴数字地磁传感器,用于罗盘应用。 具有 1.56 x 1.56 mm 和 0.60 mm 高度的 12 引脚晶圆级芯片级封装 (WLCSP) 为…

直升机空气动力学基础--004翼型的阻力

来源 1. 空气的粘性 2.阻力的产生 3.形成因素 4.阻力系数曲线

转换json格式的日期为Javascript对象的函数

项目中碰到了用jQuery从后台获取的json格式的日期的字符串,需要将此字符串转换成JavaScript的日期对象。 代码如下: //转换json格式的日期(如:{ServerDatetime:"\/Date(1278930470649)\/"})为Javascript的日期对象 fu…

Linux tail 命令

前言 Linux 实时查看日志文件,最主要使用的就是tail命令。 linux tail命令用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”…

湿法冶金以及铼提取工艺,湿法冶金工艺特点及工艺流程

湿法冶金是利用浸出剂在一定温度压力下与矿石接触,把矿石中有用的金属溶解后再从溶液中回收有价金属的一种工艺,因为其过程大都是在水溶液中进行,所以又被称为“水法冶金”。 01 湿法冶金工艺特点及工艺流程 湿法冶金作为解决我国金属矿产资…

深度赋能产业数字化转型,蚂蚁集团数字化三件套亮相中国国际金融展

“十四五”规划纲要指出:加快推动数字产业化,推进产业数字化转型,实施“上云用数赋智”行动,推动数据赋能全产业链协同转型。明确提出了通过科技创新,加快产业数字化转型的要求。 4月25日,以“荟萃金融科技…

mybatisPlus·入门·贰

文章目录 1 简单CRUD接口1.1 根据id查询({id传参)1.1.1 接口类直接继承IService1.1.2 controller直接调用方法 1.2 根据ids查询1.3 新增1.3.1 接口类直接继承IService1.3.2 controller直接调用方法 1.4 修改状态(Query传参)1.4.1 …

新版Fluent默认保存的h5文件无法用Tecplot打开的解决办法(亲试有效,评论区是重点)

文章目录 Ansys Fluent简介Fluent 输入/出 文件格式新版Fluent的输出压缩文件(.cas.h5文件)解决办法 Ansys Fluent简介 Ansys Fluent ,是国际上比较流行的商用CFD软件包,在美国的市场占有率为60%,凡是和流体、热传递和…

NetXpert XG2帮您解决“布线安装与维护”难题

在传输大量数据时,光纤变得越来越重要,而铜缆在未来也将继续发挥重要作用,因此我们不仅要比较两种类型布线的优缺点,还要探究光纤传输中的错误来源。 测试光缆传输损耗的准确性对于故障排除至关重要,特别是在光纤情况下…

后台-husky提交代码规范使用

husky是一个git hook工具,可以帮助我们触发git提交的各个阶段:pre-commit、commit-msg、pre-push 1.如何使用husky呢? npx husky-init && npm installWindows安装不成功试试npx husky-init && npm install 2.git commit规范…

Java学习笔记-01

目录 jdk安装及环境配置 java前置知识 编写一个HelloWorld 常量 数据类型 变量 类型转换 算数运算符 一元运算符( --) 关系运算符 逻辑运算符(与或非,逻辑异或) 三元(三目)运算符 Scanner类的简单使用 jdk安装及环境配置 看到的一篇文章,…