大模型系列(五)--- GPT3: Language Models are Few-Shot Learners

news2025/5/12 14:17:36

论文链接: Language Models are Few-Shot Learners

点评: GPT3把参数规模扩大到1750亿,且在少样本场景下性能优异。对于所有任务,GPT-3均未进行任何梯度更新或微调,仅通过纯文本交互形式接收任务描述和少量示例。然而,我们也发现部分数据集上GPT-3的少样本学习能力仍有局限,以及一些因依赖大规模网络语料训练引发的潜在方法学问题。

 GPT系列: 

GPT1预训练+微调,
创新点在于Task-specific input transformations。
GPT215亿参数预训练+Prompt+Predict,
创新点在于Zero-shot
Zero-shot新颖度拉满,但模型性能拉胯
GPT31750亿参数预训练+Prompt+Predict,
创新点在于in-context learning
开创性提出in-context learning概念,是Prompting祖师爷(ICL)是Prompting范式发展的第一阶段。

GPT模型指出,如果用Transformer的解码器和大量的无标签样本去预训练一个语言模型,然后在子任务上提供少量的标注样本做微调,就可以很大的提高模型的性能。GPT2则是更往前走了一步,说在子任务上不去提供任何相关的训练样本,而是直接用足够大的预训练模型去理解自然语言表达的要求,并基于此做预测。但是,GPT2的性能太差,有效性低。

GPT3其实就是来解决有效性低的问题。Zero-shot的概念很诱人,但是别说人工智能了,哪怕是我们人,去学习一个任务也是需要样本的,只不过人看两三个例子就可以学会一件事了,而机器却往往需要大量的标注样本去fine-tune。那有没有可能:给预训练好的语言模型一点样本。用这有限的样本,语言模型就可以迅速学会下游的任务?

Note: GPT3中的few-shot learning,只是在预测是时候给几个例子,并不微调网络。GPT-2用zero-shot去讲了multitask Learning的故事,GPT-3使用meta-learning和in-context learning去讲故事。

网络结构 Model Construction

GPT-3沿用了GPT-2的结构,但是在网络容量上做了很大的提升,并且使用了一个Sparse Transformer的架构,具体如下:

1.GPT-3采用了96层的多头transformer,头的个数为 96;

2.词向量的长度是12,888;

3.上下文划窗的窗口大小提升至2,048个token;

4.使用了alternating dense和locally banded sparse attention

Sparse Transformer:

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

GPT3的batch size达到320万,为什么用这么大的?

首先,大模型相比于小模型更不容易过拟合,所以更用大的、噪音更少的Batch也不会带来太多负面影响;其次,现在训练一个大模型会用到多台机器做分布式计算,机器与机器之间数据并行。最后,虽然批大小增加会导致梯度计算的时间复杂度增加,但是较大的batch size通常可以提高模型的训练效率和性能。

图1.2:更大的模型拥有更强的利用情境信息能力

图1.3: 聚合了模型在42个基准数据集上的性能

  • 本文的实现与GPT-2的方法相似,预训练过程的不同只在于采用了参数更多的模型、更丰富的数据集和更长的训练的过程。本文聚焦于系统分析同一下游任务不同设置情况下,模型情境学习能力的差异。下游任务的设置有以下四类:
  1. Fine-Tunning(FT):FT利用成千上万的下游任务标注数据来更新预训练模型中的权重以获得强大的性能。但是,该方法不仅导致每个新的下游任务都需要大量的标注语料,还导致模型在样本外预测的能力很弱。虽然GPT-3从理论上支持FT,但本文没这么做。
  2. Few-Shot(FS):模型在推理阶段可以得到少量的下游任务示例作为限制条件,但是不允许更新预训练模型中的权重。FS过程的示例可以看本笔记图2.1点整理的案例。FS的主要优点是并不需要大量的下游任务数据,同时也防止了模型在fine-tune阶段的过拟合。FS的主要缺点是不仅与fine-tune的SOTA模型性能差距较大且仍需要少量的下游任务数据。
  3. One-Shot(1S):模型在推理阶段仅得到1个下游任务示例。把1S独立于Few-Shot和Zero-Shot讨论是因为这种方式与人类沟通的方式最相似。
  4. Zero-Shot(0S):模型在推理阶段仅得到一段以自然语言描述的下游任务说明。0S的优点是提供了最大程度的方便性、尽可能大的鲁棒性并尽可能避免了伪相关性。0S的方式是非常具有挑战的,即使是人类有时候也难以仅依赖任务描述而没有示例的情况下理解一个任务。但毫无疑问,0S设置下的性能是最与人类的水平具有可比性的。

