GPT-3解读:惊艳世界的模型原来是大力出奇迹

欢迎来到魔法宝库,传递AIGC的前沿知识,做有格调的分享❗

喜欢的话记得点个关注吧!


今天,我们将共同探索OpenAI的GPT-3,与GPT-2相比,GPT-3更像是一个大力出奇迹的结果。接下来,就让我们跟随论文深入理解其技术细节。

  • 论文: Language Models are Few-Shot Learners

  • 模型参数: 1750亿

  • 公司/机构: OpenAI

摘要

人类有时只需少数示例或简单说明,便能轻松应对全新的语言任务,然而当前的自然语言处理系统仍面临巨大挑战。很多情况下,系统仍需通过特定任务的微调才能获得出色的效果。在这个挑战的推动下,OpenAI的研究人员努力改进了GPT-2 模型的有效性,并发布了GPT-3模型。

GPT-3是一个拥有1750亿模型参数的自回归语言模型。与GPT-2相比,GPT-3的参数量翻了116倍。与此同时,GPT-3采用了GPT-1最初提出的Few-shot设置,即模型在处理子任务时不再依赖大量样例,而是在可控范围内给出一些样本。这种设置的成本非常低,但却能为模型提供足够的信息。最令人惊叹的是,GPT-3在任何任务上都无需任何梯度更新或微调,只需通过与模型的文本交互来指定任务和展示少量样本。

GPT-3在多个自然语言处理任务中展现出了惊艳的性能,如翻译、问答和填空,同时还能够应对那些需要即时推理或领域适应的挑战,如拼写校正、引入新词和进行三位数算术运算。OpenAI 的科研人员发现,增加语言模型的规模可以极大地提升任务无关的少样本学习性能,有时甚至能够与当前最领先的微调方法媲美,这一突破在当时引发了极大的关注和赞誉。

引言

为了在各类任务中实现卓越性能,通常需要对特定任务的数据集进行大规模微调,这涉及数千到数十万个需要人工标注的数据集。然而,消除这种限制是可取的,原因如下所述:

首先,从实践角度来看,为每个新任务收集大规模标记示例数据集的需求限制了语言模型的适用性。语言任务的种类繁多,涵盖了从语法纠错到生成抽象概念示例,再到批评短篇故事等各种内容。对许多任务而言,要收集大规模的监督训练数据集往往具有挑战性,特别是当必须为每个新任务重复这个过程时。

其次,训练数据中的偶然相关性与模型表达能力和训练分布的狭隘性之间存在直接关系,这对于预训练后进行微调的模型来说可能带来问题。尽管这些模型在预训练阶段被设计得很大,能够吸收大量信息,但在非常狭隘的任务分布上进行微调。有证据表明,这种范式下的泛化能力可能较弱,因为模型过于特定于训练分布,并且在其之外的泛化能力不强。

最后,人类在学习大多数语言任务时并不需要大规模的监督数据集。仅仅凭借自然语言中的简短指令或少数示例,人类就能够在新任务上胜任并达到合理水平。这种适应性不仅揭示了当前自然语言处理技术的限制,而且具有实际优势。它使人类能够无缝地混合或切换多个任务和技能,例如在长时间对话中进行加法运算。为了广泛应用,研究者们希望有朝一日自然语言处理系统也能具备类似的灵活性和普适性。

为了解决上述问题,OpenAI的研究人员训练了一个巨大的自回归语言模型,拥有着惊人的1750亿参数,即GPT-3。在应对各类后续任务时,他们主要采用了Few-shot、One-shot和Zero-shot这三种不同的设定策略,并在不需要对模型进行任何形式微调的情况下取得了引人注目的成果。简言之,这意味着通过提供一些任务样例(即上下文信息),该模型能够自主探索并掌握处理这些任务的能力。这种能力主要来源于以下两方面:

第一,通过在语言模型的训练中培养广泛的技能和模式识别能力,然后在推理过程中利用这些能力来适应或识别所需的任务

如Figure 1.1所示,每个样本来自于不同的任务,涵盖了各种领域,如加法运算、语法纠正和翻译。这些任务提供了大量的训练数据,为模型提供了广泛的语言样本。通过在这些多样化的数据上进行训练,模型能够理解和处理各种任务。从上下文学习的角度来看,对于同一任务的处理,模型能够通过上下文中的信息进行准确推断,从而提高任务的效果。在这个过程中,模型能够从上下文中提取相关的知识和洞察,以支持对不同任务的有效适应。

图片

