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

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

3天内不再提示

一种基于乱序语言模型的预训练模型-PERT

深度学习自然语言处理 来源:NLP工作站 作者:刘聪NLP 2022-05-10 15:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

写在前面

今天分享给大家一篇哈工大讯飞联合实验室的论文,一种基于乱序语言模型的预训练模型-PERT,全名《PERT: PRE-TRAINING BERT WITH PERMUTED LANGUAGE MODEL》。该篇论文的核心是,将MLM语言模型的掩码词预测任务,替换成词序预测任务,也就是在不引入掩码标记[MASK]的情况下自监督地学习文本语义信息,随机将一段文本的部分词序打乱,然后预测被打乱词语的原始位置。

PERT模型的Github以及对应的开源模型其实年前就出来了,只是论文没有放出。今天一瞬间想起来去看一眼,这不,论文在3月14号的时候挂到了axirv上,今天分享给大家。

paper:https://arxiv.org/pdf/2203.06906.pdf
github:https://github.com/ymcui/PERT

介绍

预训练语言模型(PLMs)目前在各种自然语言处理任务中均取得了优异的效果。预训练语言模型主要分为自编码和自回归两种。自编码PLMs的预训练任务通常是掩码语言模型任务,即在预训练阶段,使用[MASK]标记替换原始输入文本中的一些token,并在词汇表中恢复这些被[MASK]的token。

常用预训练语言模型总结:https://zhuanlan.zhihu.com/p/406512290

那么,自编码PLMs只能使用掩码语言模型任务作为预训练任务吗?我们发现一个有趣的现象“在一段文本中随机打乱几个字并不会影响我们对这一段文本的理解”,如下图所示,乍一看,可能没有注意到句子中存在一些乱序词语,并且可以抓住句子的中心意思。该论文探究了是否可以通过打乱句子中的字词来学习上下文的文本表征,并提出了一个新的预训练任务,即乱序语言模型(PerLM)。e8d52ce8-cf96-11ec-bce3-dac502259ad0.png

模型

PERT模型结构如上图所示。PERT模型结构与BERT模型结构相同,仅在模型输入以及预训练目标上略有不同。

PERT模型的细节如下:

  • 采用乱序语言模型作为预训练任务,预测目标为原始字词的位置;
  • 预测空间大小取决于输入序列长度,而不是整个词表的大小(掩码语言模型预测空间为词表);
  • 不采用NSP任务;
  • 通过全词屏蔽和N-gram屏蔽策略来选择乱序的候选标记;
  • 乱序的候选标记的概率为15%,并且真正打乱顺序仅占90%,剩余10%保持不变。

由于乱序语言模型不使用[MASK]标记,减轻了预训练任务与微调任务之间的gap,并由于预测空间大小为输入序列长度,使得计算效率高于掩码语言模型。PERT模型结构与BERT模型一致,因此在下游预训练时,不需要修改原始BERT模型的任何代码与脚本。注意,与预训练阶段不同,在微调阶段使用正常的输入序列,而不是打乱顺序的序列。

中文实验结果与分析

预训练参数

  • 数据:由中文维基百科、百科全书、社区问答、新闻文章等组成,共5.4B字,大约20G。
  • 训练参数:词表大小为21128,最大序列长度为512,batch大小为416(base版模型)和128(large版模型),初始学习率为1e-4,使用 warmup动态调节学习率,总训练步数为2M,采用ADAM优化器。
  • 训练设备:一台TPU,128G。

机器阅读理解MRC任务

在CMRC2018和DRCD两个数据集上对机器阅读理解任务进行评测,结果如下表所示。e8e7ca9c-cf96-11ec-bce3-dac502259ad0.png
PERT模型相比于MacBERT模型有部分的提高,并且始终优于其他模型。

文本分类TC任务

在XNLI、LCQMC、BQ Corpus、ChnSentiCorp、TNEWS和OCNLI 6个数据集上对文本分类任务进行评测,结果如下表所示。e901a50c-cf96-11ec-bce3-dac502259ad0.png

在文本分类任务上,PERT模型表现不佳。推测与MRC任务相比,预训练中的乱序文本给理解短文本带来了困难。

命名实体识别NER任务

在MSRA-NER和People’s Daily两个数据集上对命名实体识别任务进行评测,结果如下表所示。e922c94e-cf96-11ec-bce3-dac502259ad0.png

PERT模型相比于其他模型均取得最优的效果,表明预训练中的乱序文在序列标记任务中的良好能力。

对比机器阅读理解、文本分类和命名实体识别三个任务,可以发现,PERT模型在MRC和NER任务上表现较好,但在TC任务上表现不佳,这意味着TC任务对词语顺序更加敏感,由于TC任务的输入文本相对较短,有些词语顺序的改变会给输入文本带来完全的意义变化。然而,MRC任务的输入文本通常很长,几个单词的排列可能不会改变整个文章的叙述流程;并且对于NER任务,由于命名实体在整个输入文本中只占很小的比例,因此词语顺序改变可能不会影响NER进程。

语法检查任务

