Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[预训练语言模型专题] 百度出品ERNIE合集,问国产预训练语言模型哪家强

[预训练语言模型专题] 百度出品ERNIE合集,问国产预训练语言模型哪家强

作者头像
朴素人工智能
发布于 2020-04-21 10:03:52
发布于 2020-04-21 10:03:52
9860
举报
文章被收录于专栏:朴素人工智能朴素人工智能
感谢清华大学自然语言处理实验室对预训练语言模型架构的梳理,我们将沿此脉络前行,探索预训练语言模型的前沿技术,红框中为已介绍的文章,绿框中为本期介绍的文章,欢迎大家留言讨论交流。

1

ERNIE: Enhanced Representation through Knowledge Integration(2019)

大家可能也注意到了,在上面的架构图中有两个ERNIE,一个是由清华大学发表在ACL上的 ERNIE: Enhanced Language Representation with Informative Entities 我们以后可能会提及,另一个就是当前要介绍的这篇,由百度所出品,在本文中分享的ERNIE指 ERNIE(Baidu)

有朋友也许会问,为什么它们都会起ERNIE这个名字呢?BERT和ERNIE都是著名的卡通芝麻街里的人物,而且两人是很好的朋友。甚至据小道消息(当然芝麻街出品官方是否认的),芝麻街作者对BERT和ERNIE的人物设定是一对gay友哦。咳咳,扯远了~ 不过,BERT和ERNIE的亲密关系是众所周知的,起这个名字,说明大家都想和BERT遥相呼应(gaoji)!

在文章摘要中,作者提出了ERNIE是通过加强BERT的masking策略来获取知识,包括引入实体级别的masking和词级别的masking,实验证明,ERNIE在五项中文自然语言处理任务上继BERT之后又刷新了榜单,并且在完形填空任务上有出色的表现。

ERNIE和BERT的联系确实是极为密切的,基于BERT,ERNIE提出两种加强的masking方式,分别是entity-level masking phrase-level masking。由entity或phrase作为单位来做masking,一般会包含多个字或词。作者认为这样在训练的过程中,可以让模型学习到与phrase和entity相关的知识,包括实体间的关系,实体的属性,实体的类别等,帮助模型更好地泛化。

上图显示了BERT和ERNIE的masking的差异。简单来说,原来在一句句子中随机的15%token被mask,那么一个连续的词,比如“哈尔滨”,很可能其中某个字被mask掉,其他没有。而这个词实际上包含着实体连续的含义,如果只mask掉一部分,那么一来会导致这个mlm的任务过于简单,二来没能更好学到实体的知识。

为了让模型渐渐地学到更高层的知识,文章提出通过三个阶段的预训练来学习。

  1. 第一个阶段是基本的masking,与BERT类似,用语言最基本的单元来mask。在英文层面用词,在中文层面用字来mask,这样可以获得词的基本表达,但尚未对语义知识进行建模。
  2. 第二个阶段是短语的masking,相邻的概念层面上一组词或字符。在中文中,一般会用分词工具在将相邻的字分成词语,这样可以对稍大的语义模块来进行建模。
  3. 第三个阶段是实体的masking,包括人名,地点,组织,产品等。这些实体会倾向于包含句子中的重要信息。通过这三个阶段的训练,向量表示就会包含更丰富的语义信息。

在上图XNLI的结果,可以看出这三阶段的训练是有效的,同时下图显示,ERNIE基于BERT进行的改进可以稳定地提升BERT模型的效果。

编者认为,衡量一种算法的改进是否好,一方面是观察它的效果是否有提升并且稳定,从ERNIE的结果上来说是不错的。另一方面是这种改进的代价是否比较小,这一点ERNIE的思想也具有吸引力,因为改变的是预训练的mask方法,而且改动不大,对输入的语料没有影响,对后续finetune也没有影响。所以,BERT后来也结合这种改进的思路,推出了BERT-wwm,即Whole Word Masking 模型,在mask时对整词同时进行mask,渐渐成为了大家常用的模型之一。

2

ERNIE 2.0: A CONTINUAL PRE-TRAINING FRAMEWORK FOR LANGUAGE UNDERSTANDING (2019)

