GPT系列:GPT, GPT-2, GPT-3精简总结 (模型结构+训练范式+实验)

news2024/11/16 3:22:18

😄 花一个小时快速跟着 人生导师-李沐 过了一遍GPT, GPT-2, GPT-3。下面精简地总结了GPT系列的模型结构+训练范式+实验。

文章目录

  • 1、GPT
    • 1.1、模型结构:
    • 1.2、范式:预训练 + finetune
    • 1.3、实验部分:
  • 2、GPT-2
    • 2.1、模型结构
    • 2.2、范式:预训练 + zero-shot
      • zero-shot, one-shot, few-shot的区别:
    • 2.3、实验
  • 3、GPT-3
    • 3.1、模型结构:
    • 3.2、范式:预训练 + few-shot
    • 3.3、实验
    • 3.4、GPT-3局限性

1、GPT

论文:《Improving Language Understanding by Generative Pre-Training》, OpenAI

1.1、模型结构:

  • GPT基于transformer的decoder结构。

1.2、范式:预训练 + finetune

也是自监督预训练 (语言模型)+微调的范式。

  • 预训练:用的是标准的语言模型的目标函数,即似然函数,根据前k个词预测下一个词的概率。
  • 微调:用的是完整的输入序列+标签。目标函数=有监督的目标函数+λ*无监督的目标函数。
  • 改变输入形式,接上对应下游任务的层,就可实现不同下游任务。
    在这里插入图片描述

1.3、实验部分:

  • 使用BookCorpus数据集训练,包括7000篇未发表的书
  • 模型使用12层trm的解码器,每层维度768

2、GPT-2

《Language Models are Unsupervised Multitask Learners》, OpenAI

2.1、模型结构

  • GPT-2也是基于transformer的decoder结构。

2.2、范式:预训练 + zero-shot

  • GPT-2可以在zero-shot设定下实现下游任务,即不需要用有标签的数据再微调训练。
  • 为实现zero-shot,下游任务的输入就不能像GPT那样在构造输入时加入开始、中间和结束的特殊字符,这些是模型在预训练时没有见过的,而是应该和预训练模型看到的文本一样,更像一个自然语言。
  • 可以通过做prompt模版的方式来zero-shot。例如机器翻译和阅读理解,可以把输入构造成,“请将下面的一段英语翻译成法语,英语,法语”。

zero-shot, one-shot, few-shot的区别:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.3、实验

  • 数据从Reddit中爬取出来的优质文档,共800万个文档,40GB。
  • GPT-2参数量1.5B,15亿。
  • 模型越大,效果越好。
  • 所以考虑用更多的数据,做更大的模型,于是GPT-3应运而生。

3、GPT-3

《Language Models are Few-Shot Learners》, OpenAI

  • GPT-2虽然提出zero-shot,比bert有新意,但是有效性方面不佳。GPT-3考虑few-shot,用少量文本提升有效性。
  • 总结:GPT-3大力出奇迹!

3.1、模型结构:

  • GPT基于transformer的decoder结构。
  • GPT-3模型和GPT-2一样,GPT-2和GPT-1区别是初始化改变了,使用pre-normalization,以及可反转的词元。GPT-3应用了Sparse Transformer中的结构。提出了8种大小的模型。

3.2、范式:预训练 + few-shot

论文尝试了如下方案,评估方法:few-shot learning(10-100个小样本);one-shot learning(1个样本);zero-shot(0个样本);其中few-shot效果最佳。

  • fine-tuning:预训练 + 训练样本计算loss更新梯度,然后预测。会更新模型参数
  • zero-shot:预训练 + task description + prompt,直接预测。不更新模型参数
  • one-shot:预训练 + task description + example + prompt,预测。不更新模型参数
  • few-shot:预训练 + task description + examples + prompt,预测。不更新模型参数

3.3、实验

  • GPT-3参数量1750亿。
  • 爬取一部分低质量的Common Crawl作为负例,高质量的Reddit作为正例,用逻辑回归做二分类,判断质量好坏。接下来用分类器对所有Common Crawl进行预测,过滤掉负类的数据,留下正类的数据;去重,利用LSH算法,用于判断两个集合的相似度,经常用于信息检索;
  • 加入之前gpt,gpt-2,bert中使用的高质量的数据

3.4、GPT-3局限性

  • 生成长文本依旧困难,比如写小说,可能还是会重复;
  • 语言模型只能看到前面的信息;
  • 语言模型只是根据前面的词均匀预测下一个词,而不知道前面哪个词权重大;
  • 只有文本信息,缺乏多模态;
  • 样本有效性不够;
  • 模型是从头开始学习到了知识,还是只是记住了一些相似任务,这一点不明确;
  • 可解释性弱,模型是怎么决策的,其中哪些权重起到决定作用?
  • 负面影响:可能会生成假新闻;可能有一定的性别、地区及种族歧视

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

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

相关文章

C语言运算符(左值右值,基本运算符)

一.数据对象,左值,右值,运算符 数据对象:用于存储值的数据存储区域统称,而使用变量名是标识对象的一种方法(还有指针,后面会教的) 左值:用于标识特定数据对象的名称或表…

图的总复习

