当前位置: 首页 > article >正文

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的
在这里插入图片描述

相关文章:

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

GPT的训练范式:预训练Fine-Tuning GPT2的训练范式:预训练Prompt predict (zero-shot learning) GPT3的训练范式:预训练Prompt predict (few-shot learning) GPT2的性能太差,新意高&…...

鸿蒙编译框架@ohos/hvigor FileUtil用法

ohos/hvigor FileUtil用法 在鸿蒙(HarmonyOS)开发中,ohos/hvigor 的 FileUtil 是用于文件操作的实用工具类,提供了跨平台的文件读写、路径处理等常用方法。以下是其核心用法和示例: 一、核心方法说明 方法名功能描…...

Hoppscotch 开源API 开发工具

Hoppscotch 是一个开源的 API 开发工具,旨在为开发者提供一个轻量级、快速且功能丰富的 API 开发和调试平台。以下是对其主要特性和功能的详细介绍: 1. 轻量级与高效 Hoppscotch 采用简约的 UI 设计,注重易用性和高效性。它支持实时发送请求…...

Infura 简介

文章目录 Infura 简介Infura 的主要功能Infura 的替代方案(类似服务)AlchemyQuickNodeAnkrMoralisPocket Network 什么时候选择 Infura? Infura 简介 Infura 是一个 区块链基础设施即服务(BaaS, Blockchain as a Service&#xf…...

【芯片验证】面试题·对深度为60的数组进行复杂约束的技巧

朋友发给我的芯片验证笔试题,觉得很有意思,和大家分享一下。 面试题目 class A中一个长度为60的随机数组rand int arr[60],如何写约束使得: 1.每个元素的值都在(0,100]之间,且互不相等; 2.最少有三个元素满足勾股数要求,比如数组中包含3,4,5三个点; 请以解约束最快…...

Manus “Less structure,More intelligence ”独行云端处理器

根据市场调研机构Statista数据显示,全球的AR/AR的市场规模预计目前将达到2500亿美元,Manus作为VR手套领域的领军企业,足以颠覆你的认知。本篇文章将带你解读Manus产品,针对用户提出的种种问题,Manus又将如何解决且让使…...

【再读】R1-Onevision通过跨模态形式化为复杂多模态推理任务提供了系统性解决方案

R1-Onevision:跨模态形式化驱动的多模态推理技术突破,R1-Onevision通过跨模态形式化、双阶段训练和教育级基准测试,为多模态推理树立了新标杆。其技术创新不仅提升了模型在复杂任务中的表现,更重要的是为行业提供了一种可解释、可迁移的多模态处理范式。随着形式化方法的不断…...

Mysql-经典实战案例(3): pt-archiver 实现 MySQL 千万级大表分库分表(上)

零基础实战:使用 pt-archiver 实现 MySQL 千万级大表的水平分表(Hash分片) 本文适合人群:MySQL新手、想低成本实践数据库分表的开发者 环境要求:MySQL 5.7、Linux系统(建议CentOS/Ubuntu) 你将学…...

使用JSON存储数据的场景

Json 作为一种通用的数据格式,由于其结构灵活、可拓展等特点,在某些场景下我们也会直接将数据以 Json 格式存储到数据库中。 本文将探讨在开发中使用 JSON 存储数据的常见场景,并通过具体的实例帮助大家更好地理解其应用。 1. 半结构化数据…...

文生图网站推荐(2025.3)

以下是2024-2025年期间值得推荐的文生图网站,综合了免费性、中文友好度、操作便捷性及功能特色,涵盖不同用户需求: 一、国内主流平台 通义万相(阿里云) 特点:每日免费50次生成,模型和风格多样&a…...

网页制作代码html制作一个网页模板

制作一个简单而实用的网页模板:HTML基础入门 在数字时代,网页已成为信息展示和交流的重要平台。HTML(HyperText Markup Language)作为网页制作的基础语言,为开发者提供了构建网页的基本框架。本文将带你了解如何使用H…...

AI视觉测试工具实战评测:以Applitools为例的技术解析与行业应用

在数字化转型的浪潮中,软件界面(UI/UX)的复杂性与迭代速度呈指数级增长。传统的人工视觉测试不仅耗时费力,且难以应对多平台、多分辨率下的界面一致性问题。AI视觉测试工具的出现,通过智能图像识别与自动化对比&#x…...

SSM框架——Spring面试题

Spring常见面试题 Spring框架中的单例bean是线程安全的吗 不是线程安全的 Spring框架中有一个Scope注解,默认的值就是singleton,单例的。 因为一般在spring的bean的中都是注入无状态的对象,没有线程安全问题,如果在bean中定义了可…...

华为OD机试 - 计算观看演唱会场次(Java 2023 B卷 200分)

题目描述 为了庆祝中国共产党成立100周年,某公园将举行多场文艺表演。由于演出分布在不同的场地,一个人只能同时观看一场演出,且不能迟到早退。连续观看的演出之间最少需要有15分钟的时间间隔。小明是一个狂热的文艺迷,想观看尽可…...

云原生大佬重生,记忆逐步复苏(十三:selinux模块)

目录 1:什么是selinux 1.1 SELinux 的作用 1.2. SELinux 的工作原理 1.3. SELinux 的运行模式 2:解析selinux文件上下文标签策略 3:selinux的布尔值 4:调查和解决selinux问题 1:什么是selinux SELinux(Security-Enhanced L…...

Redis hyperloglog学习

背景知识 【伯努利试验】: 【伯努利试验】是一个概率论中的概念,指在相同的条件下重复进行n次独立的试验,每次试验只有两种可能的结果,且这两种结果发生的概率是固定的 抛硬币作为伯努利试验:在抛硬币时,我…...

MySQL高频八股——事务过程中Undo log、Redo log、Binlog的写入顺序(涉及两阶段提交)

大家好,我是钢板兽! 在上一篇文章中,我分别介绍了 Undo Log、Redo Log 和 Binlog 在事务执行过程中的作用与写入机制。然而,实际应用中,这三种日志的写入是有先后顺序的。因此,本篇文章将深入探讨它们的写…...

二阶近似 是什么意思

二阶近似 是什么意思 一、二阶近似的概念与举例 二阶近似是数学分析中通过泰勒展开对函数进行近似的方法,保留到二阶项(即包含一阶导数和二阶导数)。在优化问题(如模型训练)中,常用于近似损失函数,帮助更精准地更新模型参数。 举例: 假设损失函数为 L ( θ ) \mathc…...

Oracle GoldenGate 全面解析

Oracle GoldenGate 全面解析 Oracle GoldenGate 是一种实时数据集成和复制解决方案,广泛应用于数据同步、数据库迁移、高可用性和灾难恢复等场景。以下将详细解答您提出的关于 Oracle GoldenGate 的一系列问题。 1. Oracle GoldenGate 的架构组成及其核心组件的作用 架构组成…...

C++进阶——AVL树的实现

1、AVL的概念 1.1 AVL 树的发明 AVL 树由 G.M. Adelson-Velsky 和 E.M. Landis 在 1962 年的论文《An algorithm for the organization of information》中提出。他们的设计目标是解决二叉搜索树在动态操作(插入、删除)中可能退化为链表的问题。 1.2 …...

S32K144入门笔记(十三):LPIT的API函数解读

目录 1. SDK中的函数 2. API函数的释义 2.1 获取默认参数 2.2 初始化 2.3 启动与停止 2.4 计数值的设置于读取 2.5 中断API 1. SDK中的函数 在使用SDK的非抽象驱动函数时,函数的定义与声明在文件lpit_driver.c和lpit_driver.h中,一共有19个函数&a…...

打包当前Ubuntu镜像 制作Ubuntu togo系统

我的系统的基本情况说明: 我原来的系统的具体型号如下: uname -rLinux Engine 5.15.0-134-generic #145~20.04.1-Ubuntu SMP Mon Feb 17 13:27:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux我原来的硬盘以及分区策略如下: 可以看到我的分区…...

系统架构设计师—案例分析—架构设计

文章目录 经典架构风格对比面向对象架构风格/显示调用风格优点缺点举例 事件驱动的系统/隐式调用风格优点缺点举例 基于规则的系统架构风格优点缺点举例 管道过滤器风格优点缺点举例 仓库风格优点缺点举例 解释器风格优点缺点举例 分层架构风格优点缺点举例 经典架构风格对比 …...

基于javaweb的SpringBoot智能相册管理系统图片相册系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

Android 14 Telephony 网络选择功能介绍

一、总体介绍 (一)功能 手动搜网的流程:用户通过UI触发,调用TelephonyManager的API,比如startNetworkScan,然后这个请求会传递到RIL层,通过AT命令与基带通信,进行网络扫描。结果返回后,经过TelephonyRegistry通知应用层。中间可能涉及IPC,比如Binder通信,因为应用和…...

Leetcode 刷题笔记1 单调栈part01

leetcode 739 每日温度 对于单调栈问题,我觉得是在循环外部增加一些辅助项减少时间复杂度,但增加内存空间的利用 class Solution:def dailyTemperatures(self, temperatures: List[int]) -> List[int]:ans [0] * len(temperatures)stack []for i …...

深入解析音频编解码器(Audio CODEC):硬件、接口与驱动开发

音频编解码器(Audio CODEC)是音频处理系统中的核心组件,负责 模拟信号与数字信号的相互转换,广泛应用于 智能音箱、嵌入式系统、消费电子产品 等设备。本篇文章将从 硬件结构、接口解析、驱动开发 和 软件配置 等方面,…...

深度学习【迭代梯度下降法求解线性回归】

梯度下降法 梯度下降法是一种常用迭代方法,其目的是让输入向量找到一个合适的迭代方向,使得输出值能达到局部最小值。在拟合线性回归方程时,我们把损失函数视为以参数向量为输入的函数,找到其梯度下降的方向并进行迭代&#xff0…...

[Lc14_priority_queue] 最后一块石头重量 | 数据流中的第 K 大元素 | 前K个高频单词 | 数据流的中位数

目录 1.最后一块石头的重量 题解 2.数据流中的第 K 大元素 题解 3.前K个高频单词 题解 代码 ⭕4.数据流的中位数 题解 在C中,使用标准库中的priority_queue,默认情况下它是一个最大堆(即大堆排序),这意味着最…...

熔断和降级的区别,具体使用场景有哪些?

熔断与降级的核心区别在于触发条件和应用目标,具体差异及使用场景如下: 一、核心区别 对比维度熔断降级触发原因下游依赖服务故障(如超时、异常率过高)触发系统整体负载过高或流量洪峰管理目标层级框架级保护(无业务优…...