第二,增加语言模型的参数规模,通过模型参数规模的显著增加,可以提升自然语言处理任务的性能

如Figure 1.2所示,随着模型参数规模的增加,上下文学习能力会获得类似的强大增益。

图片

GPT-3的基本原理

训练数据集

GPT-3的训练需要大量的训练数据,这些数据主要来源于精心筛选过的Common Crawl、WebText数据集的扩展版本、两个基于互联网的图书语料库(Books1和Books2)和英语维基百科数据集

Table 2.2呈现了最终训练数据集的混合情况。可以看到,在训练过程中,研究人员并非按照数据集大小的比例进行采样,而更倾向于频繁采样质量较高的数据集。因此,Common Crawl和Books2数据集在训练中的采样次数不到一次,而其他数据集则采样2-3次。这种方法在一定程度上容忍了轻微的过拟合,以换取更高质量的训练数据。

图片

模型和架构

GPT-3采用与GPT-2相同的模型和架构,唯一的区别在于GPT-3在Transformer层中引入了交替的稠密和局部带状稀疏注意力模式,类似于Sparse Transformer。

GPT-2的介绍可以在我们之前的文章中找到!

为了深入探究模型规模对学习性能的影响,研究人员训练了8种不同规模的模型,涵盖了从1.25亿个参数到1750亿个参数的三个数量级范围。其中,最庞大的模型被命名为GPT-3。

图片

在Table 2.1中展示了8个模型的规模和架构。其中,nparams代表可训练参数的总数,nlayers表示Transformer的总层数,dmodel指每个bottleneck layer中的神经元数量,而前馈层的大小是bottleneck layer大小的四倍,即d_ff = 4 * d_model,dhead表示每个注意力头的维度。

所有的模型的上下文窗口都为nctx=2048个tokens。为了减少节点之间的数据传输,研究人员将模型根据其深度和宽度分割到不同的GPU上。具体的模型架构参数是根据计算效率和负载均衡在GPU上选择的。

训练过程

为了在训练更大的模型时避免内存耗尽,GPT-3在训练过程中采用了一种模型并行化的混合方法,既在每个矩阵乘法运算内部采用模型并行化,又在网络的各个层之间采用模型并行化。所有模型都是在由微软提供的高带宽集群中的V100 GPU上进行训练的。

GPT-3在训练过程中采用了Adam优化器,参数设置为β1 = 0.9,β2 = 0.95,ε = 10-8,为了控制梯度的范围,将梯度的全局范数裁剪为1.0。

在处理2600亿个tokens的过程中,会通过余弦衰减逐步降低学习率至初始值的10%(即:在处理完2600亿个tokens后,学习率会继续以原始学习率的10%进行训练)。此外,在训练的前40-120亿个tokens中,会逐渐增加Batch Size大小,从较小的值(32k个tokens)增加到设定的最大值。具体参数设置可见Table 2.1。

为了减小过拟合现象,采用了无替换的数据采样策略,直到达到一个epoch的边界。所有模型都使用0.1的权重衰减进行轻微的正则化。在训练过程中,始终使用2048个tokens的上下文窗口序列进行训练,当文档长度小于2048个tokens时,我们将多个文档打包成一个序列,以提高计算效率。序列中的多个文档通过特殊的文本结束标记进行分隔,为语言模型提供了上下文无关信息的推断。这种方式实现了高效的训练,无需进行特殊的序列屏蔽操作。

Figure 2.2展示了GPT-3在训练过程中的总计算量。显而易见,随着模型参数规模的增加,计算量的也在显著增加。

图片

上下文学习的三种设置

GPT-3在训练完成之后,就可以使用Few-Shot、One-Shot和Zero-Shot三种不同的方式在特定任务上进行使用。值得注意的是,GPT-3在特定任务上使用时无需进行微调或参数更新。这三种使用方式的简单介绍如下所示:

• Few-Shot(FS):模型在推理时给出K个任务示例作为上下文信息,同时提供任务的自然语言描述,但不允许模型进行权重更新。通常将K设置在10到100的范围内,以适应模型的上下文窗口。

• One-Shot(1S):模型在推理时通过提供一个任务示例作为上下文信息,同时还有任务的自然语言描述。这种方式最接近于人类在解决某些任务时所使用的方式。

• Zero-Shot(0S):不提供任何上下文信息,模型只给出一个描述任务的自然语言指令。

下图以英语翻译成法语的示例说明了Few-Shot、One-Shot和Zero-Shot这三种方法,并展示了传统Fine-tuning方法的一般流程。

