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

Posted Espresso Macchiato

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文献阅读:Improving Language Understanding by Generative Pre-Training相关的知识,希望对你有一定的参考价值。

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,基本上都是在上述基础上不断地优化,因此虽然这篇古早到现在已经没啥值得一提的新东西了,但是意义上来说真心是开创性的牛逼工作了……

以上是关于文献阅读:Improving Language Understanding by Generative Pre-Training的主要内容,如果未能解决你的问题,请参考以下文章

语义分割文献阅读Segmentation from Natural Language Expressions

文献阅读:Language Models are Unsupervised Multitask Learners

文献阅读:Language Models are Unsupervised Multitask Learners

文献阅读:Large Language Models Encode Clinical Knowledge

文献阅读:Scaling Instruction-Finetuned Language Models

文献阅读:Language Models are Few-Shot Learners