一、图的定义Graph 图是由顶点vertex集合及顶点间关系集合组成的一种数据结构: 顶点的集合 和 边的集合 二、无向图 用(x,y)表示两个顶点x和y之间的一条边(edge) 边是无方向的 N{V,E},V{0…

【学习总结】2023寒假总结

写在前面时光匆匆,白驹过隙,转眼间寒假就过去了,这次寒假可以算的上是最长的一次假期,经历了从疫情到放开,从患病到阳康,在现实与虚幻的世界中玩耍,在痛苦的数据结构中徘徊,在每次早…

FFMPEG自学一 音视频解封装

一、音视频包含哪些数据对于一个mp4文件我们可以通过音视频分析软件打开查看内部信息。从两图可以看出mp4文件一般包含 音频流 视频流等。对于上面的字段大致分析如下Format编码方式AVC现在大部分视频都是这种编码方式,即H264。CodecId编码器idavc1H264封装有2种格式…

(二)随处可见的LED广告屏是怎么工作的呢?代码实现

书接上回,上一篇中我们聊到了LED点阵屏的工作原理和一些电气参数。本篇以第一篇为基础,对软件层面进行展开,同时也为下一篇接入GUI做铺垫。文章较第一篇有所增长,大概需要5~7分钟可以看完。【目标】能够随心所欲的显示我们想要的图…

OpenWrt之IPv6设置详解

文章目录前言网络结构1. WAN口设置2. LAN口设置3. NAT6配置4. 接口状态5. 网站测试6. 关于端口放行后话前言 最近电信终于肯下发v6的地址了, 得为路由器配置一下了, 之前一直是处于关闭的状态, 今天重新设置回去. 从此有了v4与v6双公网地址. 网络结构 光猫设置为桥接路由器设…

金三银四必看的软件测试面试题宝典,背完offer随便拿

怎么来设计测试方案根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。 被测试的特性:通过对需求规格说明书进行…

【软件测试】一位转型测试开发成功,工作两年测开岗的经验总结......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 小伍: 在…

win10电脑性能优化设置

win10电脑性能优化设置 目录win10电脑性能优化设置1.桌面图标显示2.wini2.1 “系统”2.1.1专注助手 关2.1.2 电源和睡眠 设置为从不2.1.3 存储 开2.2 网络和Internet2.3 个性化2.4 应用2.5 账户2.6 游戏2.7 隐私墨迹书写和键入个性化:关活动历史记录:全部…

怎么样用香港主机搭建游戏网站

香港是全球主要的互联网骨干节点,拥有质量较高的网络基础设施,在网络速度和稳定性方面表现良好。因此,使用香港主机搭建游戏网站可以使用户在游戏中的体验流畅且基本不会延迟情况。本文将向用户解释如何使用香港主机搭建游戏网站。在搭建游戏…

python gui构造openai api可视化页面

背景:最近chatgpt很火,前几天也想注册体验一下,一顿操作之后,卡在该国家不支持。最后发现自己的代理开在香港,改在漂亮国就行了。虽然有chatgpt可以用,但是小平是自己封装了一个,我不能输。正好…

基于Spring Boot开发的社区物业管理系统

文章目录项目介绍主要功能截图:登录车位收费管理物业收费管理投诉信息管理车位管理保修统计分析部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料…

使用Nginx解决跨域问题

目录 使用Nginx解决跨域问题 1、修改浏览器、客户端访问地址 2、在nginx.conf配置文件需配置server 3、在Nginx中配置客户端访问的接口(按照规则或通配),并设置被代理的服务器 4、在Nginx中统一配置客户端访问的头部信息(解决…

Power BI 常见数据导入错误(查询超时、找不到文件、数据类型错误、找不到表格)

本系列的文章: 《Power BI windows下载安装流程)》《Power BI 11个必学官方示例数据案例(附下载链接)》《Power BI 数据导入(SQL Server、MySQL、网页数据)》《Power BI 存储模式介绍(导入、Di…

C#将非模态窗体置顶显示方法

Winform 窗口有一个属性:TopMost,表示该窗体是否始终显示在此属性未设置为 true 的所有其他窗体之上;我的理解就是,如果一个 Winform 项目有多个窗体,其中有一个窗体的 TopMost 属性设为 true 了,而其他窗体…

Spring 中,有两个 id 相同的 bean,会报错吗

我们知道,spring容器里面的bean默认是单例的,所以id是唯一的。但是需要注意,同一类型的bean可以有不同的id,比如有id1->bean,也可以有id2->bean。 下面再来详细回答一下文章的问题。 首先,在同一个…

汽车DTC故障内码与标准故障码的解析与转换

目录 一、故障内码与标准故障码的解析 (1)故障内码的信息格式与解析 (2)故障内码中DTC状态的解析 (3)故障内码与标准故障码之间的对应关系 二、故障内码与标准故障码的转换代码 一、故障内码与标准故障…

数字化项目管理如何推动项目快速上市?【洞见6】

AIGC时代的到来,标志着互联网从信息化的轻工业时代正式进入了互联网数字化的重工业时代。随之迎来的是人工智能技术的广泛引用,如何在项目管理中应用也是一个挑战,因为的项目本身的特点就是变化、复杂。笔者在为了进行突破,开始不…

vue父子组件传值不能实时更新

最近做项目,遇到个大坑,这会爬出来了,写个总结,避免下次掉坑。 vue父子组件传值不能实时更新问题,父组件将值传给了子组件,但子组件显示的值还是原来的初始值,并没有实时更新,为什么…

基于TCP协议的文件传输系统

最简单的一对一的服务端网络端通信(socket) Socket(IP地址:端口号),例如:如果IP地址是210.37.145.1,而端口号是23,那么得到套接字就是(210.37.145.1:23) socket可以理解成计算机提供给程序员的接…