GPT2.0语言模型 Language Models are Unsupervised Multitask Learners

本文介绍了OpenAI的GPT-2模型,它是GPT的改进版,取消了Fine-tuning步骤,采用大规模预训练和多任务学习。GPT-2通过无监督学习在语言模型、文本续写等领域取得优秀表现,证明了预训练模型在多任务学习中的潜力。模型结构包含48层Transformer,使用WebText数据集进行训练,挑战了传统预训练+微调的范式。
摘要由CSDN通过智能技术生成

在这里插入图片描述
论文链接:https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf
Tensorflow代码链接:https://github.com/openai/gpt-2
Pytorch代码链接:https://github.com/huggingface/pytorch-pretrained-BERT
参考文档:https://mp.weixin.qq.com/s/c0LXAj5tN_59eJKc8yBTLQ
参考文档:https://terrifyzhao.github.io/2019/02/18/GPT2.0%E8%AE%BA%E6%96%87%E8%A7%A3%E8%AF%BB.html

导读

今天阅读的是 OpenAI 的同学于 2019 年发表的论文《Language Models are Unsupervised Multitask Learners》,目前具有 300 多引用量。

在有了之前论文的基础后读这篇论文就比较简单了,论文介绍的是 OpenAI 对 GPT 的一个改进模型 GPT-2,其模型结构与 GPT 相比几乎没有什么变化,只是让模型变得更大更宽,并且取消了 Fine-tuning 的步骤。也就是说 GPT-2 采用了一阶段的模型(预训练)代替了二阶段的模型(预训练+微调),并且在语言模型(文本摘要等)相关领域取得了不错的效果。

GPT-2是GPT的升级版本,其最大的区别在于规模更多,训练数据更多,GPT是12层的transformer,BERT最深是24层的transformer,GPT-2则是48层,共有15亿个参数,其训练数据是一个称为WebText的数据集,该数据集做了一些简单的数据清理,并且覆盖领域十分广阔,论文中指出规模大的模型必须要用更多的数据才能收敛,并且实验结果表明目前模型仍然处于一个欠拟合的情况。其次,相比于BERT,其并没有采用双向的transformer,依旧采用单向transformer,不知道是因为open AI的大佬们头铁还是说有挑衅Google的意思。其次在预训练阶段,GPT-2采用了多任务的方式,不单单只在一个任务上进行学习,而是多个,每一个任务都要保证其损失函数能收敛,不同的任务是共享主体transformer参数的,该方案是借鉴了之前微软的MT-DNN,这样能进一步的提升模型的泛化能力,因此在即使没有fine-turning的情况下依旧有非常不错的表现。

这就是GPT-2的主要改进点,总结一下,多任务预训练+超大数据集+超大规模模型,说白了就是没钱你玩你XX。

1、引言

目前最好的 NLP 模型是结合无监督的 Pre-training 和监督学习的 Fune-tuning,但这种方法的缺点是针对某特定任务需要不同类型标注好的训练数据。作者认为这是狭隘的专家而不是通才,因此作者希望能够通过无监督学习训练出一个可以应对多种任务的通用系统。

作者认为目前的数据集往往都是针对某一特定任务,如 QA 领域的 SQuAD 2.0,机器翻译领域的 NIST04 和 WMT 2014 En-2-Fr等。而正是因为数据集的单一导致系统缺乏泛化性。作者想通过尽可能地构建和利用足够大的且多样化的数据集,以保证最终的模型能够应用于多个不同的 NLP 任务中。为此,作者专门爬了 Reddit 上 > 3 karma 的外链作为数据源,同时去除 wiki 数据,最终数据大小共 40G。由于 Reddit 上的数据会包括各个领域,所以既保证了数据质量、数量又保证了数据的多样性。

此外,据研究表明语言模型有望完成某些特定的任务,如常识推理和情感分析等,所以作者提出了去掉有监督的 Fine-tuning 阶段,仅采用无监督 Pre-training 的语言模型来直接应用到下游任务中。

在本文中,作者论证了这种方法的可行性,并证明了语言模型来相关领域具有很大的潜力。

2、GPT-2模型

2.1、Approach

作者从网上爬了一大堆语料,用来进行LM的pretrain,他们最后的数据集叫WebText,有800万左右的文档,40G的文本,并且还移除了Wikipedia的数据,因为后面要ZSL的任务里面有很多都是基于Wikipedia的语料的,这里其实就是保证了ZSL任务的前提。PS:ZSL就是Zero-shot Learning

GPT-2 的核心是语言模型,语言具有天然的顺序性,通常可以表示为: p ( x ) = ∏ i = 1 n p ( s n ∣ s 1 , ⋯   , s n − 1 ) p(x)=\prod_{i=1}^np(s_n|s_1,\cdots,s_{n-1}) p(x)=i=1np(sns1,,sn1)可以泛化成: p ( s n − k , ⋯   , s n ∣ s 1 , ⋯   , s n − k − 1 ) p(s_{n-k},\cdots,s_n|s_1,\cdots,s_{n-k-1}) p(snk,,sns1

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值