评估: 

  • 单项选择任务:给定K个任务示例和待测样本的上下文信息,计算分别选取每个候选词的整个补全样本(K个任务示例+待测样本上下文+待测样本候选词)的似然,选择能产生最大样本似然的候选词作为预测。

  • 二分类任务:将候选词从0和1变为False和True等更具有语义性的文本,然后使用上述单项选择任务的方式计算不同候选项补全的样本似然。

  • 无候选词任务:使用和GPT-2完全一样参数设置的beam search方式,选择F1相似度,BLEU和精确匹配等指标作为评价标准。

论文阅读 A Survey of Pre-trained Language Models for Processing Scientific Text

                Language Models are Few-Shot Learners

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

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

相关文章

Qt QCheckBox 使用

1.开发背景 Qt QCheckBox 是勾选组件,具体使用方法可以参考 Qt 官方文档,这里只是记录使用过程中常用的方法示例和遇到的一些问题。 2.开发需求 QCheckBox 使用和踩坑 3.开发环境 Window10 Qt5.12.2 QtCreator4.8.2 4.功能简介 4.1 简单接口 QChec…

系统架构-面向服务架构(SOA)

概述 服务指的是系统对外提供的功能集 从应用的角度定义,可以认为SOA是一种应用框架,将日常业务划分为单独的业务功能和流程(即服务),SOA使用户可以构建、部署和整合这些服务。 从软件的基本原理定义,SO…

AJAX原理