在Wikipedia、Formal Doc、Customs和Legal 4个数据集上对文本分类任务进行评测语法检查任务进行评测,结果如下表所示。e938f854-cf96-11ec-bce3-dac502259ad0.png

PERT模型相比于其他模型均取得最优的效果,这是由于下游任务与预训练任务非常相似导致的。

预训练的训练步数对PERT模型的影响

不同的下游任务的最佳效果可能出现在不同的预训练步骤上,如下图所示。e98c68c2-cf96-11ec-bce3-dac502259ad0.png

我们发现对于MRC和NER任务,随着预训练步数的增加,下游任务也会随之提高。然而,对于TC任务,不同数据的指标在不同的步数上取得最优。如果考虑到特定任务的效果,有必要在早期训练中保存部分模型。

不同的打乱粒度对PERT模型的影响

不同粒度间的打乱,可以使使输入文本更具可读性。通过在不同粒度内乱序输入文本来比较性能,如下表所示。e9a25be6-cf96-11ec-bce3-dac502259ad0.png

我们发现,在各种打乱粒度中,无限制乱序的PERT模型在所有任务中都取得了最优的效果;而选择最小粒度(词语之间)的模型,效果最差。可能原因是,虽然使用更小的粒度的乱序可以使输入文本更具可读性,但是对预训练任务的挑战性较小,使模型不能学习到更好地语义信息。

不同预测空间对PERT模型的影响

将PERT模型使用词表空间作为预测目标是否有效?如下表所示。

e9b7dda4-cf96-11ec-bce3-dac502259ad0.png

实验结果表明,PERT模型不需要在词表空间中进行预测,其表现明显差于在输入序列上的预测;并且将两者结合的效果也不尽如人意。

预测部分序列和预测全部序列对PERT模型的影响

ELECTRA模型的实验发现预测完全序列的效果比部分序列的更好,因此ELECTRA模型采用RTD任务对判别器采用完全序列预测。但通过本论文实验发现,预测完全序列在PERT模型中并没有产生更好的效果。表明在预训练任务中使用预测全部序列并不总是有效的,需要根据所设计的预训练任务进行调整。e9db0a7c-cf96-11ec-bce3-dac502259ad0.png

总结

PERT模型的预训练思路还是挺有意思的,并在MRC、NER和WOR任务上均取得了不错的效果。并且由于结构与BERT模型一致,因此在下游任务使用时,仅修改预训练模型加载路径就实现了模型替换,也比较方便。当打比赛或者做业务时候,可以不妨试一试,说不定有奇效。(ps:我在我们自己的MRC数据集上做过实验,效果不错呦!!)


审核编辑 :李倩



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

    关注

    0

    文章

    570

    浏览量

    11255
  • 自然语言处理

    关注

    1

    文章

    629

    浏览量

    14563

原文标题:PERT:一种基于乱序语言模型的预训练模型

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    本帖欲分享在Ubuntu20.04系统中训练神经网络模型些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是
    发表于 10-22 07:03

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

    作者:算力魔方创始人/英特尔创新大使刘力 《用PaddleNLP在4060单卡上实践大模型训练技术》发布后收到读者热烈反响,很多读者要求进步讲解更多的技术细节。本文主要针对大
    的头像 发表于 03-21 18:24 3833次阅读
    用PaddleNLP为GPT-2<b class='flag-5'>模型</b>制作FineWeb二进制<b class='flag-5'>预</b><b class='flag-5'>训练</b>数据集

    ​VLM(视觉语言模型)​详细解析

    视觉语言模型(Visual Language Model, VLM)是一种结合视觉(图像/视频)和语言(文本)处理能力的多模态人工智能模型
    的头像 发表于 03-17 15:32 7597次阅读
    ​VLM(视觉<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 1211次阅读
    小白学大<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 2134次阅读
    用PaddleNLP在4060单卡上实践大<b class='flag-5'>模型</b><b class='flag-5'>预</b><b class='flag-5'>训练</b>技术

    文详解视觉语言模型

    视觉语言模型(VLM)是一种多模态、生成式 AI 模型,能够理解和处理视频、图像和文本。
    的头像 发表于 02-12 11:13 3260次阅读
    <b class='flag-5'>一</b>文详解视觉<b class='flag-5'>语言</b><b class='flag-5'>模型</b>

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

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

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

    ,减少了计算成本。LoRA(Low-Rank Adaptation):一种基于低秩分解的微调方法,通过分解模型参数矩阵为低秩矩阵来减少参数更新的数量,提高训练效率。PET(Prompt-based
    发表于 01-14 16:51

    语言模型管理的作用

    要充分发挥语言模型的潜力,有效的语言模型管理非常重要。以下,是对语言模型管理作用的分析,由AI部
    的头像 发表于 01-02 11:06 573次阅读

    KerasHub统、全面的训练模型

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

    GPU是如何训练AI大模型

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

    AI大语言模型开发步骤

    开发个高效、准确的大语言模型个复杂且多阶段的过程,涉及数据收集与预处理、模型架构设计、训练
    的头像 发表于 12-19 11:29 1221次阅读

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

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