文献阅读:Improving Language Understanding by Generative Pre-Training

news/2024/5/20 9:59:32 标签: GPT, LLM, OpenAI, 自回归语言模型
  • 文献阅读:Improving Language Understanding by Generative Pre-Training
    • 1. 文章简介
    • 2. 模型介绍
    • 3. 实验考察
      • 1. 训练数据
      • 2. 实验结果
      • 3. 消解实验
    • 4. 总结 & 思考
  • 文献链接:https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf

1. 文章简介

这篇文章是OpenAI在18年发表的一篇古早文章了,在这篇文章里面,OpenAI第一次提出了GPT模型。

因此,这篇文章放到如今,其实已经完全没有新东西了,里面的东西基本也早就被用烂了,除了OpenAI自己在此基础上引申出的GPT2,GPT3,InstructGPT以及传闻中即将放出的GPT4之外,Google也放出过大规模的LM像是PaLM之类的。到如今,做NLP相关工作的,不知道这篇文章的大概反而是少数了吧,就算没完整地读过,估摸着也知道这文章具体是做了啥的。

但是现在既然工作中涉及到了GPT相关的内容,就打算趁此机会回来把整个GPT系列的模型完整的整理一下。

2. 模型介绍

模型方面,其实就是一个Transformer Decoder模型,不过说Decoder也有点不太对,毕竟相较于原版的Transformer Decoder,这里没有cross attention layer,算是一个单向的transformer encoder吧,具体结构以及数据构造方式可以参考下图:

在这里插入图片描述

这一版本的GPT模型走的还是相对较为传统的预训练 + finetune的范式,或者说,在当时,印象中这是最早的一批开始走自监督模型预训练的工作之一了。

3. 实验考察

1. 训练数据

首先,我们来看一下模型训练所使用的数据集。

在预训练的部分,模型使用BooksCorpus数据,而在finetune阶段,文中使用了如下数据集进行了考察:

在这里插入图片描述

2. 实验结果

下面,我们来看一下GPT模型在上述各类任务当中的效果:

  1. NLI任务
  2. QA任务
  3. Sentence Similarity
  4. 分类任务

得到结果如下:

在这里插入图片描述

在这里插入图片描述

可以看到:

  • GPT在几乎全部的任务当中都获得了SOTA的结果。

3. 消解实验

除了上述基础实验之外,文中还做了一些进阶考察,具体包括:

  1. 考察了层数对模型效果的影响;
  2. 比较了Transformer与LSTM的效果;
  3. 考察了预训练模型在zero-shot下的效果;

具体如下两图所示:

在这里插入图片描述

在这里插入图片描述

可以看到:

  • 随着层数的增加,模型效果确实是持续提升的;
  • Transformer模型(Fig2中右图实线)的效果是显著由于LSTM模型(Fig2中右图虚线)的;
  • GPT预训练模型如果不经过finetune事实上也是可以呈现出不错的结果的。

4. 总结 & 思考

综上,这篇文章提出了GPT模型,主要就是提出了自回归模型的预训练模型范式,并且发现:

  1. 基于Transformer的预训练LM的效果是优于LSTM的,且效果可以随着层数和参数量的增大而持续提升;
  2. 预训练后得到的LLM即使不经过finetune,其效果也是可以的。

基于这两点,后续OpenAI发布的GPT2,GPT3乃至传闻中即将发布的GPT4,基本上都是在上述基础上不断地优化,因此虽然这篇古早到现在已经没啥值得一提的新东西了,但是意义上来说真心是开创性的牛逼工作了……


http://www.niftyadmin.cn/n/30878.html

相关文章

计算机图形学 第3章 圆的扫描转换-第三章结束

书用的是 书名:计算机图形学基础教程(VisualC版)(第二版) 定价:44.5元 作者:孔令德 出版社:清华大学出版社 出版日期:2013-03-01 ISBN:9787302297529 目录习题3(续&#…

08_FreeRTOS列表和列表项讲解

目录 列表和列表项的简介 列表 列表项 迷你列表项 列表和列表项的关系 列表相关API函数介绍 初始化列表vListInitialise函数详解 列表项的初始化函数vListInitialiseItem函数 列表项的插入vListInsert函数 列表项末尾插入vListInsertEnd函数 列表项的删除函数uxLis…

微信小程序页面跳转三种方式

为了不让用户在使用小程序时造成困扰,微信小程序规定页面路径只能是五层,请尽量避免多层级的交互方式。 页面跳转的话就涉及到了多个页面层级 第一种:wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用…

TypeScript 学习笔记总结(一)

ts学习笔记总结。 文章目录一、什么是TypeScript?二、TypeScript 环境搭建三、TS 类型声明四、TS 类型详解五、TS 类型总结六、TS 编译选项1. tsconfig.json的 作用2. tsconfig.json的 配置选项013. tsconfig.json的 配置选项02七、Webpack 打包ts代码一、什么是Typ…

原创 140 多篇,是时候来篇总结了

光阴似剪,日月如梭。不知不觉,从 17 年广工毕业到现在,已经毕业 5 年多了。 从大四开始写博客,有原创 110 多篇, 也获得了 CSDN 博客专家称号和掘金优秀作者称号。 回想这五年来的程序员生涯,谈不上满意,也…

IMX Linux 用户手册 --- 2

IMX Linux 用户手册 — 2 第5章 启用单独仿真 可以在i.MX 6DualLite SABRE-SD和i.MX 6DualLite SABRE-AI板上启用单独仿真。这是通过使用 引导加载程序构建过程中的特定U-Boot配置。 当在i.MX 6DualLite SABRE平台上启用此单独仿真时,i.MX 6DualLite的功能将更改为…

【Python】request库InsecureRequestWarning的原因

今天在测试我自己写的api的时候,发现了之前出现的一个warning的真正原因 1.起因 先来看请求api的代码 def ApiRq(account:str,passwd:str,background):url "https://example.com/shop-url"params { # 参数涉及到隐私,省略}res requests.…

【GD32F427开发板试用】硬件IIC读取SHT40温湿度传感器

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:烟花易冷 介绍 很荣幸又能再次的参加技术社区的开发板试用活动,此次参加用的是GD32F427系列的芯片,该芯片相较于GDF31…