<论文>初代GPT长什么样?

一、摘要

        今天我们聊一下论文《Improving Language Understanding by Generative Pre-Training》以及它所提出来的预训练模型——GPT1。我们知道Bert在出道那会儿红极一时,但实际上GPT1比Bert还要早几个月就出道了,而且同样刷新了当时的多个任务记录。GPT1代也是GPT系列的开山之作,往后的GPT2、GPT3乃至如今的ChatGPT都是采用的这一套核心架构逻辑。

81bc025b2dd842e9a9aaca9d82fb4fe8.png

译文:

        自然语言理解包含诸多不同的任务,例如文本蕴含、问答、语义相似度评估以及文档分类等。尽管大量未标注的文本语料十分丰富,但用于学习这些特定任务的标注数据却很稀缺,这使得经过判别式训练的模型难以充分发挥性能。我们证明,通过在多样化的未标注文本语料上对语言模型进行生成式预训练,然后针对每个特定任务进行判别式微调,能够在这些任务上取得显著的成效。与以往的方法不同,我们在微调过程中利用了任务感知的输入转换,在对模型架构只需做极少改动的情况下实现了有效的迁移。我们在众多自然语言理解的基准测试中证明了我们方法的有效性。我们这种通用的、与任务无关的模型,其性能优于那些使用为各任务专门设计架构的经过判别式训练的模型,在所研究的 12 项任务中的 9 项任务上显著超越了现有技术水平。例如,在常识推理(故事完形填空测试)任务上我们实现了 8.9% 的绝对提升,在问答(RACE)任务上实现了 5.7% 的提升,在文本蕴含(MultiNLI)任务上实现了 1.5% 的提升。

二、模型创新点

b1c4dba0418c4fa4b5a9f1079bff1783.png

        GPT模型的训练过程包含两个阶段:第一阶段是在大规模文本语料上学习一个高容量的语言模型,也就是我们所熟知的“预训练”。随后是“微调”阶段,在这个阶段可以根据不同的下游任务来设置对应的模型微调策略,从而实现在特定任务上的高性能表现。

1、无监督生成式预训练

        给定一个无监督的Token语料库eq?U%20%3D%20%5Cleft%20%5C%7B%20u_%7B1%7D%2Cu_%7B2%7D%2C...%2Cu_%7Bn%7D%20%5Cright%20%5C%7D,作者使用标准的语言建模目标来最大化以下似然函数:

eq?L_%7B1%7D%28U%29%20%3D%20%5Csum_%7Bi%7DlogP%28u_%7Bi%7D%7Cu_%7Bi-k%7D%2C...%2Cu_%7Bi-1%7D%3B%5CTheta%20%29

        其中k是上下文窗口的大小,条件概率P由具有eq?%5CTheta参数的神经网络建模。这些参数使用随机梯度下降法进行训练。

        在论文的实验中,作者使用了多层 Transformer 解码器作为语言模型。该模型对输入的上下文Token应用多头自注意力操作,接着是位置感知的前馈层(position-wise feedforward layers),以生成目标Token上的输出分布:

eq?h_%7B0%7D%20%3D%20UW_%7BE%7D+W_%7BP%7D

eq?h_%7Bl%7D%20%3D%20transformer%5C_block%28h_%7Bl-1%7D%29%5Cforall%20i%20%5Cin%20%5B1%2Cn%5D

eq?P_%7Bu%7D%20%3D%20softmax%28h_%7Bn%7DW_%7BE%7D%5E%7BT%7D%29

        其中,eq?U%20%3D%20%5Cleft%20%5C%7B%20u_%7B-k%7D%2C...%2Cu_%7B-1%7D%20%5Cright%20%5C%7D是Token的上下文向量,eq?W_%7BE%7D是Token的embedding矩阵,eq?W_%7BP%7D是位置嵌入矩阵,n是层数。

2、有监督微调

        在使用无监督生成式预训练完成对模型的初步训练后,作者提出将参数适配到有监督的目标任务中能够进一步提升模型在目标任务上的性能。设有一个带标签的数据集C,其中每个实例都由一系列输入Tokens(eq?x%5E%7B1%7D%2C...%2Cx%5E%7Bm%7D)以及一个标签y组成。输入Tokens会通过预训练模型来获得最后一个 Transformer 块的激活值eq?h_%7Bl%7D%5E%7Bm%7D,然后将其输入到一个具有参数eq?W_%7By%7D的线性输出层来预测标签y:

