Language Models are Few-Shot Learners,GPT-3详细讲解

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

GPT的训练范式:预训练+Fine-Tuning
GPT2的训练范式:预训练+Prompt predict (zero-shot learning)
GPT3的训练范式:预训练+Prompt predict (few-shot learning)

GPT2的性能太差,新意高,但有效性低 -> GPT3
GPT-3的本质还是通过海量的参数学习海量的数据,然后依赖transformer强大的拟合能力使得模型能够收敛。

1.GPT-3结构

在这里插入图片描述
在Transformer的各层中交替使用密集注意力(dense attention)与局部带状稀疏注意力模式(locally banded sparse attention patterns),类似于稀疏Transformer(Sparse Transformer)。

Sparse Transforme允许我们处理更长更稀疏的输入序列。Sparse Transformer是一种旨在处理高维、稀疏和长序列数据的Transformer拓展版,由OpenAI团队在2019年提出。相比于传统的Transformer架构,Sparse Transformer通过在自注意力机制中引入稀疏性,减少了网络中计算的数量,从而可以处理更长的序列数据。在处理高维、稀疏数据时,Sparse Transformer可以避免对所有输入的位置进行计算,只计算与当前位置相关的位置,从而提高了计算效率。

2.评估方法
人看两三个例子就可以学会一件事了,给预训练好的语言模型一点样本,不finetune,语言模型就可以迅速学会下游的任务,相当于举几个例子告诉模型。

In-context learning (上下文学习) 一种新的范式,在不进行参数更新的情况下,只做预测,只在输入中加入示例就能让模型进行学习。给定几个任务示例和一个任务说明,模型通过理解任务本身对任务中的实例进行补全。
1、Few Shot Learning(FS):用自然语言告诉模型任务;对每个子任务,提供10~100个训练样本。
2、One-shot Learning(1S):用自然语言告诉模型任务,而后只给该任务提供1个样本。
3、Zero-shot learning(0S):用自然语言告诉模型任务,但一个样本都不给。

GPT3中的few-shot learning,只是在预测时候给几个例子,并不微调网络。
GPT-2用zero-shot去讲了multi-task Learning的故事
GPT-3使用meta-learning和in-context learning去讲故事
meta-learning元学习的核心思想在于通过少量的数据寻找一个合适的初始化范围,使得模型能够在有限的数据集上快速拟合,并获得不错的效果。

评估设置:
(1)随着few shot输入的上下文例子数量的增加,不同模型参数下的acc变化
在这里插入图片描述
(2)随着模型参数的增加,zero shot、one shot、few shot下的acc变化
在这里插入图片描述3.训练数据
3.训练数据
训练中从给定数据集中提取的样例的比例。在训练过程中,采样的频次和数据集大小无关,而和数据集的重要程度相关。
在这里插入图片描述
数据处理方式
A.高质量参考语料库的相似度对CommonCrawl进行过滤
高质量的语料库例如WebText, Wikiedia, and web books corpus 作为正样例,将Common Crawl作为负样例训练了一个分类器,然后用这个分类器对原始Common Crawl中的样例进行打分,筛选出高质量的样例。
B. 对训练语料去重:在数据集内部和跨数据集之间执行模糊文档去重。基于MinHash算法计算文档相似度,并删除相似度高的文档。
C. 对训练语料中和测试集/验证集重叠的部分去重:清洗掉训练文档中与验证集和测试集中的样例有重叠的部分;
对于训练集中的文档如果和验证集以及测试集中的样例有13-gram的重叠,则删去该文档中重叠的13-gram以及周围的200个字节,并将该文档从该处分成片段,并删去小于200个字节的片段。对于片段数多于10的文档,则被整个删除。
D. 在训练数据中添加了几个高质量的数据集,包括WebText数据集的扩展版本,两个基于互联网的图书语料库(Books1和Books2)和英语Wikipedia。

4.GPT-3训练过程
在这里插入图片描述

1.GPT-3的batch size达到了320万,为什么要选择这么大的批大小呢?
(1)大模型相比于小模型更不容易过拟合,所以用更大的、噪音更少的Batch也不会带来太多负面影响;
(2)a.多台机器分布式并行计算,同数据量,batch size上去了,通讯量减少时间的优势>batch size增加导致梯度计算的时间复杂度增加量 b.减少梯度方差可以提高模型稳定性 c.工程经验

2.模型变大、batch size提升的时候,OpenAI选择的学习率反而下降了
模型参数量增加,高学习率可能导致优化过程不稳定(梯度爆炸等),降低学习率可以缓解。
batch size增大降低梯度估计的噪声(更接近真实梯度),但过高的学习率可能导致单步更新幅度过大,破坏模型的稳定性。
学习率下降核心逻辑:模型变大、batch size提升时,优先保障优化过程的稳定性和泛化性,而非单纯追求更新速度。这一权衡在大模型训练中尤其关键,因为训练成本极高,一旦优化失败代价巨大。

