新智元从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史


新智元从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
本文插图
来自 | 知乎
地址 | https://zhuanlan.zhihu.com/p/146325984
作者 | 叶琛
编辑 | 朴素人工智能
20世纪以来 , 自然语言处理(NLP)领域的发展涌现了许多创新和突破 。 NLP中许多之前机器不可能完成的任务 , 如阅读理解、人机对话、自动写新闻稿等 , 正逐渐成为现实 , 甚至超越了人类的表现 。
如果总结过去20年里 , 无数先辈辛劳付出带来的璀璨成果 , 以下3个代表性工作列入NLP名人堂 , 应该实至名归:1)2003年Bengio提出神经网络语言模型NNLM , 从此统一了NLP的特征形式——Embedding;2)2013年Mikolov提出词向量Word2vec , 延续NNLM又引入了大规模预训练(Pretrain)的思路;3)2017年Vaswani提出Transformer模型 , 实现用一个模型处理多种NLP任务 。
基于Transformer架构 , 2018年底开始出现一大批预训练语言模型 , 刷新众多NLP任务 , 形成新的里程碑事件 。 本文将跨越2018-2020 , 着眼于3个预训练代表性模型BERT、XLNet和MPNet , 从以下4个章节介绍NLP预训练语言模型的发展变迁史:
1.BERT 原理及 MLM 简述
2.XLNet 原理及 PLM 简述
3.MPNet 原理及创新点简述
4.NLP预训练模型趋势跟踪
附录:快速上手BERT的4大工具包1.BERT 原理及 MLM 简述
新智元从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
本文插图
自谷歌2018年底开源BERT , NLP界的游戏规则某种程度上被“颠覆”了;一时间 , 这个芝麻街的可爱小黄人形象 , 成为众多NLPer及其他DL、ML研究者们的拥趸 。
“BERT一把梭“ , “遇事不决就BERT” , “BERT在手 , 天下我有” , 表达了使用者们对BERT的心声 。 也因为BERT , NLP的准入门槛大幅下降 , 一些较浅层的NLP任务如文本分类、相似匹配、聚类某种程度上可以被认为是完全解决 。
新智元从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
本文插图
BERT 四大下游任务微调
BERT为什么会有如此引人注目的优良效果?下面我们再来回顾下BERT到底是什么 。
1.1 Masked Language Model & Next Sentence Predict
BERT本质上是一个自编码(Auto Encoder)语言模型 , 为了能见多识广 , BERT使用3亿多词语训练 , 采用12层双向Transformer架构 。 注意 , BERT只使用了Transformer的编码器部分 , 可以理解为BERT旨在学习庞大文本的内部语义信息 。
具体训练目标之一 , 是被称为掩码语言模型的MLM 。 即输入一句话 , 给其中15%的字打上“mask”标记 , 经过Embedding输入和12层Transformer深度理解 , 来预测“mask”标记的地方原本是哪个字 。
input:欲把西[mask]比西子 , 淡[mask]浓抹总相宜
output:欲把西[湖]比西子 , 淡[妆]浓抹总相宜
例如我们输入“欲把西[mask]比西子 , 淡[mask]浓抹总相宜”给BERT , 它需要根据没有被“mask”的上下文 , 预测出掩盖的地方是“湖”和“妆” 。
MLM任务的灵感来自于人类做完形填空 。 挖去文章中的某些片段 , 需要通过上下文理解来猜测这些被掩盖位置原先的内容 。
训练目标之二 , 是预测输入的两句话之间是否为上下文(NSP)的二分类问题 。 继续输入“ 欲把西[湖]比西子 , 淡[妆]浓抹总相宜” , BERT将预测这两句话的组合是否合理(这个例子是“yes”) 。 (随后的研究者对预训练模型探索中证明 , NSP任务过于简单 , 对语言模型的训练作用并不是很大)
通过这两个任务和大规模语料训练 , BERT语言模型可以很好学习到文本之间的蕴含的关系 。