这篇ERNIE 2.0也是百度出品,没有在架构图中,但有一定的关联,我们就一起介绍一下。这篇文章出了以后,大家习惯叫之前的那篇为ENRIE 1.0。

文中提出了一种预训练学习框架,可以通过多任务构造和学习的方法,提取训练语料中的多种语义信息,实验表明,ERNIE2.0在16个任务上超过了BERT和XLNet。

文章指出,当前的预训练语言模型大多是基于词语和句子之间的共现关系来进行建模训练的,然而实际上训练语料中包含很多其他的,包括词汇,句法,语义的有价值的信息值得去关注。比如命名实体识别会包含实体概念的知识;句子的顺序和距离,会包含文本结构的信息;段落级别的相似性和语句间论述关系,会包含语言逻辑信息等等。为了挖掘出训练语料中的丰富信息,作者们设计了一种预训练框架ERNIE 2.0来对多任务进行连续增量的训练。

ERNIE 2.0脱胎于传统的预训练+Finetune框架,但又有所区别。相比于传统做法,它不是在少量预训练任务上完成的,而是通过不断引入新的预训练任务,帮助模型持续地对知识进行增量学习。

持续学习的过程分为两个阶段,首先,利用先验知识和大量数据,构建无监督预训练的任务;接着,通过多任务训练增量地更新ERNIE的模型。

  • 预训练模型任务的构建,包括词级别的任务,结构级别的任务,语义级别的任务。所有这些的任务都是不需要依赖大量人类标注的自监督或弱监督数据。
  • 多任务训练时,ERNIE会通过一种增量学习的范式来训练所有的这些任务。先用一个简单的任务来预训练模型,然后一个一个添加新的任务。每添加一个任务都会同时训练新任务和原来任务,以确保从之前任务学到的知识不被遗忘。通过这样使知识增量积累,以达成在新任务上的更好效果。

总结一下ERNIE的预训练方式。首先,任务会串行地构造不同的预训练任务,并一个个连续地加入训练中,这样可以保持任务训练的灵活性;其次,当前已加入训练的任务会进行并行的多任务训练,这样使模型不致于忘记之前训练过的任务,比如这样:

(task1)->(task1,task2)->(task1,task2,task3)->...->(task1,task2,...,taskN)

跟BERT一样,对于句级别的loss,模型一般会通过[CLS] token的表达来学习,而每个token的loss,则会通过对应的token的表示去学习,多个任务用不同的loss来学习。

Transformer层也和BERT的一样,有一点不同的是,因为模型会对多任务进行持续增量的学习,所以会在Embedding中引入Task Embedding,以对不同的任务提供特定特征。

最后,我们来看看在不同任务上的结果对比。下图中可以看到,ERNIE 2.0 在大量任务中力压当时 state-of-art的模型。

在中文的任务上,ERNIE 2.0 也是表现出色,全线飘红。

总结一下,ERNIE 2.0 是一个连续增量学习的框架,通过增量构造并加入预训练语言模型任务,连续并行地进行多任务学习,取得了较好的效果。框架提供的思路和对任务的分类都很有启发。但个人感觉美中不足的是,这篇文章缺少abalation study,而且预训练的过程又相对繁琐,模型使用了7个以上的预训练任务,但是读者无法了解,哪些预训练任务是相对重要或者有用的。总之,这篇文章还是很有意思的,值得读者们借鉴。