5.9大数据集任务
1.传统语言建模:完形填空与文本补全任务,预测特定词汇、完成句子/段落,或在多个文本补全选项中选择最佳答案。
2.闭卷问答(closed book QA)任务,要求模型利用参数中存储的知识回答通用领域问题;
3.语言翻译能力评估(重点关注单样本与少样本场景);
4.类Winograd Schema任务的表现测试;
5.涉及常识推理或问答的数据集;
6.阅读理解任务;
7.SuperGLUE基准测试套件;
8.自然语言推理(NLI)的初步探索;
9.专门设计的情境学习能力探针任务,重点测试即时推理、动态适应与开放式文本生成能力

6.实验结论
1.GPT-3生成能力较强,生成能力随着给出的样例数和模型的参数量而增加,生成的长新闻可以以假乱真,有一定的代码生成能力;
2.事实知识储备比较充足,科学知识储备欠缺,不能正确地用该类知识进行推理;
3.将其它语言翻译成英语的能力较强,该能力随着模型大小和样例数而增加,将英语翻译成其它语言的能力弱;
4.常识推理和精细阅读理解能力较弱,原因可能是因为GPT-3是单向语言模型,不能对文档进行回顾,比较,精读等;
5.在大多数任务上,给出足够的样例,GPT-3的能力超过了fine-tune后的主流模型的能力;
6.具有一些自主学习能力,能够简单处理没有见过的任务和识别一些简单的模式;
7.总的来说GPT-3知识储备多,生成能力强,已经能够理解人类语言并具有自主学习能力;

7.GPT-3模型的局限性 Limitations

In-Context Learning上下文学习,这个模存在缺陷:
(1)GPT-3的输入窗口长度是有限的,不可能无限的堆叠example的数量,即有限的输入窗口限制了我们利用海量数据的能力。
(2)每次做一次新的预测,模型都要从输入的中间抓取有用的信息;可是做不到把从上一个输入中抓取到的信息存起来,存在模型中,用到下一次输入里。

GPT-3模型的局限性 Limitations
1.长文本生成能力还是很弱,2048输入
2.基于物理等世界尝试的逻辑推理能力可能还不够。
3.很难摆脱数据集的分布情况,对于一些明显不在这个分布或者和这个分布有冲突的任务来说,GPT-3还是无能为力
4.每次做一次新的预测,模型都要从输入的中间抓取有用的信息;可是做不到把从上一个输入中抓取到的信息存起来,存在模型中,用到下一次输入里
这就是GPT-3明明早在2020年5月就已经用巨大参数取得了很好的效果,但是学术界用Few-shot做上下文学习的热度好像还是不那么高的原因
5.可能会输出有害的、有偏见的内容,和人类的价值观或者社会主义核心价值观不对齐

8.GPT-3这篇论文在预训练时代的意义是什么?
1.改变人机交互方式。以程序开发为例,在未来开发人员只需要定义需求,而AI将自动帮助开发人员完成编程,测试,部署等功能,整个开发周期大大缩短;
2.让AI像人类一样学习和思考;
3.随着计算能力变得愈发廉价,大模型越来越接近一个超级大脑,帮助人类完成各项任务。
4.改变了传统的预训练加微调的范式,转向训练大规模通用模型。引领了大规模语言模型的时代。

9.GPT-3是怎么进化成ChatGPT的
在这里插入图片描述

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

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

相关文章

数据结构--图的基本操作

知识总览: 一、图的基本操作 1.Adjacent(G,x,y),判断图G是否有边---对于有向图和无向图来说,邻间接矩阵的时复杂度更低。 邻接矩阵时间复杂度 O(1) 邻接表时间复杂度 O(1)~~O(v) 2.Neighbors(G,x):判断图G与结点x邻接的边.---邻间接矩…

Unity中解锁图片像素点,动态闭合轨迹检测

Unity中解锁图片像素点,动态闭合轨迹检测 介绍资源下载搭建总结 介绍 因为最近在研究Mane天蚕变的游戏完整逻辑,研究了两套方案做解锁图片的功能,这里我先讲一下我的这个图片像素点的方案解锁图片,这个逻辑其实很简单就是利用划线…

buu-ciscn_2019_ne_5-好久不见50

1. 背景分析 目标程序是一个存在漏洞的二进制文件,我们可以通过以下方式利用漏洞获取 shell: 程序中存在 system() 函数,但没有明显的 /bin/sh 字符串。 使用工具(如 ROPgadget)发现程序中有 sh 字符串,可…

图论part4|827. 最大人工岛、127. 单词接龙、463. 岛屿的周长

827. 最大人工岛 🔗:827. 最大人工岛 - 力扣(LeetCode)827. 最大人工岛 - 给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。返回执行此操作后,grid 中最大的岛屿面积是多少?岛屿 由一…

SpeechCraf论文学习