图片

GPT-3的局限性

尽管与GPT-2相比,GPT-3的性能有了显著的提升,但仍然存在以下局限性:

  1. GPT-3在文本合成任务中偶尔会出现语义上的重复,随着段落变长,连贯性下降,同时还存在自相矛盾和不相关的句子。而对于"常识物理"问题,例如"奶酪放进冰箱是否会融化",GPT-3表现困难。

  2. GPT-3存在结构和算法上的限制,GPT-3专注于自回归语言模型的上下文学习行为,模型未包括双向架构或其他训练目标,这种设计决策可能导致在实际受益于双向性的任务上性能较差。

  3. GPT-3的训练目标对每个token赋予相同的权重,缺乏对于预测中什么是最重要和什么是次要的概念。

  4. GPT-3缺乏与其他领域(如视频或现实世界的物理交互)相关联的背景知识和大量上下文信息,知识的缺失会对模型性能造成影响。

  5. GPT-3少样本学习面临的一个不确定性是,在推理过程中难以确定模型到底是“从零开始”学习新任务,还是仅仅在区分和识别训练期间学到的任务。

  6. 由于GPT-3的庞大参数规模,不论是训练还是推理部署过程都具备高昂的成本和不便之处,这或许对目前这种规模的模型在实际应用中带来一定的挑战。

  7. GPT-3训练数据中的偏见可能导致模型生成的内容变得刻板化或带有偏见。

总结

GPT-3是一个拥有1750亿个参数的语言模型,与15亿参数的GPT-2相比,GPT-3更像是一个大力出奇迹的结果。GPT-3在Zero-shot、One-shot和Few-shot 的设置下,在众多自然语言处理任务中展现出强大的性能。

本文详细探讨了GPT-3 的基本原理以及其所面临的局限性。尽管GPT-3 存在一些限制,但它的出现印证了大规模语言模型有可能成为发展适应能力强、通用的语言系统的重要组成部分。在当前大模型盛行的时代背景下,GPT-3的工作仍具备极大的价值。


如果对AIGC感兴趣,请关注我们的微信公众号“我有魔法WYMF”,我们会定期分享AIGC最新资讯和经典论文精读分享,让我们一起交流学习!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iview弹窗提交问题优化

如上图所示 有时候在弹窗中 有比较复杂的表格组件数据 这时候 你如果把提交按钮直接放在弹窗上 就会很麻烦 不仅要处理表格的验证 同时也要维护弹窗的开启和关闭状态 不是很自由 这时候 就看见把提交按钮单独摘出来 可以在自建的按钮上 判断各种状态 是不是很方便呢

金融网站的技术 SEO:提示和最佳实践

如果你想提高排名,你必须提供高质量的材料,保持你的网站平稳运行,并吸引来自权威网站的联系。但是,作为金融服务供应商,您可能会期望网站访问者和搜索引擎进行更多审查。请记住,你是在要求人们把钱投入你身…

4、RTC 实时时钟Demo(STM32F407)

