GPT状态和原理 - 解密OpenAI模型训练

目录

1 如何训练 GPT 助手

1.1 第一阶段 Pretraining 预训练

1.2 第二阶段:Supervised Finetuning有监督微调

1.3 第三阶段 Reward Modeling 奖励建模

1.4 第四阶段 Reinforcement Learning 强化学习

1.5 总结

2 第二部分:如何有效的应用在您的应用程序

2.1 一些技巧可以提升GPT的表现

2.1.1 如果任务需要推理,不能指望 transformer 对每个标记进行太多推理,必须将推理分散到越来越多的标记上。

2.1.2 可以问它:“你完成任务了吗”,来推动它进行检查。

参考文献:


【精校版】Andrej Karpathy微软Build大会精彩演讲: GPT状态和原理 - 解密OpenAI模型训练_哔哩哔哩_bilibili

在B站上看的一个视频,简单记一下笔记。 

1 如何训练 GPT 助手

训练过程分为4个阶段,其中第一个阶段属于 PreTrain,而后面3个阶段属于微调 FineTune。,在FineTune的3个阶段(Supervised FineTuning + Reward Modeling + Reinforcement Learning),模型按SFT->RM->RL的方向进化

1.1 第一阶段 Pretraining 预训练

所有计算工作基本发生的地方,是训练计算时间的 99%。

在实际训练数据之前,还需要经过一个预处理步骤即标记化

1.2 第二阶段:Supervised Finetuning有监督微调

个人理解:这个地方我的理解是,其实GPT并不是一个问答模型,它本质上还是用来预测文档的下文的,只不过我们把训练数据的文档里面写了一些问题和答案,然后这样GPT预测文档下文时就相当于是回答了我们的问题。

基础模型不是助手,他们不想回答你的问题,他们只是想完成文件,

在有监督的微调阶段,我们将收集少量但高质量的数据集。在这种情况下,将要求人工承包商收集及时和理想响应形式的数据,将收集很多,通常是上万个。

1.3 第三阶段 Reward Modeling 奖励建模

进入 RLHF,从人类反馈中强化学习,包括奖励建模和强化学习。在奖励建模中,是将数据收集转变为比较形式

transformer 会根据prompt的完成程度预测一些奖励,所以它对每个完成的质量进行了猜测。我们将其制定为损失函数,并训练模型做出与来自所有承包商比较的基本事实一致的奖励预测,这使我们能够对提示的完成程度进行评分

奖励模型本身作为助手不是很有用,但是对于下面的强化学习阶段非常有用。因为有了奖励模型,所以可以对任何给定提示的任意完成的质量进行评分

1.4 第四阶段 Reinforcement Learning 强化学习

针对奖励模型进行强化学习

1.5 总结

基础模型有很多熵 

伯克利的一个团队做的排名:

2 第二部分:如何有效的应用在您的应用程序

人在写作的时候,有一个独立的过程,几乎是在检查正在写的东西,并判断它是否好,然后也许删除了,也许重新构造,也许对结果感到满意,有很多的内心独白。

但是,在训练 GPT 的时候,这样的句子是什么样的?

从 GPT 的角度,只是一个标记序列(tokens)。当GPT在接收到一个输入,比如你给出的主题。它会生成一段与输入相关的文本,GPT的目标是预测下一个词,所以它会连续生成一串词,形成一段连贯的文本。

他们不知道他们不知道什么,不知道自己擅长什么、不擅长什么,不检查任何东西。它不会纠正自己的错误,它只是产生抽样的标记序列

他们的头脑中没有单独的内心独白流,他们正在评估正在发生的事情。但他们确实有认知优势,拥有大量基于事实的知识涵盖大量领域。

prompt 只是弥补了这两种架构之间的认知差异。

2.1 一些技巧可以提升GPT的表现

2.1.1 如果任务需要推理,不能指望 transformer 对每个标记进行太多推理,必须将推理分散到越来越多的标记上。

设定步骤来引导GPT展示其工作过程(Chain of Though)

此外可以通过说“let's think step by step”,使得transformer 有点像展示它的工作

2.1.2 可以问它:“你完成任务了吗”,来推动它进行检查。

人类的工作里,可以开始写,没有成功,可以再试一次;多次尝试,选择一个最好的

而 transformer遇到死胡同则会继续走下去,即使他们知道会失败

参考文献:

【精校版】Andrej Karpathy微软Build大会精彩演讲: GPT状态和原理 - 解密OpenAI模型训练_哔哩哔哩_bilibili

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

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

相关文章

原生实现ajax

1 什么是ajax AJAX Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网…

unity学习(85)——同步节奏(tcp架构确实有问题)

挂的时间长了,就出现其他下线本地不destroy的情况了,而且此时再登录,新渲染中已经没有已经下线的玩家 unity这边就没有收到126!!!125的问题是多种多样的!!! 化简服务器w…

设计循环队列(队列oj)

1.设计循环队列 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。…

【笔记】vscode debug进入site-packages包源码

选择左侧栏第三个图标,点击创建 launch.json 文件 选择 Python Debugger 选择Python文件 这里可以看到launch.json 文件 在configurations中添加键值对 "justMyCode": false在文件中打上断点,点击"三角符"号开始调试 按F11或者红框…

