ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding【representation】


title: “ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding, Yu Sun 2020”
subtitle:
date: 2021-01-18
author: xuqiurong
tags:
- 多任务学习
-


摘要:最近预训练模型在各种语言理解任务上达到了最先进的水平,目前的预训练程序通常集中在训练几种简单任务,来把握单词或者句子的共现,可是,除了共现信息**(???),在训练语料中还存在其他有价值的词汇,句法,语义信息**,比如,命名实体,语法,亲密关系和话语关系**(???)**。

为了从训练语料中抽取词汇,句法和语义关系,我们提出了一个连续的预训练框架称作ERNIE2.0,递增式地构建预训练任务,然后通过连续的多任务学习,在构建的任务上学习预训练模型。

基于这个框架,我们构建几种任务,并且训练ERNIE2.0模型来捕获训练数据中词汇,句法和语法方面的信息,实验结果表明ERNIE2.0模型优胜于BERT和XLNet,共表现在16个任务上,包括GLUE基准英文任务和几种中文相似任务。

关于摘要的疑问:什么是 递增式地构建预训练任务 ? 怎么递增式地构建 ? 本文的重点就只是在构建任务上吗,那么用于训练的模型是什么样子的 ?构建任务和重重数据集是一回事吗??

介绍:已有的预训练模型:ELMO,GPT,BERT,ERNIE1.0,XLNet。

l连续多任务学习:When given one or more new tasks, the continual multi-task learning method simultaneously trains the newly-introduced tasks together with the original tasks in an efficient way, without forgetting previously learned knowledge.

贡献:提出了一个连续预训练框架,支持定制的训练任务和递增式学习连续的多任务学习;我们构造三种无监督语言处理任务来验证我们的框架,得到了比BERT和XLNet更好的结果。

Related Work

语言表达的无监督学习

用无监督数据学习语言表达很有效,传统的方法通常聚焦于上下文独立的word embedding, 比如Word2Vec和GloVe基于word co-occurring信息学习固定的word embedding.

近年来,一些以语境化表达被为中心的研究被提出,语境依赖的语言表达在各种NLP任务中取得了最先进的结果。
- ELMO 提出提取上下文敏感的特征。
- GPT通过调整Transformer增强上下文敏感embedding.
- BERT采用一种遮蔽语言模型,这个模型添加下一个句子的预测任务到预训练中。
- XLM集成两个方法来学习跨语言语言模型,即无监督方法仅仅依赖单语料数据,监督方法利用平行双语料。
- MT-DNN
- XLNet使用Transformer-XL,提出广义自回归预训练方法,学习双向上下文,分解顺序的全排列的最大化期望似然。

连续学习

连续学习是在序列的几种任务上训练模型,以便在训练新的任务的时候,它能记住先前学习的任务。通过连续学习,模型应该可以再新的任务上表现得好,因为在之前的训练中获取了知识。

The ERNIE 2.0 Framework

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding【representation】

  1. 连续预训练
    分为两步:第一步,用大数据和先验知识**???**构造无监督预训练任务;第二步,通过连续多任务学习更新ERNIE模型。
    • 预训练任务构造: We can construct different kinds of tasks at each time, including word-aware tasks,structure-aware tasks and semantic-aware tasks。

    • 连续多任务学习:

      • The first is how to train the tasks in a continual way without forgetting the knowledge learned before.
      • The second is how to pre-train these tasks in an efficient way.
        解决第一个问题:使用先前学习的参数初始化模型,然后训练构造出的任务。
        解决第二个问题:每个任务都迭代N次。

      ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding【representation】
      多任务学习耗时,以前的连续学习会忘记之前学习的额知识。

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding【representation】
???

  1. 应用任务Fine-tuning
    再被fine-tuned之后,每个下游任务有自己的fine-tuned 模型。

ERNIE 2.0 Model

下面是模型的结构:

  • Model Structure
    ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding【representation】

结合图3和图1,Trnasformer Encoder及以下部分应该不动,Encoder之上是 连续预训练 部分

- Transformer Encoder
	multi-layer Transformer作为基本encoder,通过self-attention可以获取序列中每个token的上下文信息,生成一系列上下文embedding. 
- Task Embedding
	用0~N的id表示任务的序号,每个任务id被分配一个特殊的任务embedding. 相应的token ,segment,position and tsak embedding 作为模型的输入。在fine-tuning时我们可以用任何task id来初始化我们的模型,
  • Pre-training Tasks
    下面三种预训练任务,word->lexical, structure ->syntatic, semantic->semantic information
  • Word-aware Pre-training Tasks
    • Knowledge Masking Task
      使用ERNIE1.0提出的phrase masking and named entity masking,预测整个被遮蔽的短语和命名实体来帮助模型学习局部上下文和全局上下文的依赖信息。我们用这个任务训练模型的初始化版本。
    • Capitalization Prediction Task
      大写单词通常有特定的语义信息,对于NER任务有很多好处,我们添加了一个任务,判断一个单词是不是大写的。
    • Token-Document Relation Prediction Task
      这个阶段预测段中的token是否出现在原始文档中的其他段中,经验上讲,在文档中多处出现的词通常有相同的使用方法,或者和文档的主题相关,因此,通过识别经常出现的文档中的单词,可以在一定程度上捕获文档的关键词。
  • Structure-aware Pre-training Tasks
    • Sentence Recordering Task ???
      这个任务的目的是学习句子之间的关系,在预训练过程中,给定的一个段落被随机划分为1~m个片段,然后所有的组合都被重新洗牌排序,我们让预训练模型识别这些排了序的片段,模型看作k分类问题,经验上讲,片段重排任务可以使预训练模型学习文档中句子之间的关系。
    • Sentence Distance Task
      我们也使用documents information构造了一个学习句子距离的预训练任务。这个任务建模为3分类问题,0 表示两个句子在同一个文档中是相邻的,1 表示两个句子在同一个文档中,但是不相邻,2 表示两个句子不在同一个文档中。
  • Semantic-aware Pre-training Tasks
    • Discourse Relation Task
      除了上面提到的距离任务,我们介绍了一个预测语义关系和修辞关系的任务。。。
    • IR Relevance Task
      学习信息检索中的短文本关系,这是一个三分类任务,预测的是查询和标题之间的关系。我们把查询当做第一个句子,把标题当做第二个句子,商业搜索引擎的搜索日志作为我们的预训练数据,在这个任务中三种labels,0 表示强关联,用户在搜索之后点进了title,1 表示弱关联,意味着在查询之后,title显示在搜索结果列表中,但是用户没有点进去,2 表示查询和标题完全不相关和随机的语义信息。

Experiments

英文和BERT、XLNet对比,中文和BERT、ERNIE1.0对比,和多任务学习对比,和传统连续学习对比。
ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding【representation】

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding【representation】

We use the same model settings of transformer as BERT, The base model contains 12 layers, 12 self-attention heads and 768-dimensional of hidden size, the large model contains 24 layers, 16 self-attention heads and 1024-dimensional of hidden size.

上一篇:Codeforces 1424M - Ancient Language (拓扑排序)


下一篇:[论文阅读]Character-Level Language Modeling with Deeper Self-Attention