作者:潘小小,字节跳动AI-Lab算法工程师,专业机器翻译算法,业余法语和音乐。
在这篇文章中,我会介绍一篇最新的预训练语言模型的论文,出自MASS的同一作者。这篇文章的亮点是:将两种经典的预训练语言模型(Masked Language Model, Permuted Language Model)统一到一个框架中,并且基于它们的优势和缺点,取长补短,提出了一个新的预训练语言模型---- MPNet,其混合了MLM和PLM各自的优势,达到了比两者更好的效果,在Natural Language Understanding和Natural Language Generation任务中,都取得了较好的结果。实验表明MPNet在大量下游任务中超越了MLM和PLM,从而证明了pretrain方法中的2个关键点:
MPNet: Masked and Permuted Pre-training for Language Understanding(https://arxiv.org/pdf/2004.09297.pdf)
【小小说】 这篇论文我很喜欢,读下来有一种打通了任督二脉一般行云流水的感觉。在本文中,我会从BERT和XLNet的统一理论框架讲起,然后引出作者如何得到MPNet这一训练方式,接着会介绍一下作者具体实现上用到的方法。希望本文可以让你对预训练语言模型的设计有一个更加理论化的认识。
❝既然是从BERT和XLNet到MPNet,那么当然是要先从这两者讲起。大家对BERT应该比较熟悉,它是划时代的工作,可以说从BERT开始,NLP领域正式进入了“预训练模型”的时代。而XLNet是随后的重磅之作,在这一节中,我们先来回顾一下它们。
❞
作者分别从input和output两个角度总结了两者的优缺点分别存在的地方:
❝「PLM在output dependency的问题上处理得比MLM好,但是预训练阶段和fine-tune阶段之间的差异比MLM的更大。」
❞
❝了解了BERT和XLNet各自的优缺点和适用的场景后,本文的作者试图从一个统一的视角去总结这两种预训练模型,而这个总结,引出了后来的MPNet。
❞
2. PLM: 原顺序 被打乱成
基于上述的讨论,作者给出了统一MLM和PLM训练目标的框架:将没有被mask的token放在左边,而将需要被预测的token(被mask掉的)放在右边。
MLM和PLM的训练目标公式非常接近,唯一的区别在于,MLM条件概率的条件部分是 和 ; 而PLM的条件部分是 ,它们的区别是:
❝基于上一节的总结,作者按照相同的思路提出了MPNet的预训练目标
❞
「a. MPNet的预训练目标」
「b. ”位置补偿“」
由于用到了Permuted Language Model的思想,所以MPNet和XLNet一样,也要使用two-stream self- attention。想要实现预训练目标中的 ,在实现上作者提出了“位置补偿”(position compensation),也就是说,在预测过程的每一步,query stream和content stream都可以看到N(N即序列长度)个token,具体结合图中的例子来说就是,
也就是说,无论预测到哪一步, , ,
可以看出,在预测 时,比MPNet少了 , ,在预测 时,比MPNet少了 。
「c. 总结」
通过上面的详细讲解,相信到这儿大家也明白了:MPNet保留的信息是BERT和XLNet的并集,第一,它利用PLM的自回归特性,规避了MLM的独立性假设,在预测后面token时也利用了之前预测出来的token;第二,它利用MLM建模中自带的序列信息,规避了PLM在预测前面的token时不知道序列整体的长度的缺点。这两点保证了MPNet完美扬长避短,因此在下游任务中完美击败了前两者。
致力于弥合pre-train阶段和下游任务fine- tune阶段的预训练目标,尽可能减少训练和预测过程中信息的损失,是研究预训练模型的重中之重,也是预训练模型领域整体的发展方向。读预训练系列论文的时候一定要抓住这个核心线索去读。
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方"AINLP",进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
推荐阅读
征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)
完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)
模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法
文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧🙏