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

news2024/11/28 14:52:39

目录

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.coloradmin.cn/o/1603534.html

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

相关文章

中文编程入门(Lua5.4.6中文版)第十二章 Lua 协程 参考《愿神》游戏

在《愿神》的提瓦特大陆上,每一位冒险者都拥有自己的独特力量——“神之眼”,他们借助元素之力探索广袤的世界,解决谜题,战胜敌人。而在提瓦特的科技树中,存在着一项名为“协同程序”的高级秘术,它使冒险者…

Go 语言中的 GIF 图像处理完全指南:`image/gif`的技术与实践

Go 语言中的 GIF 图像处理完全指南:image/gif的技术与实践 概述安装与基础设置导入 image/gif 包初步配置示例:设置一个简单的 GIF 编码环境 读取与解码 GIF 图像读取 GIF 文件解析 GIF 数据 创建与编码 GIF 图像创建 GIF 图像编码 GIF 图像 处理 GIF 动…

利用 Python 开发手机 App 实战

Python语言虽然很万能,但用它来开发app还是显得有点不对路,因此用Python开发的app应当是作为编码练习、或者自娱自乐所用,加上目前这方面的模块还不是特别成熟,bug比较多,总而言之,劝君莫轻入。 准备工作 …

BGP边界网关路由实验(华为)

一,技术简介 BGP(边界网关路由协议)是一种自治系统(AS)间的协议,主要用于在不同的AS之间交换路由信息。AS是一个由一组网络设备和路由器组成的网络集合,这些设备可以在一个共同的管理域中协同工…

通过本机电脑远程访问路由器loopback的ip

实验拓扑图 本机电脑增加路由信息 正常设置telnet用户,然后通过本地电脑telnet 软件ensp中的设备,尝试是否可以正常访问即可 测试通过本地电脑可以正常访问ensp里面设备的loopback的ip地址了 最重要的一点是本机需要增加一条路由route add ip mask 下…

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

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

GIT上超火的阿里内部1000页Java核心笔记,啃完竟然拿到阿里P7offer!

除了ReetrantLock,你还接触过JUC中的哪些并发工具? 请谈谈ReadWriteLock 和StampedLock。 如何让Java的线程彼此同步?你了解过哪些同步器?请分别介绍下。 CyclicBarrier和CountDownLatch看起来很相似,请对比下呢&am…

分布式限流——Redis + Lua脚本实现令牌桶算法

主要思路概括如下: 定义数据结构: 使用Redis存储令牌桶的状态,包括当前令牌数(KEYS[1])和上一次令牌填充的时间戳(KEYS[1]:last)。 计算新增令牌: 获取当前系统时间与上次令牌填充时…

type-cDP输入转双type-cDP输出,加type-c接口充电管理同时接两台显示器或者VR投屏,龙迅LT8712SX方案,龙迅桥接芯片方案

type-c的应用在各种设备上更加广泛,包括手机,电脑,游戏掌机, 因为type-c的功能非常强大,可以做到PD快充,DP信号输出,USB信号输出,所以很多设备为了做得更简洁都开始把其他的如HDMI接…

Docker应用推荐个人服务器实用有趣的项目推荐

Wallabag:是一个开源的、自托管的文章阅读和保存工具。它允许你保存网页文章并进行离线阅读,去除广告和不必要的内容,以提供更好的阅读体验。Wallabag支持多种导入和导出格式,并提供了一些实用的功能,如标签、阅读列表…

小程序如何优化搜索排名,获取曝光

在移动互联网时代,小程序以其便捷、轻量级的特点,逐渐成为用户获取服务的重要渠道。然而,小程序数量众多,如何让自己的小程序在搜索中脱颖而出,获取更多的曝光和流量,成为众多开发者关注的焦点。 一、理解…

Spring AI【人工智能】

Spring AI【人工智能】 前言版权推荐Spring AI官网介绍使用新建项目配置pom.xml配置application.properties创建Controller 测试 最后 前言 2024-4-11 10:58:44 昨天晚上睡觉刷B站看到一个视频 以下内容源自《【人工智能】》 仅供学习交流使用 版权 禁止其他平台发布时删除…

Word学习笔记之奇偶页的页眉与页码设置

1. 常用格式 在毕业论文中,往往有一下要求: 奇数页右下角显示、偶数页左下角显示奇数页眉为每章标题、偶数页眉为论文标题 2. 问题解决 2.1 前期准备 首先,不论时要求 1、还是要求 2,这里我们都要做一下设置: 鼠…

OpenCV从入门到精通实战(八)——基于dlib的人脸关键点定位

本文使用Python库dlib和OpenCV来实现面部特征点的检测和标注。 下面是代码的主要步骤和相关的代码片段: 步骤一:导入必要的库和设置参数 首先,代码导入了必要的Python库,并通过argparse设置了输入图像和面部标记预测器的参数。…

kafka安装配置及使用

kafka安装配置及使用 kafka概述 Kafka 是一个分布式流处理平台和消息队列系统,最初由 LinkedIn 公司开发并开源。它设计用于处理大规模的实时数据流,并具有高可扩展性、高吞吐量和持久性等特性。以下是 Kafka 的一些主要特点和用途: 分布式架…

Go诊断工具

Go 提供了一些出色的诊断工具,可帮助我们深入了解应用程序的执行情况。 1. 分析工具 分析工具可观测应用程序执行的各种指标。它使我们能够解决性能问题、检测争用、定位内存泄漏等。这些指标可以通过以下几个配置文件收集: CPU--确定应用程序将时间花在了哪里Goroutine--报…

盲人出行安全保障措施:科技赋能,赋予视障群体独立出行新可能

在社会的各个角落,我们常常能看到盲人朋友们坚韧而乐观地面对生活的挑战。然而,尽管他们内心充满力量,但日常出行中的种种困难却始终如影随形。如何有效提升盲人出行安全保障措施,让他们能更自由、更自信地融入社会生活&#xff0…

idea 将项目上传到gitee远程仓库具体操作

目录标题 一、新建仓库二、初始化项目三、addcommit四、配置远程仓库五、拉取远程仓库内容六、push代码到仓库 一、新建仓库 新建仓库教程 注意:远程仓库的初始文件不要与本地存在名字一样的文件,不然拉取会因为冲突而失败。可以把远程一样的初始文件删…

sql篇-内连接-左连接-右连接

内连接:表1 inner join 表2 on 条件 inner join join(简写) 查找:满足 匹配两个表条件的记录:student.s_id s.s_id(不匹配的记录不筛选) select * from student inner join score s on student.s_id s.s_id; 查询…

STM32 HAL库 利用CH376进行USB文件读写

STM32 其实可以进行读取USB文件,但仅限于F4以上芯片才可以进行SUB文件读写,但在项目开发中,往往用不到此芯片,那么只能通过外挂的USB芯片进行USB文件读写,本文则是采用STM32F103的SPI与CH376进行通信,通过CH376操作指令进行操作。 1、CH376介绍 CH376芯片 是沁恒的一款文…