eq?P%28y%7Cx%5E%7B1%7D%2C...%2Cx%5E%7Bm%7D%29%20%3D%20softmax%28h_%7Bl%7D%5E%7Bm%7DW_%7By%7D%29

        这就得到了以下要最大化的目标:

eq?L_%7B2%7D%28C%29%20%3D%20%5Csum_%7B%28x%2Cy%29%7DlogP%28y%7Cx%5E%7B1%7D%2C...%2Cx%5E%7Bm%7D%29

        此外,作者还发现将语言建模作为微调的辅助目标有助于学习,具体表现为:(a)提高有监督模型的泛化能力;(b)加速收敛。具体来说,优化以下目标(权重为 eq?%5Clambda):

eq?L_%7B3%7D%28C%29%20%3D%20L_%7B2%7D%28C%29%20*%20%5Clambda%20L_%7B1%7D%28C%29

        总体而言,在微调期间所需的额外参数仅有eq?W_%7By%7D以及分隔符Tokens的embedding。

三、总结

        Transformer模型编码器-解码器的架构在机器翻译领域取得了很好的成效,而GPT仅使用解码器堆叠的架构使得了该模型能够用于多个自然语言处理任务,进一步扩大了Transformer系列模型变体的应用范围。GPT论文中提到的预训练+微调的模型训练方式,也在后来成为了预训练模型和的默认训练范式。

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

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

相关文章

研发效能DevOps: Vite 使用 Element Plus

目录 一、实验 1.环境 2.初始化前端项目 3.安装 vue-route 4.安装 pinia 5.安装 axios 6.安装 Element Plus 7.gitee创建工程 8. 配置路由映射 9.Vite 使用 Element Plus 二、问题 1.README.md 文档推送到gitee未自动换行 2.访问login页面显示空白 3.表单输入账户…

动态规划练习四(子序列子数组问题)

一、解决思路 与之前的dp问题相比,给我三个最大的不同感受是: 1、考虑能否自成一组,毕竟一个也是子序列,子数组。所以在很多的dp表填写中需要考虑只有一个的情况。 2、由于子数组子序列是连续的,所以有一些题可以利…

【工具变量】中国数字经济发展水平面板数据DID(2012-2022)

数据来源:《中国统计年鉴》、国家统计局 时间跨度:2012-2022年 数据范围:中国各省 包含指标: 1. 地区 2. id 3. 年份 4. 互联网域名数 5. 互联网接入端口数 6. 互联网宽带接入用户数 7. 移动基站密度 8. 移动电…

一文速通 IIC I2C子系统驱动 通信协议原理 硬件 时序 深度剖析

本文作为一个引入,作用是让读者理解熟知IIC协议关键内容,结合实际手册内容,深度解析协议本质,作为后续嵌入式linux驱动IIC子系统的一个铺垫。 目录 1. 硬件连接 2. IIC传输时序 2.1.写操作 2.2.读操作 2.3.I2C信号 3.IIC协议…

Go语言启动独立进程

文章目录 问题解决方案1. **将 npc.exe 启动为独立的进程**2. **修改 exec.Command 函数**示例代码解释为什么这样有效注意 问题 在你当前的代码中,调用 exec.Command("XXX.exe") 启动 XXX.exe 程序时,这个程序是由 Go 程序直接启动的。如果 …

【Cadence射频仿真学习笔记】IC设计中电感的分析、建模与绘制(EMX电磁仿真,RFIC-GPT生成无源器件及与cadence的交互)

一、理论讲解 1. 电感设计的两个角度 电感的设计可以从两个角度考虑,一个是外部特性,一个是内部特性。外部特性就是把电感视为一个黑盒子,带有两个端子,如果带有抽头的电感就有三个端子,需要去考虑其电感值、Q值和自…

Everything实现,快速搜索文件

最近编写NTFS文件实时搜索工具, 类似 Everything 这样, 翻阅了很多博客, 结果大致如下: 1.分析比较肤浅, 采用USN日志枚举来获取文件记录 速度一言难尽, 因为日志枚举的是全盘所有文件的所有日志, 记录比文件记录还多, 速度当然很慢, 还有的甚至于是 使用 DeviceIoControl 函数…

【完美解决】windows打开cmd窗口的时候闪退解决办法