RTC是个独立的BCD定时器/计数器。RTC 提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC还包含用于管理低功耗模式的自动唤醒单元。 (RTC实质:一个掉电(主电源)后还继续运行(由VBAT供电)的32位的向上计…

有时出厂重置BIOS是解决电脑问题和保持其最佳性能的好办法,主要有两种方法

​BIOS是计算机开机时启动的第一个程序,它有助于执行一些基本的计算机操作,并管理计算机和安装在计算机上的操作系统之间的命令。与任何其他程序一样,如果在启动计算机时遇到问题或在计算机中添加了新硬件,则可能需要将BIOS重置为…

Windows系列:Windows的13个版本以及 Windows Server详解(配置)

Windows的13个版本以及 Windows Server详解(配置) 一. Windows的13个版本的区别,企业版、教育版、专业版、工作站版、SE版的主要区别家庭版专业版教育版企业版Servers版 二. Windows Server VS Windows,两者有啥区别?什…

内网穿透的应用-如何部署Tale博客并结合cpolar内网穿透发布个人站点到公网访问

Linux系统部署Tale个人博客并发布到公网访问 文章目录 Linux系统部署Tale个人博客并发布到公网访问前言1. Tale网站搭建1.1 检查本地环境1.2 部署Tale个人博客系统1.3 启动Tale服务1.4 访问博客地址 2. Linux安装Cpolar内网穿透3. 创建Tale博客公网地址4. 使用公网地址访问Tale…

【Openstack Train安装】二、NTP安装

网络时间协议:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与…

光伏设计软件操作指南

在能源产业的变革中,光伏将成为未来最大的绿电来源。光伏电站未来25年的发电量、后期的运维等,都需要借助严谨的设计。光伏设计软件可以帮助设计者减少工作量,降低人工计算的错误,使得数据更精确。 1.了解软件构成 光伏设计软件专…

CV计算机视觉每日开源代码Paper with code速览-2023.11.23

点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构:Transformer】White-Box Transformers via Sparse Rate Reduction: Compression Is All There Is? 论文地址&am…

解决:uniapp项目打包微信小程序时,报错:failed to load config from /xx/xx-mall/vite.config.ts

复现步骤:在vscode终端中运行:pnpm build:mp-weixin-prod 命令,打包小程序生产包时,报错failed to load xxx/vite.config.ts,但实际项目根目录中有该vite.config.ts文件。 项目使用技术:uniapp vue3 node…

抖音本地生活服务商申请入口门槛过高,该怎么办?

近年来,短视频平台的举起让直播带货和本地生活服务行业逐渐兴起,并且以其便捷、高效的特点受到了广大用户的欢迎。很多创业者也加入了本地生活服务商的行列中,但有消息传出,抖音本地生活服务商申请入口可能会关闭,由于…

virtualbox安装时报错:无法访问你试图使用的功能所在的网络位位置。旧版本的msi文件误删问题解决。

错误如下图所示: 无法访问你试图使用的功能所在的网络位位置。单击“确定”重试,或在下面的框中输入包含安装程序包“xxxxxxxxxxxxx.msi”的文件夹路径。 今天在帮同学安装时发生这个问题,然后各种网站搜索教程,最后也是花了将近…

Python之Appium 2自动化测试(Android篇)

一、环境搭建及准备工作 1、Appium 2 环境搭建 请参考另一篇文章: Windows系统搭建Appium 2 和 Appium Inspector 环境 2、安装 Appium-Python-Client,版本要求3.0及以上 pip install Appium-Python-ClientVersion: 3.1.03、手机连接电脑,并在dos窗口…

中通快递查询,中通快递单号查询,分析筛选出多次揽收件

批量查询中通快递单号的物流信息,并将其中的多次揽收件分析筛选出来。 所需工具: 一个【快递批量查询高手】软件 中通快递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的朋友记得先注册&…

什么是软阈值,硬阈值,软聚类,硬聚类!!软和硬指的是什么呢?详细解释看这里!!!

文章目录 一、软阈值和硬阈值的基本概念和区别二、软聚类和硬聚类的详细概念和区别 一、软阈值和硬阈值的基本概念和区别 在我所研究的领域中,经常出现小波降噪,就拿小波降噪举例子吧!! 在信号处理中,小波降噪是一种…

ECONGU4280 Corporate Finance

ECONGU4280 Corporate Finance WeChat: zh6-86

SpringBoot+SSM项目实战 苍穹外卖(1)

目录 产品原型与技术选型后端环境搭建Git版本控制IDEA中运行sql脚本文件nginx反向代理和负载均衡完善登录功能 MD5加密 Builder 导入接口文档SwaggerSwagger常用注解 产品原型与技术选型 管理端原型图: 用户端原型图: 餐饮企业内部员工使用。 主要功能有…

ClassCMS2.4漏洞复现

ClassCMS2.4漏洞复现 环境搭建 任意文件下载漏洞复现 漏洞成因 ClassCMS2.4漏洞复现 CMS源码在附件中 环境搭建 使用phpstudy2016搭建web环境,php版本为5.5 安装CMS 这里选择Mysql数据库进行安装 用户名和密码都写默认的admin方便记忆 输入完成后点击安装 点…

如何制作一个数字人?流程是怎样的?

​​虚拟人概念从早期动漫领域的初音未来用一首《甩葱歌》让绿色双马尾的“歌姬”形象火出圈,到洛天依登上央视春晚舞台,再到众多虚拟歌手、虚拟主播、KOL、代言人等活跃于各种情境中。 去年以来,元宇宙和虚拟人技术进入全球科技产业的聚光灯…

IDEA解决Git冲突详解

目录 前言: 何为冲突 冲突演示 IDEA冲突解决 小结: 前言: 相信大家多多少少都有了解和使用过Git,作为Java程序员idea可谓是无敌的存在了,那么如何使用idea解决Git冲突呢?不瞒大家前段时间在公司把同事…