AJAX使用XHR 对象和服务器进行数据交互 XHR <p class"my-p"></p><script>const xhr new XMLHttpRequest()xhr.open(GET,http://hmajax.itheima.net/api/province)xhr.addEventListener(loadend,()>{// console.log(xhr.response)const data …

Paddle Serving|部署一个自己的OCR识别服务器

前言 之前使用C部署了自己的OCR识别服务器&#xff0c;Socket网络传输部分是自己写的&#xff0c;回过头来一看&#xff0c;自己犯傻了&#xff0c;PaddleOCR本来就有自己的OCR服务器项目&#xff0c;叫PaddleServing&#xff0c;这里记录一下部署过程。 1 下载依赖环境 1.1 …

Web开发—Vue工程化

文章目录 前言 Vue工程化 一、介绍 二、环境准备 1.介绍create-vue 2.NodeJS安装 3.npm介绍 三&#xff0c;Vue项目创建 四&#xff0c;项目结构 五&#xff0c;启动项目 六&#xff0c;Vue项目开发流程 七&#xff0c;API风格 前言 Vue工程化 前面我们在介绍Vue的时候&#…

Word如何制作三线表格

1.需求 将像这样的表格整理成论文中需要的三线表格。 2.直观流程 选中表格 --> 表格属性中的边框与底纹B --> 在设置中选择无&#xff08;重置表格&#xff09;–> 确定 --> 选择第一行&#xff08;其实是将第一行看成独立表格了&#xff0c;为了设置中线&…

【实战教程】零基础搭建DeepSeek大模型聊天系统 - Spring Boot+React完整开发指南

&#x1f525; 本文详细讲解如何从零搭建一个完整的DeepSeek AI对话系统&#xff0c;包括Spring Boot后端和React前端&#xff0c;适合AI开发入门者快速上手。即使你是编程萌新&#xff0c;也能轻松搭建自己的AI助手&#xff01; &#x1f4da;博主匠心之作&#xff0c;强推专栏…

用C语言实现的——一个支持完整增删查改功能的二叉排序树BST管理系统,通过控制台实现用户与数据结构的交互操作。

一、知识回顾 二叉排序树&#xff08;Binary Search Tree&#xff0c;BST&#xff09;&#xff0c;又称二叉查找树或二叉搜索树&#xff0c;是一种特殊的二叉树数据结构。 基本性质&#xff1a; ①有序性 对于树中的每个节点&#xff0c;其左子树中所有节点的值都小于该节点的…

论文阅读笔记——ROBOGROUND: Robotic Manipulation with Grounded Vision-Language Priors

RoboGround 论文 一类中间表征是语言指令&#xff0c;但对于空间位置描述过于模糊&#xff08;“把杯子放桌上”但不知道放桌上哪里&#xff09;&#xff1b;另一类是目标图像或点流&#xff0c;但是开销大&#xff1b;由此 GeoDEX 提出一种兼具二者的掩码。 相比于 GR-1&#…

『 测试 』测试基础

文章目录 1. 调试与测试的区别2. 开发过程中的需求3. 开发模型3.1 软件的生命周期3.2 瀑布模型3.2.1 瀑布模型的特点/缺点 3.3 螺旋模型3.3.1 螺旋模型的特点/缺点 3.4 增量模型与迭代模型3.5 敏捷模型3.5.1 Scrum模型3.5.2 敏捷模型中的测试 4 测试模型4.1 V模型4.2 W模型(双V…

robomaster机甲大师--电调电机

文章目录 C620电调ID设置速率 电调发送报文电调接收报文cubemx程序初始化发送接收 C620电调 ID设置 速率 1Mbps 电调发送报文 发送的数据为控制电机的输出电流&#xff0c;需要将can数据帧的ID设置为0x200 电调接收报文 机械角度&#xff1a;电机的0到360度映射到0到几千转…

少儿编程机构用的教务系统

在编程教育行业快速发展的今天&#xff0c;培训机构面临着学员管理复杂、课程体系专业性强、教学效果难以量化等独特挑战。爱耕云教务系统针对编程培训机构的特殊需求&#xff0c;提供了一套全方位的数字化解决方案&#xff0c;帮助机构实现高效运营和教学质量提升。 为什么编…

基于VSCode+PlatformIO环境的ESP8266的HX1838红外模块

以下是针对ESP8266开发板的红外遥控解码系统开发教程&#xff0c;基于VSCodePlatformIO环境编写 一、概述 本实验通过ESP8266开发板实现&#xff1a; 红外遥控信号解码自定义按键功能映射串口监控输出基础设备控制&#xff08;LED&#xff09; 硬件组成&#xff1a; NodeMC…

Linux中的防火墙

什么是防火墙 windows防火墙的设置 linux防火墙设置命令 什么是防火墙&#xff1f; 防火墙是一种网络安全设备&#xff0c;它能够&#xff1a; 监控和过滤进出网络的流量 阻止不安全的连接 保护计算机和网络免受未授权访问 创建一个安全边界 简单来说&#xff0c;防火…

补补表面粗糙度的相关知识(一)

表面粗糙度&#xff0c;或简称粗糙度&#xff0c;是指表面不光滑的特性。这个在机械加工行业内可以说是绝绝的必备知识之一&#xff0c;但往往也是最容易被忽略的&#xff0c;因为往往天天接触的反而不怎么关心&#xff0c;或者没有真正的去认真学习掌握。对于像我一样&#xf…

力扣刷题Day 46:搜索二维矩阵 II(240)

1.题目描述 2.思路 方法1&#xff1a;分别找到搜索矩阵的右、下边界&#xff0c;然后从[0][0]位置开始遍历这部分矩阵搜索目标值。 方法2&#xff1a;学习Krahets佬的思路&#xff0c;从搜索矩阵的左下角开始遍历&#xff0c;matrix[i][j] > target时消去第i行&#xff0c…

Kubernetes 集群部署应用

部署 Nginx 应用 命令行的方式 1. 创建 deployment 控制器的 pod # --imagenginx&#xff1a;这个会从 docker.io 中拉取&#xff0c;这个网站拉不下来 # kubectl create deployment mynginx --imagenginx# 使用国内镜像源拉取 kubectl create deployment mynginx --imaged…

Unity3D仿星露谷物语开发42之粒子系统

1、目标 使用例子系统&#xff0c;实现割草后草掉落的特效。 通过PoolManager获取特效预制体&#xff0c;通过VFXManager来触发特效。 2、配置例子特效 在Hierarchy -> PersistentScene下创建新物体命名为Reaping。 给该物体添加Particle System组件。 配置例子系统参数…

python 上海新闻爬虫, 东方网 + 澎湃新闻

1. 起因&#xff0c; 目的: 继续做新闻爬虫。我之前写过。此文先记录2个新闻来源。后面打算进行过滤&#xff0c;比如只选出某一个类型新闻。 2. 先看效果 过滤出某种类型的新闻&#xff0c;然后生成 html 页面&#xff0c;而且&#xff0c;自动打开这个页面。 比如科技犯罪…

[Java实战]Spring Boot 整合 Freemarker (十一)

[Java实战]Spring Boot 整合 Freemarker (十一) 引言 Apache FreeMarker 作为一款高性能的模板引擎&#xff0c;凭借其简洁语法、卓越性能和灵活扩展性&#xff0c;在 Java Web 开发中占据重要地位。结合 Spring Boot 的自动化配置能力&#xff0c;开发者能快速构建动态页面、…