未完待续

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 朴素人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
5 分钟理解百度 ERNIE 核心思想
从图中,我们很容易发现 ERNIE1.0 对于 BERT 的改进是在 MLM 任务。在论文,作者阐述了三种不同的 mask 技巧:
阿泽 Crz
2021/07/06
4370
5 分钟理解百度 ERNIE 核心思想
BERT+实体-百度ERNIE优化了啥
如何将知识(knowledge)信息融入到模型训练中,一种方式是将知识信息作为输入,成本是其他人使用的时候也要构建知识库,并且fine-tune和pre-train的知识库分布不一致,fine-tune也会出现问题。
百川AI
2021/10/19
9330
全面超越BERT、XLNet,中文最强NLP模型百度ERNIE2.0发布!
今年3月份,百度发布了NLP模型ERNIE初代版本。这个模型刚一出世,便取得了骄人成绩:在中文任务中,全面超越当前最强NLP模型BERT,一度引发业界广泛关注和探讨。而短短4个月时间,百度ERNIE就进化到了2代版本,这是一个中英文对话的AI框架和模型。
新智元
2019/08/05
2K0
NLP | 百度 ERNIE - 简析1.0 与 2.0
本文以通俗易懂的语言介绍了百度提出的 持续学习语义理解框架 ERNIE 的基本原理,和利用 ERNIE 来解决下游 NLP 任务的过程。
用户3946442
2022/04/11
8280
NLP | 百度 ERNIE - 简析1.0 与 2.0
一网打尽:14种预训练语言模型大汇总
预训练语言模型是NLP中的核心之一,在pretrain-finetune这一阶段的NLP发展中发挥着举足轻重的作用。预训练语言模型的无监督训练属性,使其非常容易获取海量训练样本,并且训练好的语言模型包含很多语义语法知识,对于下游任务的效果会有非常明显的提升。本文首先介绍预训练语言模型的里程碑方法,然后进一步介绍学术界针对预训练语言模型中的问题提出的各种改进和创新,包括14个经典预训练语言模型。
圆圆的算法笔记
2022/09/22
1.6K0
一网打尽:14种预训练语言模型大汇总
详解ERNIE-Baidu进化史及应用场景
ERNIE: Enhanced Representation through Knowledge Integration[1] 是百度在2019年4月的时候,基于BERT模型,做的进一步的优化,在中文的NLP任务上得到了state-of-the-art的结果。
NewBeeNLP
2020/08/26
7820
详解ERNIE-Baidu进化史及应用场景
自然语言预训练模型大总结​
先来一张图。 本文主要援引复旦大学邱锡鹏教授的论文:NLP预训练模型综述,对预训练模型进行了一些梳理
机器学习之禅
2022/07/11
8480
自然语言预训练模型大总结​
详解百度ERNIE进化史及典型应用场景
上个月,全球规模最大的语义评测比赛 SemEval 2020 结果出炉,百度基于飞桨平台自研的语义理解框架 ERNIE 一举斩获 5 项世界冠军,囊括视觉媒体的关键文本片段挖掘、多语攻击性语言检测和混合语种的情感分析。去年,ERNIE先后完成两版重大升级:ERNIE 1.0 提出知识增强的语义表示模型, ERNIE 2.0 则构建了持续学习语义理解框架,在中英文 16 个任务上超越业界最好模型。本文将为开发者详细解读ERNIE的进化史。
用户1386409
2020/04/26
1.1K0
详解百度ERNIE进化史及典型应用场景
NLP预训练模型中的骄子:百度ERNIE和谷歌BERT,你PICK谁?
说到美国动漫《芝麻街》中的BERT,很多人就会自然而然想到他的好朋友ERNIE,在科技圈中的BERT和ERNIE也经常被同时cue到……
刀刀老高
2019/08/09
8780
NLP预训练模型中的骄子:百度ERNIE和谷歌BERT,你PICK谁?
百度正式发布ERNIE 2.0,16项中英文任务超越BERT、XLNet,刷新SOTA
近两年,以 BERT、XLNet 为代表的无监督预训练技术在多个自然语言处理任务上取得了技术突破。基于大规模数据的无监督预训练技术在自然语言处理领域变得至关重要。
机器之心
2019/08/02
8980
百度正式发布ERNIE 2.0,16项中英文任务超越BERT、XLNet,刷新SOTA
百度的预训练模型ERNIE取得新的NLP基准记录
随着自然语言处理在越来越多的用例中被广泛采用,从搜索引擎到移动智能助手,诸如百度的ERNIE(通过知识整合增强表示)等领先的预训练语言模型由于在机器学习领域受到了广泛关注。自从今年早些时候发布以来取得了重大进展,今天很高兴地宣布ERNIE在GLUE上取得了最新的性能,并成为世界上第一个在宏观平均得分方面得分超过90的模型(90.1)。
代码医生工作室
2019/12/19
7130
百度的预训练模型ERNIE取得新的NLP基准记录
【论文笔记】NLP 预训练模型综述
Pre-trained Models for Natural Language Processing: A Survey 花了一上午看完的综述,强烈推荐每个 NLPer 都读一读,很长一段时间内都能当做工具书来用(下一个 break-through 来临前)。
zenRRan
2020/05/18
8710
【论文笔记】NLP 预训练模型综述
百度开源自然语言理解模型 ERNIE 2.0,16 个 NLP 任务中碾压 BERT 和 XLNet!
7 月 30 日,百度发布了 ERNIE(Enhanced Representation through kNowledge IntEgration)的优化版本——ERNIE 2.0 自然语言理解框架。这个中英文对话的 AI 框架不仅获得了最优的(SOTA)结果,并且在 16 个 NLP 任务中表现出优于 BERT 和最近的 XLNet 的高水准。目前,ERNIE 2.0 代码和英文预训练模型已开源。
AI研习社
2019/08/06
5100
后BERT时代:15个预训练模型对比分析与关键点探究
在小夕之前写过的《NLP的游戏规则从此改写?从word2vec, ELMo到BERT》一文中,介绍了从word2vec到ELMo再到BERT的发展路径。而在BERT出现之后的这大半年的时间里,模型预训练的方法又被Google、Facebook、微软、百度、OpenAI等极少数几个玩得起游戏的核心玩家反复迭代了若干版,一次次的刷新我们这些吃瓜群众的案板上的瓜。
zenRRan
2019/08/21
2.2K0
后BERT时代:15个预训练模型对比分析与关键点探究
深度学习进阶篇-国内预训练模型[5]:ERINE、ERNIE 3.0、ERNIE-的设计思路、模型结构、应用场景等详解
ERINE是百度发布一个预训练模型,它通过引入三种级别的Knowledge Masking帮助模型学习语言知识,在多项任务上超越了BERT。在模型结构方面,它采用了Transformer的Encoder部分作为模型主干进行训练,如 图1 (图片来自网络)所示。
汀丶人工智能
2023/05/28
3.3K0
深度学习进阶篇-国内预训练模型[5]:ERINE、ERNIE 3.0、ERNIE-的设计思路、模型结构、应用场景等详解
站在BERT肩膀上的NLP新秀们(PART I)
去年NLP领域最火的莫过于BERT了,得益于数据规模和计算力的提升,BERT在大会规模语料上预训练(Masked Language Model + Next Sentence Prediction)之后可以很好地从训练语料中捕获丰富的语义信息,对各项任务疯狂屠榜。
zenRRan
2019/06/21
8310
站在BERT肩膀上的NLP新秀们(PART I)
NLP预训练中的mask方式总结
数据输入模型的时候长短不一,为了保持输入一致,通过加padding将input转成固定tensor
用户3946442
2022/04/11
1.4K0
NLP预训练中的mask方式总结
如何利用多任务学习提升模型性能?
提升模型性能的方法有很多,除了提出过硬的方法外,通过把神经网络加深加宽(深度学习),增加数据集数目(预训练模型)和增加目标函数(多任务学习)都是能用来提升效果的手段。(别名Joint Learning,Learning to learn,learning with auxiliary task....等)
石晓文
2021/03/24
4.9K0
如何利用多任务学习提升模型性能?
EMNLP 2021 | 百度:多语言预训练模型ERNIE-M
2021年伊始,百度发布多语言预训练模型ERNIE-M,通过对96门语言的学习,使得一个模型能同时理解96种语言,该项技术在5类典型跨语言理解任务上刷新世界最好效果。在权威跨语言理解榜单XTREME上,ERNIE-M也登顶榜首,超越微软、谷歌、Facebook等机构提出的模型。(但是现在降到了第7名)
NewBeeNLP
2021/12/17
1.2K0
EMNLP 2021 | 百度:多语言预训练模型ERNIE-M
中文任务全面超越BERT:百度正式发布NLP预训练模型ERNIE
ERNIE Github 项目地址:https://github.com/PaddlePaddle/LARK/tree/develop/ERNIE
机器之心
2019/04/09
1K0
中文任务全面超越BERT:百度正式发布NLP预训练模型ERNIE
推荐阅读
相关推荐
5 分钟理解百度 ERNIE 核心思想
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档