0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

预训练语言模型设计的理论化认识

深度学习自然语言处理 来源:深度学习自然语言处理 作者:潘小小 2020-11-02 15:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在这篇文章中,我会介绍一篇最新的预训练语言模型的论文,出自MASS的同一作者。这篇文章的亮点是:将两种经典的预训练语言模型(MaskedLanguage Model, Permuted Language Model)统一到一个框架中,并且基于它们的优势和缺点,取长补短,提出了一个新的预训练语言模型----MPNet,其混合了MLM和PLM各自的优势,达到了比两者更好的效果,在Natural Language Understanding和NaturalLanguageGeneration任务中,都取得了较好的结果。实验表明MPNet在大量下游任务中超越了MLM和PLM,从而证明了pretrain方法中的2个关键点:

被预测的token之间的依赖关系 (MPNet vs MLM)

整个序列的位置信息 (MPNet vs PLM)

MPNet: Masked and Permuted Pre-training for Language Understanding(https://arxiv.org/pdf/2004.09297.pdf)

【小小说】这篇论文我很喜欢,读下来有一种打通了任督二脉一般行云流水的感觉。在本文中,我会从BERT和XLNet的统一理论框架讲起,然后引出作者如何得到MPNet这一训练方式,接着会介绍一下作者具体实现上用到的方法。希望本文可以让你对预训练语言模型的设计有一个更加理论化的认识。

1. BERT和XLNet各自的优缺点

既然是从BERT和XLNet到MPNet,那么当然是要先从这两者讲起。大家对BERT应该比较熟悉,它是划时代的工作,可以说从BERT开始,NLP领域正式进入了“预训练模型”的时代。而XLNet是随后的重磅之作,在这一节中,我们先来回顾一下它们。

「BERT」: Masked Language Model , 使用了双边的context信息,但是忽略了masked token之间的依赖关系

「XLNet」: Permuted Language Model , 保留了masked token之间的依赖关系,但是预测的时候每个token只能看到permuted sequence中的前置位的token的信息,不能看到所有token的信息。(p.s. 不知道XLNet的宝宝辛苦去复习 【论文串讲】从GPT和BERT到XLNet )

作者分别从input和output两个角度总结了两者的优缺点分别存在的地方:

「Input Discrepancy」: 在Natural Language Understanding的任务中,模型可以见到完整的input sentence,因此要求在预训练阶段,input要尽可能输入完整的信息

MLM中,token的语言信息是不完整的,不过位置信息是保留的(通过position embedding,p.s. 想具体了解如何通过position embedding保留的,请移步参考 【经典精读】Transformer模型深度解读 中"使用Positional Encoding带来的独特优势"这部分的内容)

PLM中,每个被预测的token只能“看”到被打乱的序列中位于它自己前面的token,而不能像MLM一样“看”到两侧的token。

「Output Dependency」:

MLM中,输出的token,即在input端被mask掉的token,是「互相独立的」。也就是说这些被mask掉的token之间是假定没有context层面的关系的。

PLM规避了MLM中的问题,被预测的token之间也存在context层面的关系。

「总结一下就是:」

「PLM在output dependency的问题上处理得比MLM好,但是预训练阶段和fine-tune阶段之间的差异比MLM的更大。」

2. 统一MLM和PLM的优化目标

了解了BERT和XLNet各自的优缺点和适用的场景后,本文的作者试图从一个统一的视角去总结这两种预训练模型,而这个总结,引出了后来的MPNet。

基于以上两点观察,本文的作者提出了统一Masked Language Model和Permuted Language Model的想法,并且起名叫「M」asked and「P」ermuted Language Model,缩写「MPNet」,意在取两者之长,避两者之短。

2.1. 统一优化目标的提出

MLM: 由于Masked Language Model中的独立性假设“每个被mask的位置的token之间是彼此独立的”,我们可以换一种方式看待Masked Language Model: 把Masked tokens统一挪到序列的末尾,这样做并不会改变模型的任何部分,只是我们的看待方式变了。

重新看待Masked Language Model

2. PLM: 原顺序 被打乱成

,然后最右边的两个token 和 就被选作要预测的token。

重新看待Permuted Language Model

基于上述的讨论,作者给出了统一MLM和PLM训练目标的框架:将没有被mask的token放在左边,而将需要被预测的token(被mask掉的)放在右边。

「MLM」

「PLM」

其中,是序列的其中一个permutation,表示在该permutation中的第 位,表示位置小于的所有位置。

2.2. 讨论

MLM和PLM的训练目标公式非常接近,唯一的区别在于,MLM条件概率的条件部分是 和 ; 而PLM的条件部分是,它们的区别是:

MLM比PLM多了 这个条件,也就是比PLM多了关于序列长度的信息(一个[M]就是一个位置)。

PLM比MLM多了被预测部分token之间的相关性:PLM的 是随着预测的进行(t的变化)而动态变化的,MLM的 对于整个模型预测过程进行是恒定不变的。

3. 提出MPNet

基于上一节的总结,作者按照相同的思路提出了MPNet的预训练目标

「a. MPNet的预训练目标」

我们既要像MLM那样,在预测时获取到序列长度的信息;又要像PLM那样,在预测后一个token时,以前面的所有token(包含前置位被预测出来的)为条件。MPNet做到了:

MPNet示意图

(b)图中灰色的部分是encoder端的bidirectional self-attention

(b)图中蓝色和绿色的部分分别是decoder端的two stream self-attention的content stream和query stream (two stream self-attention的具体定义请参考 【论文串讲】从GPT和BERT到XLNet ),这里提一下,content stream相当于query stream右移一步。

(a)图中黑色的线+绿色的线即对应了(b)图中的绿色点,(a)图中黑色的线+蓝色的线即对应了(b)图中的蓝色点。

(b)图中的行对应着query position,列对应着column position。

「b. ”位置补偿“」

由于用到了Permuted Language Model的思想,所以MPNet和XLNet一样,也要使用two-stream self-attention。想要实现预训练目标中的 ,在实现上作者提出了“位置补偿”(positioncompensation),也就是说,在预测过程的每一步,query stream和contentstream都可以看到N(N即序列长度)个token,具体结合图中的例子来说就是,

预测 时: 已知 , , , , , , , ,

预测 时: 已知 , , , , , , , , ,

预测 时: 已知 , , , , , , , , , ,

也就是说,无论预测到哪一步, , ,

, , , 这6个位置信息都可见。我们回顾一下XLNet,作一下对比:

预测 时: 已知 , , , , , ,

预测 时: 已知 , , , , , , , ,

预测 时: 已知 , , , , , , , , , ,

可以看出,在预测 时,比MPNet少了 , ,在预测 时,比MPNet少了 。

「c. 总结」

MPNet有效性来自于它保留了更多的信息

通过上面的详细讲解,相信到这儿大家也明白了:MPNet保留的信息是BERT和XLNet的并集,第一,它利用PLM的自回归特性,规避了MLM的独立性假设,在预测后面token时也利用了之前预测出来的token;第二,它利用MLM建模中自带的序列信息,规避了PLM在预测前面的token时不知道序列整体的长度的缺点。这两点保证了MPNet完美扬长避短,因此在下游任务中完美击败了前两者。

给我们的启发

致力于弥合pre-train阶段和下游任务fine-tune阶段的预训练目标,尽可能减少训练和预测过程中信息的损失,是研究预训练模型的重中之重,也是预训练模型领域整体的发展方向。读预训练系列论文的时候一定要抓住这个核心线索去读。

责任编辑:xj

原文标题:【论文串讲】从BERT和XLNet到MPNet

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PLM
    PLM
    +关注

    关注

    2

    文章

    148

    浏览量

    21939
  • nlp
    nlp
    +关注

    关注

    1

    文章

    491

    浏览量

    23188
  • 训练模型
    +关注

    关注

    1

    文章

    37

    浏览量

    4047

原文标题:【论文串讲】从BERT和XLNet到MPNet

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    , batch_size=512, epochs=20)总结 这个核心算法中的卷积神经网络结构和训练过程,是用来对MNIST手写数字图像进行分类的。模型将图像作为输入,通过卷积和池层提取图像的特征,然后通过全连接层进行分类预
    发表于 10-22 07:03

    基于大规模人类操作数据训练的VLA模型H-RDT

    近年来,机器人操作领域的VLA模型普遍基于跨本体机器人数据集训练,这类方法存在两大局限:不同机器人本体和动作空间的差异导致统一训练困难;现有大规模机器人演示数据稀缺且质量参差不齐。得
    的头像 发表于 08-21 09:56 776次阅读
    基于大规模人类操作数据<b class='flag-5'>预</b><b class='flag-5'>训练</b>的VLA<b class='flag-5'>模型</b>H-RDT

    海思SD3403边缘计算AI数据训练概述

    模型,将模型转化为嵌入式AI模型模型升级AI摄像机,进行AI识别应用。 AI训练模型是不断迭
    发表于 04-28 11:11

    用PaddleNLP为GPT-2模型制作FineWeb二进制训练数据集

    ,使用PaddleNLP将FineWeb数据集中文本形式的数据,经过分词(Tokenize),转换为大语言模型能直接使用的二进制数据,以便提升训练效果。 ChatGPT发布后,当代大
    的头像 发表于 03-21 18:24 3815次阅读
    用PaddleNLP为GPT-2<b class='flag-5'>模型</b>制作FineWeb二进制<b class='flag-5'>预</b><b class='flag-5'>训练</b>数据集

    训练好的ai模型导入cubemx不成功怎么处理?

    训练好的ai模型导入cubemx不成功咋办,试了好几个模型压缩了也不行,ram占用过大,有无解决方案?
    发表于 03-11 07:18

    从Open Model Zoo下载的FastSeg大型公共训练模型,无法导入名称是怎么回事?

    从 Open Model Zoo 下载的 FastSeg 大型公共训练模型。 运行 converter.py 以将 FastSeg 大型模型转换为中间表示 (IR): pyth
    发表于 03-05 07:22

    小白学大模型训练语言模型的深度指南

    在当今人工智能飞速发展的时代,大型语言模型(LLMs)正以其强大的语言理解和生成能力,改变着我们的生活和工作方式。在最近的一项研究中,科学家们为了深入了解如何高效地训练大型
    的头像 发表于 03-03 11:51 1205次阅读
    小白学大<b class='flag-5'>模型</b>:<b class='flag-5'>训练</b>大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>的深度指南

    用PaddleNLP在4060单卡上实践大模型训练技术

    作者:算力魔方创始人/英特尔创新大使刘力 之前我们分享了《从零开始训练一个大语言模型需要投资多少钱》,其中高昂的训练费用让许多对大
    的头像 发表于 02-19 16:10 2128次阅读
    用PaddleNLP在4060单卡上实践大<b class='flag-5'>模型</b><b class='flag-5'>预</b><b class='flag-5'>训练</b>技术

    腾讯公布大语言模型训练新专利

    近日,腾讯科技(深圳)有限公司公布了一项名为“大语言模型训练方法、装置、计算机设备及存储介质”的新专利。该专利的公布,标志着腾讯在大语言模型
    的头像 发表于 02-10 09:37 712次阅读

    【「基于大模型的RAG应用开发与优化」阅读体验】+大模型微调技术解读

    今天学习<基于大模型的RAG应用开发与优化>这本书。大模型微调是深度学习领域中的一项关键技术,它指的是在已经训练好的大型深度学习模型
    发表于 01-14 16:51

    《具身智能机器人系统》第7-9章阅读心得之具身智能机器人与大模型

    模型展示了强大的泛能力,能够将在模拟环境学到的技能迁移到真实场景。RT-2的改进版本更是引入了视觉-语言训练技术,使
    发表于 12-24 15:03

    KerasHub统一、全面的训练模型

    深度学习领域正在迅速发展,在处理各种类型的任务中,训练模型变得越来越重要。Keras 以其用户友好型 API 和对易用性的重视而闻名,始终处于这一动向的前沿。Keras 拥有专用的内容库,如用
    的头像 发表于 12-20 10:32 771次阅读

    GPU是如何训练AI大模型

    在AI模型训练过程中,大量的计算工作集中在矩阵乘法、向量加法和激活函数等运算上。这些运算正是GPU所擅长的。接下来,AI部落小编带您了解GPU是如何训练AI大模型的。
    的头像 发表于 12-19 17:54 1322次阅读

    AI大语言模型开发步骤

    开发一个高效、准确的大语言模型是一个复杂且多阶段的过程,涉及数据收集与预处理、模型架构设计、训练与优化、评估与调试等多个环节。接下来,AI部落小编为大家详细阐述AI大
    的头像 发表于 12-19 11:29 1213次阅读

    【「大模型启示录」阅读体验】如何在客服领域应用大模型

    训练模型如BERT、GPT等。这些模型在理解自然语言、生成文本、处理对话等方面具有不同的能力。因此,在选择模型时,需要了解每个
    发表于 12-17 16:53