【NLP】GPT:第一个引入Transformer的预训练模型

目前两种最重要的预训练语言模型,一种是前面介绍过的BERT,另外一种就是GPT。

GPT出了两个版本,GPT1.0和GPT2.0,GPT2.0相对于GPT1.0差别不大,可以认为是它的增强版。本篇介绍GPT1.0和GPT2.0,看看它于BERT有什么不一样。

作者&编辑 | 小Dream哥

1 GPT是什么

General Pre-Training(GPT),即通用预训练语言模型,是一种利用Transformer作为特征抽取器,基于语言模型进行训练的预训练语言模型。

所以,理解GPT主要熟悉两个方面即可,即语言模型和其由Transformer组成的结构。

2 语言模型

一个语言模型通常构建为一句话的概率分布p(W),这里的p(W)实际上反映的是W作为一个句子出现的概率。 说成大白话,语言模型就是计算某个句子出现的概率

对于一个由T个词按顺序构成的句子,P(W)实际上求解的是字符串的联合概率,利用贝叶斯公式,链式分解如下:

从上面可以看到,一个统计语言模型可以表示成,给定前面的的词,求后面一个词出现的条件概率。

我们在求P(W)时实际上就已经建立了一个模型,这里的诸多条件概率就是模型的参数。如果能够通过语料,将这些参数都学习到,就能够计算出一个句子出现概率。

GPT的预训练过程就是利用语料,构造训练数据,利用上述语言模型,不断预测,学习参数的过程。

3 GPT模型结构

上述介绍了GPT如何利用无监督语料和语言模型构建任务进行训练。那么GPT的网络模型结构长什么样呢?训练过程优化的网络,是个怎么样的网络呢?我们来看看。

GPT中引入的是Transformer中的解码器部分,结构如下图所示:

解码器与编码器的差异在于self-attention层上,解码器加了一层掩码,这是为了在自注意力计算的时候屏蔽了来自当前计算位置右边所有单词的信息。试想一下,在上述语言模型中,如果在预测下一个词时,已经知道下一个词的信息了,这不是作弊吗?这一点是与BERT这种双向结构不同的地方。

如上图所示,GPT就是由12个这样的解码器堆叠而成,如果看过之前我们分析BERT文章的同学,对这种结构的理解,应该会游刃有余了。

这里还值得一说的是下游任务如何基于GPT预训练之后进行Finetune。以分类为例,只需在样本前后分别加上Start和Extract符号,然后输入GPT,再接上分类器即可进行Finetune或者预测了。怎么样?是不是非常的省心?

4 GPT2.0

其实相对于GPT1.0在模型结构和训练模式上并没有本质的区别,GPT2.0仅仅是加大了模型结构和训练语料的规模。

GPT2.0使用了约 1000 万篇文章的数据集,文本集合达 40GB。这样训练出来的语言模型优势很明显,比使用专有数据集来的通用性更强,更能理解语言和知识逻辑,可以用于任意领域的下游任务。

还有一个变化是,在GPT2.0中,OpenAI没有再强调Finetune,也就说,OpenAI认为,只要模型能力够强,语料够好覆盖面够广,Finetune的过程其实不是必要的。

5 总结

GPT,特别是GPT2.0是一个大型无监督语言模型,能够生产连贯的文本段落,在许多语言建模基准上取得了 SOTA 表现。而且该模型在没有任务特定训练的情况下,能够做到初步的阅读理解、机器翻译、问答和自动摘要。

OpenAI非常的倔强,一直沿用单向语言模型的思路。这个特点让GPT2.0的语言生成能力令人惊叹。GPT和BERT是目前为止影响力最大的两种预训练语言模型,至今为止,胜负还没有定论,我们且关注。

总结

GPT是一种非常重要而且成功的预训练语言模型,后续openAI肯定还会继续更新他们的工作,对NLP从业者来说,这是非常值得期待的事情,我们拭目以待。

(0)

相关推荐

  • GPT-2:OpenAI的NLP商业化野望

    自然语言处理(NLP)技术正在生活的方方面面改变着我们的生活. 客厅的智能音箱在跟你每天的对话中飞速进步,甚至开始跟你"插科打诨"来适应你的爱好习惯. 电商客服总是能在第一时间回复 ...

  • 2020年深度学习技术发展综述

    来源:无人系统技术 作者:王亚珅 摘要:对深度学习领域的研究进行综合评述,并对其进一步发展方向进行分析.首先分析围绕注意力机制的深度学习技术最新研究成果,以及在自然语言处理领域取得突破性进展的巨型预训 ...

  • 回顾BART模型

    最近在生成相关论文时,经常看到使用BART(Bidirectionaland Auto-Regressive Transformers,双向自回归变压器)模型作为基线比较,或在BART模型上进行修改. ...

  • 如何通俗易懂地让女朋友明白什么是语言模型?

    深度学习自然语言处理 一个热衷于深度学习与NLP前沿技术的平台,期待在知识的殿堂与你相遇~ 154篇原创内容 公众号 来自:NLP情报局

  • 关于NLP相关技术全部在这里:预训练模型、信息抽取、文本生成、知识图谱、对话系统

    我们正处在信息爆炸的时代.面对每天铺天盖地的网络资源和论文.很多时候我们面临的问题并不是缺资源,而是找准资源并高效学习.其次,即便网络上的资源非常多,学习是需要成本的,而且越有深度的内容越难找到好的学 ...

  • 腾讯基于预训练模型的文本内容理解实践

    编辑整理:张书源 爱丁堡大学 出品平台:DataFunTalk 导读:预训练已经成为自然语言处理任务的重要组成部分,为大量自然语言处理任务带来了显著提升.本文将围绕预训练模型,介绍相关技术在文本内容理 ...

  • 开启NLP新时代的BERT模型,是怎么一步步封神的?

    NLP领域的伸手党们,上个月简直像在过年! 不仅号称谷歌最强NLP模型的BERT如约开源了,而且最新版本还支持中文,可以用于中文命名实体识别的Tensorflow代码!最关键的是,这个强大的模型还横扫 ...

  • NLP:NLP领域没有最强,只有更强的模型——GPT-3的简介、安装、使用方法之详细攻略

    NLP:NLP领域没有最强,只有更强的模型--GPT-3的简介.安装.使用方法之详细攻略 导读:NLP领域的模型,没有最大,只有更大.博主这几天也仔仔细细看了这篇长达75页的论文,光署名作者都有二三十 ...

  • 预训练模型,NLP的版本答案!

    NewBeeNLP 永远有料,永远有趣 222篇原创内容 公众号 1. 碎碎念 大概是两年前,跟百度的nlp组,参与合作过Ernie在对话系统上的应用. 问题其实很多,模型训练慢,一个月迭代一次很正常 ...

  • NLP实操手册: 基于Transformer的深度学习架构的应用指南(综述)

    人工智能算法与Python大数据 致力于提供深度学习.机器学习.人工智能干货文章,为AI人员提供学习路线以及前沿资讯 23篇原创内容 公众号 点上方人工智能算法与Python大数据获取更多干货 在右上 ...