Abstract 核心问题 挑战 语音风格包含细微的多样化信息(如情感、语调、节奏),传统基于标签/模板的标注方法难以充分捕捉,制约了语音-语言多模态模型的性能。 数据瓶颈: 大规模数据收集与高质量标注之间存在矛盾&…

SAIL-RK3576核心板应用方案——无人机视觉定位与地面无人设备通信控制方案

本方案以 EFISH-RK3576-SBC工控板 或 SAIL-RK3576核心板 为核心,结合高精度视觉定位、实时通信与智能控制技术,实现无人机与地面无人设备的协同作业。方案适用于物流巡检、农业植保、应急救援等场景,具备高精度定位、低延迟通信与强环境适应性…

PostgreSQL的学习心得和知识总结(一百七十一)|深入理解PostgreSQL数据库之 外连接消除 的使用和实现

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

C语言实现括号匹配检查及栈的应用详解

目录 栈数据结构简介 C语言实现栈 栈的初始化 栈的销毁 栈的插入 栈的删除 栈的判空 获取栈顶数据 利用栈实现括号匹配检查 总结 在编程中,经常会遇到需要检查括号是否匹配的问题,比如在编译器中检查代码的语法正确性,或者在…

【机器学习chp12】半监督学习(自我训练+协同训练多视角学习+生成模型+半监督SVM+基于图的半监督算法+半监督聚类)

目录 一、半监督学习简介 1、半监督学习的定义和基本思想 2、归纳学习 和 直推学习 (1)归纳学习 (2)直推学习 3、半监督学习的作用与优势 4、半监督学习的关键假设 5、半监督学习的应用 6、半监督学习的常见方法 7、半…

2024 年第四届高校大数据挑战赛-赛题 A:岩石的自动鉴定

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

基于WebRTC与P2P技术,嵌入式视频通话EasyRTC实现智能硬件音视频交互,适配Linux、ARM、RTOS、LiteOS

EasyRTC不仅仅是一个连接工具,更是一个经过深度优化的通信桥梁。它在嵌入式设备上进行了特殊优化,通过轻量级SDK设计、内存和存储优化以及硬件加速支持,解决了传统WebRTC在嵌入式设备上的适配难题,显著节省了嵌入式设备的资源。 1…

[c语言日寄]字符串进阶:KMP算法

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…

Android源码学习之Overlay

在 Android Framework 开发中,Overlay 主要用于修改和替换系统或应用的资源,而无需直接修改源码,与源码解耦。Overlay 机制可以分为 两种类型: 静态 Overlay(Static Resource Overlay, SRO) 在 编译时 覆…

【MySQL】基本操作 —— DDL

目录 DDLDDL 常用操作对数据库的常用操作查看所有数据库创建数据库切换、显示当前数据库删除数据库修改数据库编码 对表的常用操作创建表数据类型数值类型日期和时间类型字符串类型 查看当前数据库所有表查看指定表的创建语句查看指定表结构删除表 对表结构的常用操作给表添加字…

网络安全需要学多久才能入门?

网络安全是一个复杂且不断发展的领域,想要入行该领域,我们需要付出足够多的时间和精力好好学习相关知识,才可以获得一份不错的工作,那么网络安全需要学多久才能入门?我们通过这篇文章来了解一下。 学习网络安全的入门时间因个人的…

【测试语言基础篇】Python基础之List列表

一、Python 列表(List) 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。序列都可…

编译系统设计原理概述

目录 简介 词法分析 正则表达式 有穷状态自动机 从正则表达式到有穷自动机的转换 单词识别 简介 主要介绍编译系统设计过程中涉及的原理与技术,主要分为前端设计和后端设计两 个模块。前端部分包括词法分析器、语法分析器的构建和语义分析过程的设计…

ArcGIS Pro 车牌分区数据处理与地图制作全攻略

在大数据时代,地理信息系统(GIS)技术在各个领域都有着广泛的应用,而 ArcGIS Pro 作为一款功能强大的 GIS 软件,为数据处理和地图制作提供了丰富的工具和便捷的操作流程。 车牌数据作为一种重要的地理空间数据&#xf…

前端登录鉴权全解析:主流方案对比与实现指南

文章目录 一、常见登录鉴权方式概览1.1 主流方案对比1.2 技术特性对比 二、Session/Cookie方案2.1 实现原理2.2 代码实现2.3 优缺点分析 三、JWT方案3.1 实现原理3.2 代码实现3.3 优缺点分析 四、OAuth方案4.1 实现原理4.2 代码实现4.3 优缺点分析 五、SSO方案5.1 实现原理5.2 …

算法系列之回溯算法求解数独及所有可能解

有没有对数独感兴趣的朋友呢?数独作为一款经典的逻辑游戏,其目标是在一个9x9的方格中填入数字1至9,确保每一行、每一列以及每一个3x3的子网格中都包含这些数字且不重复。尽管数独的规则看似简单,但编写一个能够自动求解数独的程序…