本章教程,主要记录,windows中打开cmd的时候,闪退问题。产生问题的原因,电脑上之前安装了anaconda,卸载之后,就发现cmd无法正常打开,一执行不会弹出窗口。 解决办法 一、打开注册表 regedit二、…

乐凡信息智能安全管控方案:助力油气田行业安全管控多方位升级

我国油田地域广阔,分布着大量各种油井,油井开采设备的连续稳定运行是保证石油开采的首要条件。然而,由于油田多位于特殊地理环境中,因而实现油井之间的通信首要问题就是要克服地理环境所带来的限制,传统通信系统的建设…

2024年企业中生成式 AI 的现状报告

从试点到生产,企业 AI 格局正在被实时改写。我们对 600 名美国企业 IT 决策者进行了调查,以揭示新兴的赢家和输家。 从试点到生产 2024 年标志着生成性人工智能成为企业关键任务的一年。这些数字讲述了一个戏剧性的故事:今年人工智能支出飙升…

L24.【LeetCode笔记】 杨辉三角

目录 1.题目 2.分析 模拟二维数组的大致思想 杨辉三角的特点 二维数组的元素设置代码 两个参数returnSize和returnColumnSizes 理解"有效"的含义 完整代码 提交结果 1.题目 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉…

“从零到一:揭秘操作系统的奇妙世界”【操作系统中断和异常】

一开始看王道网课,它说内中断就是异常。但是我一查ai,它又说内中断和异常不能等同,是两个概念,这时候我觉得天都塌了。内中断到底是不是异常啊? 我心想我今天一定要把这个搞懂,我来交作业了!我…

C#代码实现把中文录音文件(.mp3 .wav)转为文本文字内容

我们有一个中文录音文件.mp3格式或者是.wav格式,如果我们想要提取录音文件中的文字内容,我们可以采用以下方法,不需要使用Azure Speech API 密钥注册通过离线的方式实现。 1.首先我们先在NuGet中下载两个包 NAudio 2.2.1、Whisper.net 1.7.3…

Windows装Docker至D盘/其他盘(最新,最准确,直接装)

前言 Docker的默认安装路径为 C:\你的用户名\AppData\Local\Docker\wsl这样安装常常会导致C盘爆满。目前现有博客的安装方法往往不能把docker的container和image也装在非C盘。本博客旨在用最简单的方式,把Docker Deskstop的images和container装在D盘中。 安装前&a…

前端关于pptxgen.js个人使用介绍

官方文档链接:Quick Start Guide | PptxGenJS git地址:https://github.com/gitbrent/PptxGenJS/ 1. 安装命令 npm install pptxgenjs --save yarn add pptxgenjs 2. 示例demo import pptxgen from "pptxgenjs"; // 引入pptxgen // 1. Create a Presenta…

Vulnhub靶场Nginx解析漏洞复现

一.nginx_parsing 原理:这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置⽂件中有⼀个关键的选项cgi.fix_pathinfo默认是开启的,当URL中有不存在的⽂件,PHP就会向前递归解析。在⼀个⽂件/xx.jpg后⾯加上/.php会将 /xx.jpg/xx.php 解…

harbor离线安装 配置https 全程记录

1. 下载harbor最新版本 下载网址: 找最新的版本: https://github.com/goharbor/harbor/releases/download/v2.11.2/harbor-offline-installer-v2.11.2.tgz 这里我直接使用迅雷下载, 然后上传 1.1解压 sudo tar -xf harbor-offline-installer-v2.11.2.tgz -C /opt/ 2. 配置Harb…

Next.js v15 - 服务器操作以及调用原理

约定 服务器操作是在服务器上执行的异步函数。它们可以在服务器组件和客户端组件中调用,用于处理 Next.js 应用程序中的表单提交和数据修改。 服务器操作可以通过 React 的 “use server” 指令定义。你可以将该指令放在 async 函数的顶部以将该函数标记为服务器操…

编译原理复习---目标代码生成

适用于电子科技大学编译原理期末考试复习。 1. 目标代码 是目标机器的汇编代码或机器码,在本课程中指的是类似于汇编代码的一种形式,由一条条的指令构成目标代码。 抽象机指令格式:OP 目的操作数,源操作数。 我们要做的&…

JaxaFx学习(三)

目录: (1)JavaFx MVVM架构实现 (2)javaFX知识点 (3)JavaFx的MVC架构 (4)JavaFx事件处理机制 (5)多窗体编程 (6)数据…