reportlab 生成pdf文件 (python)

1 安装 pip install reportlab2 应用场景 通过网页动态生成PDF文档大量的报告和数据发布用XML一步生成PDF 官网案例 3 PLATYPUS Platypus是“Page Layout and Typography Using Scripts”,是使用脚本的页面布局和印刷术的缩写,这是一个高层次页面布局…

【面试题】MySQL 事务的四大特性说一下?

事务是一个或多个 SQL 语句组成的一个执行单元,这些 SQL 语句要么全部执行成功,要么全部不执行,不会出现部分执行的情况。事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 事务的主要作用是保证数…

记一次kafkakerberos认证问题

1,报错信息 排查思路:检查kerberos配置文件 kerberos.kafka.principalkafka/huawe_baseSECURITY.COM kerberos.kafka.keytabPath/etc/huawe_base.keytab kerberos.kafka.krb5ConfPath/etc/krb5.conf但是查看kafka_client_jass.conf文件,发现…

网络基础-TCP/IP和OSI协议模型

一、OSI和TCP/IP模型 二、OSI七层模型 三、TCP/IP模型 参考:https://www.cnblogs.com/f-ck-need-u/p/7623252.html

关联规则挖掘(二)

目录 三、FP-增长算法(一)算法的背景(二)构造FP-树(三)生成频繁项集 四、关联规则的评价(一)支持度和置信度的不足(二)相关性分析 三、FP-增长算法 &#xf…

.NET 发布,部署和运行应用程序

.NET应用发布 发布.Net应用有很多种方式,下面列举三种发布方式: 单文件发布跨平台发布Docker发布 单文件发布 右键工程,选择“发布”,部署模式选择“独立”,目标运行时选择自己想要部署到的系统,我这里用…

问题:react函数中的state是上一次的值

场景 有一个聊天输入框组件,输入框上面有表情包组件。 通过redux创建了store,存储一个message的状态,用于表情包和输入框共享状态。 输入框通过设置value和onClick做了一个简单双向绑定,其中value的值为store里的message。 impor…

【Java框架】Spring框架(三)——Spring整合Mybatis及Spring声明式事务

目录 回顾Mybatis和新对象思路整理 Spring和MyBatis的整合步骤1. 创建Web工程,导入Spring和MyBatis的相关依赖2. 建立开发目录结构,创建实体类3. 创建数据访问接口和SQL映射语句文件4. 使用Spring配置文件配置数据源4.1 database.properties4.2spring配置…

全国产化无风扇嵌入式车载电脑在救护车远端诊断的行业应用

救护车远端诊断的行业应用 背景介绍 更加快速的为急症病人在第一时间开始进行诊断和治疗,是提高病人救助成功率的关键。因此,先进的救护系统正在思考,如何在病人进入救护车之后,立刻能够将救护车中各种检查仪器的信息快速的传回医院&#xf…

aws云靶场和一些杂记

aws靶场 在AWS靶场中,存在三个安全问题:1) 一个S3存储桶政策配置错误,允许公共访问,通过访问特定域名可获取flag。2) SQS消息队列的政策没有限制角色,允许发送和接收消息,通过aws sqs命令行工具的receive-…

JS-42-Node.js01-Node.js介绍

一、浏览器大战 众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准。 后来,微软通过IE击败了Netscape后一统桌面,结果几年时间,浏览器毫无进步。(2001年推出…

C++面向对象程序设计-北京大学-郭炜【课程笔记(七)】

C面向对象程序设计-北京大学-郭炜【课程笔记(七)】 1、类型转换运算符2、自增、自减运算符的重载3、继承和派生的基本概念3.1、基本概念3.2、派生类对象的内存空间 4、继承关系和复合关系4.1、继承关系的使用4.2、复合关系的使用 5、派生类覆盖基类成员6…

《论文阅读》基于情感原因感知的共情对话生成模型 2023 AAAI

《论文阅读》基于情感原因感知的共情对话生成模型 2023 AAAI 前言简介模型构架情绪推理器回复生成器实验结果前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《The Empathic Dialogue Generation Model…

npm ERR! code CERT_HAS_EXPIRED (创建vue过程)

npm ERR! code CERT_HAS_EXPIRED (创建vue过程) 起因:卸载 npm uninstall -g vue-cli时候发现报这个错误。 当我们创建vue之前,使用npm更新或者安装啥的时,出现此类提示,则表明,用来验证和网络加…

java读取Excel表格数据

java读取Excel表格数据 环境说明项目结构1.controller层2.service层实现层StudentModel.java类 使用的Maven依赖效果示例一效果示例二文档截图第一页第二页 postman请求说明其他说明 环境说明 jdk1.8,springboot2.5.3 项目结构 1.controller层 package com.exam…

Taro-vue微信小程序用户隐私保护

Taro-vue微信小程序用户隐私保护 一、在 微信公众平台的【设置】- 【服务内容与声明】 ,设置用户隐私保护指引,添加项目需要的接口权限。 【用户隐私保护指引】提交之后,官方会进行审核。审核通过之后,对应的接口权限才会生效。 …