18次周报

18次周报

摘要

This week I read two review about the natural language processing .In the first article,the authors token a look into the history of pre-training to indicated the core issue of PTMs, and meanwhile revealed the crucial position of PTMs in the AI development spectrum.In another article, the author provided formal definitions for seven paradigms, and introduced the representative tasks and example models they accomplish. Finally, the author discussed the design and challenges of several prominent paradigms, which have shown enormous potential in unifying most existing NLP tasks.这周我读了两篇关于自然语言处理的综述,在第一篇文章中,我们回顾了预训练的历史,作者指出了 PTMs 的核心问题,同时揭示了 PTMs 在 AI 发展光谱中的关键地位。在另一篇文章中,作者给出了七种范式的正式定义,并介绍了它们完成的代表性任务和实例模型,最后,作者讨论了几个突出的范式的设计和挑战,这些范式在统一大多数现有NLP任务方面表现出了巨大的潜力。

文献阅读

1.《Pre-Trained Models: Past, Present and Future》

作者:Xu Han1∗,Zhengyan Zhang1∗, Ning Ding1∗,Yuxian Gu1∗, Xiao Liu1∗, Yuqi Huo2∗,Jiezhong Qiu1, Yuan Yao1, Ao Zhang1, Liang Zhang2, Wentao Han1†, Minlie Huang1†,Qin Jin2†, Yanyan Lan4†, Yang Liu1,4†, Zhiyuan Liu1†, Zhiwu Lu3†, Xipeng Qiu5†,Ruihua Song3†, Jie Tang1†, Ji-Rong Wen3†, Jinhui Yuan6†, Wayne Xin Zhao3†
, Jun Zhu1†
期刊:《ai open》

一、Transfer Learning and Supervised Pre-Training 迁移学习和有监督预训练

早期的预训练工作主要涉及迁移学习。迁移学习的研究很大程度上是基于人们可以依靠以前学到的知识来解决新问题,甚至取得更好的结果。更正式地说,迁移学习的目的是从多个源任务中获取重要的知识,然后将这些知识应用到目标任务中。
在迁移学习中,源任务和目标任务可能具有完全不同的数据域和任务设置,但处理这些任务所需的知识是一致的(Pan和Yang, 2009)。因此,选择一种可行的方法将知识从源任务转移到目标任务是非常重要的。为此,提出了各种预训练方法,作为源任务和目标任务之间的桥梁。具体来说,这些方法首先对多个源任务的数据进行预训练,对知识进行预编码,然后将预编码的知识转移到目标任务的训练模型中。
一般来说,迁移学习的两种预训练方法是特征迁移和参数迁移。特征迁移方法对有效的特征表示进行预训练,以对跨领域和任务的知识进行预编码(Johnson和Zhang, 2005;Evgeniou和Pontil, 2007;Dai等人,2007;Raina等人,2007)。通过将这些预先训练的表征注入到目标任务中,可以显著提高目标任务的模型性能。参数迁移方法遵循一个直观的假设,即源任务和目标任务可以共享模型参数或超参数的先验分布。因此,这些方法将知识预编码为共享的模型参数(Lawrence和Platt, 2004;Ev-geniou和Pontil, 2004年;Williams等人,2007;Gao et al., 2008),然后利用目标任务的数据,通过微调预训练参数来传递知识。
在一定程度上,表征传递和参数迁移都是PTMs的基础。词嵌入是一种建立在特征迁移框架上的语言处理方法,被广泛用于自然语言处理任务的输入。受参数迁移的启发,预训练的CNN被用作最先进的CV模型的主干。最近一些著名的PTMs也是基于表征迁移和参数迁移的,如ELMo (Peters et al., 2018)和BERT分别采用了表征迁移和参数迁移。
自AlexNet (Krizhevsky et al., 2012)以来,一系列用于人工智能任务的深度神经网络被开发出来。与传统的机器学习模型相比,深度神经模型具有更多的参数,显示出更好的拟合复杂数据的能力。因此,从AlexNet到后来的VGG (Simonyan and Zisserman, 2015)和GoogleNet (Szegedy et al., 2015),这些神经网络的架构越来越深,性能也越来越好。虽然网络深度很重要,但训练一个深度网络并不容易,因为堆叠更多的网络层不可避免地会带来梯度消失或爆炸的问题(Ben-gio et al., 1994)。除了梯度问题外,模型性能可能很快就会遇到一个上限,然后随着网络深度的不断增加而迅速下降。
通过对参数初始化 (LeCun et al., 2012; Saxe et al., 2013) 和隐藏状态 (Ioffe and Szegedy, 2015) 添加归一化,并引入带有残差层的快捷连接 ResNet (He et al. , 2016) 有效地解决了这些问题。正如我们之前提到的,深度神经网络需要大量的数据进行训练。为了提供足够的数据来训练深度模型,还建立了一些大规模的监督数据集(Russakovsky et al., 2015;Lin等人,2014;Krishna等人,2017年;Chen et al., 2015;Cordts et al., 2016),其中最具代表性的是ImageNet。ImageNet 包含数百万张图像,分为数千个类别,代表各种各样的日常对象。基于有效模型 ResNet、信息数据集 ImageNet 以及成熟的知识转移方法的组合,出现了一波标记数据的预训练模型。
CV社区从这波浪潮中获益良多。通过在ImageNet上进行预训练的ResNet作为骨干,各种CV任务得到了快速的推进,比如图像分类(He et al., 2016;Lee et al., 2015),目标检测(Ren et al., 2016;Sermanet et al., 2014;Gidaris和Komodakis, 2015),图像分割(Long et al., 2015;郑等人,2015),图像说明(Vinyals等人,2015;Johnson等人,2016),视觉问答(Antol等人,2015;高等人,2015;Xiong et al., 2016)等。事实证明,利用 ResNet501等 PTM 是在大多数 CV 任务上获得高度准确结果的关键步骤。受PTMs对CV任务成功的启发,一些NLP研究者也探索了有监督的预训练,其中最具代表性的工作是CoVE (McCann et al., 2017)。CoVE的预训练目标是机器翻译。经过预训练后,源语言的编码人员可以作为下游NLP任务的强大主干。

(总结:早期的预训练工作主要涉及迁移学习,其目的是从多个源任务中获取重要的知识,并将知识从源任务转移到目标任务,迁移学习的两种预训练方法是特征迁移和参数迁移,前者是把学习到的特征映射到新任务中,后者是将已经训练好的模型参数应用于新任务中,两者都是PTMs的基础。
深度神经模型具有更多的参数,更好拟合复杂数据,网络层数太多会带来梯度消失或爆炸,性能也会遇到上限,残差连接解决了这些问题。但对样本数量要求高,不然过拟合,CV方向主流是在大规模的监督数据集ImageNet预训练ResNet
。)

二、Self-Supervised Learning and Self-Supervised Pre-Training 自监督学习和自监督预训练

虽然监督学习一直是机器学习研究的核心问题之一,但未标注数据的规模远大于人工标注的数据。最近,越来越多的研究人员注意到了大规模未标记数据的重要性,并致力于从未标记数据中提取信息。自监督学习是一种利用输入数据本身作为监督,来从大规模的未标记数据中提取知识的方法。
自监督学习和无监督学习在它们的设置上有很多相似之处。在一定程度上,自监督学习可以看作是无监督学习的一个分支,因为它们都应用了未标记的数据。然而,无监督学习主要侧重于检测数据模式(如聚类、社区发现和异常检测),而自监督学习仍处于监督设置的范式(如分类和生成)(Liu et al., 2020b)。
自监督学习的发展使得对大规模非监督数据进行预训练成为可能。与有监督的预训练作为深度学习时代CV的基石相比,自监督预训练在 NLP 领域取得了巨大进步。尽管一些监督预训练方法(如CoVE)在NLP任务上取得了很好的效果,但要注释像 ImageNet 这样大的文本数据集几乎是不可能的,因为注释文本数据要比注释图像复杂得多。因此,应用自监督学习来利用未标记数据成为NLP任务预训练模型的最佳选择。PTMs 最近的惊人突破主要是针对 NLP 任务,更具体地说是预训练的语言模型。
NLP任务早期的PTMs以众所周知的词嵌入形式存在(Collobert 和 Weston,2008;Mikolov 等人,2013b;Pennington 等人,2014),该方法应用自监督方法将单词转换为分布式表示。由于这些预训练的词表示捕获文本中的句法和语义信息,它们经常被用作NLP模型的输入嵌入和初始化参数,并比随机初始化参数提供了显著的改进(Turian et al., 2010)。由于这些词级模型经常遭受一词多义现象的困扰,Peters等人(2018)进一步采用序列级神经模型来捕获不同语言上下文中的复杂单词特征,并生成上下文感知词嵌入。使用词嵌入作为神经模型的输入几乎已成为自然语言处理任务的常用模式。
在Vaswani et al.(2017)提出Transformers来处理序列数据后,用于 NLP 任务的 PTM 进入了一个新阶段,因为与传统的 CNN 和 RNN 相比,它可以训练更深的语言模型。与那些用作输入特征的单词级PTMs不同,基于Transformer的PTMs(如GPT和BERT)可以用作各种特定任务的模型主干。在大规模文本语料库上对这些基于Transformer的PTM进行预训练后,PTM的结构和参数都可以作为特定NLP任务的起点,即仅针对特定的NLP任务对PTM的参数进行微调就可以获得竞争性能。到目前为止,这些基于Transformer的PTMs在几乎所有的NLP任务上都取得了最先进的结果。在GPT和BERT的启发下,许多针对NLP任务的更有效的PTMs也被提出,如XLNET (Yang等人,2019)、RoBERTa (Liu等人,2020d)、BART (Lewis等人,2020a)和T5 (Raffel等人,2020)。
随着近年来NLP任务的PTMs的进步,应用基于Transformer的PTMs作为NLP任务的主干已经成为一种标准流程。在NLP中自监督学习和Transformers的成功推动下,一些研究者探索了自监督学习(Wu等人,2018;Chen et al., 2020c;陈和何,2020;他等人,2020)和Transformers(Carion等人,2020;Liu等人,2021c)。这些初步的努力已经表明,自监督学习和Transformers可以超越传统的监督CNN。此外,基于Transformer的多模态PTMs (Lu等人,2019;Li et al., 2019;Tan和Bansal, 2019年)也被提出并显示出可喜的结果。在上一波有监督的预训练之后,自监督的预训练成为当前人工智能研究的焦点。
回顾人工智能领域的预训练,不难发现预训练已经发展了几十年,专注于如何获取下游各种任务的通用知识。接下来,我们将全面介绍PTMs在这一波自监督式预训练中的最新突破。考虑到几乎所有最新的PTMs都与预训练的语言模型有关,以下章节中的“PTMs”是指预训练的语言模型或多模态模型。对于那些基于监督预训练的传统PTMs,我们参考He et al.(2019)和Zoph et al.(2020)的论文。

(总结:未标记的数据远大于标记的数据,NLP任务模型开始通过自监督学习来利用未标记数据进行预训练,早期的nlp词级模型的embedding是静态的,无法实现一词多义,后来采用序列级神经模型生成基于上下文感知的动态embedding,使其作为神经模型的输入成为nlp任务的主流,模型则是基于Transformer的PTMs作为NLP任务的主干)

三、Designing Effective Architecture设计有效的架构

所有用于语言预训练的BERT后Transformer架构都可以根据两个动机进行分类:统一序列建模和认知启发式架构。

3.1Unified Sequence Modeling统一序列建模

为什么NLP如此具有挑战性?一个根本的原因是它有通用的下游任务和应用程序,可以大致分为三种类型:
(1)、自然语言理解:包括语法分析、句法分析、单词/句子/段落分类、问答、事实/常识推理等。

(2)、开放式语言生成:包括对话生成、故事生成、数据转文本生成等。

(3)、非开放式语言生成:包括机器翻译、摘要总结、填空等。
然而,它们之间的差异并不那么显著。正如费曼所说:“我不能创造的,我就不能理解。”一方面,不能理解的模型不能流畅地生成;另一方面,我们可以很容易地将理解任务转化为生成任务(Schick和Schütze, 2020)。最近的研究还表明,与BERTs相比,GPTs可以在理解基准上取得类似甚至更好的性能(Liu等人,2021b)。理解和生成之间的界限是模糊的。
基于这种观察,一堆新颖的架构一直在寻求用一个 PTM 来统一不同类型的语言任务。我们将回顾它的发展,并讨论它们给自然语言处理的统一基础带来的启示。
结合自回归和自编码建模。将GPT风格的单向生成和BERT风格的双向理解统一起来的先锋工作是XLNet (Yang等人,2019),它提出了置换语言建模。BERT中的masked-recover策略自然与其下游应用相矛盾,后者在输入句中没有[MASK]。XLNet通过在预训练打乱token的顺序,然后应用自回归预测范式解决了这一问题,使XLNet具备了既理解又生成的能力。置换语言建模的一个重要追随者是MPNet (Song et al., 2020),它修正了XLNet的差异,即在预训练中XLNet不知道句子的长度,而在下游它知道句子的长度。
除了置换语言建模,另一个流程是多任务训练。UniLM (Dong et al., 2019)提出联合训练不同的语言建模目标,包括单向、双向和序列到序列(seq2seq)目标。这可以通过改变《Transformers》中的注意力掩码来实现。UniLM在生成式问答和抽象总结方面表现得很好。
最近,GLM (Du et al., 2021)提出了一种更优雅的方法来结合自回归和自编码。给定一个可变长度的掩码跨度,GLM 要求Transformer块自回归地生成掩码token,而不是像BERT和SpanBERT (Joshi et al., 2020)那样提供[MASK]的数量来建模。为了保留[MASK]s的编号信息,GLM 提出了一种2D位置编码策略。GLM 是第一个在所有类型的任务(包括自然语言理解、条件生成和无条件生成)上都能达到最佳性能的模型。

应用广义编码器-解码器(Encoder-Decoder)。在GLM之前,无论是编码器结构(如BERT),还是解码器结构(如GPT)都不能解决一个重要问题:用可变长度填充空白(Du等人,2021;沈等,2020b)。基于解码器的模型不能做到这一点,因为它们只能在序列的末尾生成,而基于编码器的模型也不能做到这一点,因为[MASK]的数量会泄露信息。一个自然的想法是转向最初为机器翻译设计的编码器-解码器架构,它将根据源产生可变长度的目标序列。
这一流派的先驱是MASS (Song et al., 2019),它将掩码预测策略引入到编码器-解码器结构中。然而,MASS 并没有涉及填充可变长度空白的问题。T5 (Raffel et al., 2020)通过使用一个掩码token在文本中掩码一个可变长度的跨度来解决这个问题,并要求解码器恢复整个掩码序列。BART (Lewis等人,2020a)引入了一种有趣的思想,即通过多种操作破坏源序列,例如截断、删除、替换、变换和掩码,而不仅仅是掩码。有以下的工作指定了典型的seq2seq任务,如PEGASUS (Zhang et al., 2020a)和PALM (Bi et al., 2020)。
然而,在编码器-解码器架构面前存在着几个挑战。首先,与单个编码器/解码器相比,编码器-解码器引入了更多的参数。虽然这个问题可以通过编码器和解码器的参数共享来缓解,但它的参数效率仍然值得怀疑。第二,编码器-解码器结构通常在自然语言理解方面表现得不太好。尽管有报道称在类似大小的BERT上有改进,但训练有素的RoBERTa或GLM编码器的性能要比它们好得多。

(总结:想做统一任务的模型可以从两方面着手,第一是任务混合,第二是结构混合。
任务混合指将NLU和NLG同时进行预训练,比如XLNet、MPNet采用的Permutaioon language modeling,兼顾上下文与自回归;或者是UniLM, GLM采用的Multi-task training,通过对注意力矩阵的设计使得这两种任务同时训练。
结构混合则更多使用Seq2seq去做理解和生成。比如MASS、T5和BART。但也面临如下挑战:
编码器-解码器占用更多的参数,即使共享了,参数使用效率仍然值得怀疑
Seq2seq的结构在NLU任务上表现差,好于BERT但低于RoBERTa和GLM)

3.2Cognitive-Inspired Architectures认知启发架构

现在的Transformer能很好地实现人类的认知系统吗?当然不是。Transformer架构的核心模块——注意力机制,灵感来源于人类认知系统的微观和原子操作,只负责感知功能。然而,人类水平的智力远比仅仅理解不同事物之间的关联要复杂得多。
在追求人类水平的智能时,了解我们的认知功能的宏观架构,包括决策、逻辑推理、反事实推理和工作记忆(Baddeley, 1992)是至关重要的。在这个小节中,我们将回顾认知科学的进步所启发的新尝试,特别是在可维持工作记忆和可持续长期记忆方面。
可维持工作记忆。Transformer的一个自然问题是其固定的窗口大小和二次空间复杂度,这严重阻碍了其在长文档理解中的应用。
尽管对二次增长的逐点注意的近似计算进行了大量的修改(Tay等人,2020年),但问题是,我们人类并没有呈现如此长程的注意力机制。作为一种替代方法,认知科学家已经揭示,人类可以保持工作记忆(Baddeley, 1992;布朗,1958;Barrouillet等人,2004年;沃顿等人,1994),它不仅可以记忆和组织,但也忘记。传统的长短期记忆网络就是这种理念的一个范例。
对于基于Transformer的架构,Transformer-XL (Dai等人,2019)是第一个引入分段级递归和相对位置编码来实现这一目标的。然而,这种递归只是隐含地模拟了工作记忆。作为一种更明确的解决方案,CogQA (Ding et al., 2019)提出在多跳阅读中维护认知图。它由两个系统组成:基于PTMs的系统1和基于GNN的系统2,用于对认知图进行建模,实现多跳理解。
CogQA的一个限制是它对系统1的使用仍然基于固定的窗口大小。为了赋予工作记忆理解长文档的能力,CogLTX (Ding et al., 2020)利用MemRecall语言模型来选择应该保存在工作记忆中的句子,并使用另一个模型来回答或分类。
可持续的长期记忆。GPT-3的成功(Brown et al., 2020)和最近关于语言模型记忆事实知识能力的研究(Petroni et al., 2019;Wang et al., 2020a;Liu等人,2021b)揭示了《Transformers》可以记忆的事实。但是《Transformers》是怎么做到的呢?
在Lample等人(2019)中,作者就《Transformers》如何记忆提供了一些鼓舞人心的证据。他们用大型键值记忆网络替换了Transformer层中的前馈网络,并且发现它工作得非常好。这在某种程度上证明了《Transformers》中的前馈网络与记忆网络是等价的。
然而,《Transformers》的记忆容量是相当有限的。对于人类智能而言,除了用于决定和推理的工作记忆外,长期记忆在回忆事实和经验方面也起着关键作用。REALM (Guu等人,2020)是探索如何为Transformers构建可持续外部记忆的先驱。作者将整个维基百科语料库逐句tensorize化,并检索相关的句子作为掩码预训练的上下文。对于给定数量的训练步骤,tensorized化的维基百科会异步更新。RAG (Lewis et al., 2020b)将掩码预训练扩展到自回归生成,这可能比抽取式问题回答更好。
除了对文本语料库进行张量tensorizing外,(Verga等人,2020;Févry等人,2020)提出对现有知识库中的实体和三元组进行tensorize化。当实体出现在上下文中时,它们用来自外部内存网络的嵌入替换嵌入内部Transformer层的实体token。(Dhingra et al., 2020; Sun et al., 2021)从零开始维护一个虚拟知识,并在此基础上提出一个可微分的推理训练目标。所有这些方法在许多开放域问题回答基准上都取得了有希望的改进。

(总结:需要模型有工作记忆长期记忆,工作记忆用来决策和推理,长期记忆用来回忆事实和经验。
像Transformer-XL, CogQA, CogLTX这类模型,就是增加了可维持工作记忆,通过样本维度的记忆提升长距离理解能力,实现推理;
REALM, RAG这类模型则是对语料、实体或者三元组进行记忆,具有可持续的长期记忆,将信息提前编码,在需要的时候检索出来。)

3.3More Variants of Existing PTMs 现有PTMs的更多变体

除了统一序列建模和构建认知架构的实践外,目前的研究主要集中在优化BERT的架构,以提高语言模型在自然语言理解方面的性能。
一系列的工作旨在改进掩码策略,这可以被视为一种数据增强(Gu et al., 2020)。Span -BERT (Joshi et al., 2020)表明,用跨度边界目标(SBO)掩码连续的随机长度的token跨度可以提高BERT的性能。ERNIE (Sun et al., 2019b,c)(其中整个实体被掩码)、NEZHA (Wei et al., 2019)和Whole Word Masking (Cui et al., 2019)也探索了类似的想法。
另一个有趣的实践是将带掩码的预测目标更改为一个更难的目标。ELECTRA (Clark et al., 2020)将transform MLM转换为一个替换token检测(RTD)目标,在这个目标中,生成器将替换原始序列中的token,鉴别器将预测一个token是否被替换。

(总结:除了以上两条故事线,还有不少其他结构演进,比如:
提升mask策略:如SpanBERT、百度ERNIR、NEZHA、WWM
使用其他自监督目标:如ELECTRA )

四、Multilingual Pre-Training多语言预训练

基于大型英语语料库的语言模型在许多基准测试中取得了巨大的成功。然而,我们生活在一个多语言的世界,由于成本和所需数据量的原因,为每种语言训练一个大型语言模型并不是一个优雅的解决方案。事实上,尽管来自世界各地的人们使用不同的语言,但他们可以表达相同的意思。这可能表明语义是独立于符号符号系统的。此外,一些研究人员发现,与训练几个单语言模型相比,用几种语言训练一个模型可以在基准测试中获得更好的性能(Lample和Conneau, 2019;黄等,2020b)。因此,训练一个模型来学习多语言表征,而不是单语语言表征,可能是一个更好的方法。
在BERT之前,一些研究人员已经探索了多语言表征。学习多语言表征的方法主要有两种:一种方法是通过参数共享来学习。例如,用几个语言对一起训练多语言LSTM,就可以实现多语言翻译。另一种方法是学习语言不可知的约束,例如使用WGAN (Ar-jovsky et al., 2017)框架将语言表示解耦为特定的语言和与语言无关的表示。这两种方法都可以将模型应用于多语言场景,但仅适用于特定的任务。它们中的模型从头到尾都是用一个特定的任务来训练的,跨语言知识不能推广到其他任务中。因此,对于任何其他多语言任务,仍然需要从头开始训练新的模型。从头开始学习新模型需要大量特定于任务的数据。
BERT的出现表明,基于一般自监督任务的预训练框架,再对特定的下游任务进行微调是可行的。这促使研究人员设计任务来训练通用的多语言模型。多语言任务根据任务目标,可以分为理解任务和生成任务。理解任务侧重于句子级别或单词级别的分类,并有助于下游的分类任务,如自然语言推理(Conneau等,2018b)。生成任务主要专注于句子的生成,对于机器翻译等下游生成任务至关重要。
一些理解任务首先被用于非并行多语言语料库上的多语PTMs的预训练。例如,Devlin等人(2019)发布的多语言BERT(mBERT)使用104种语言的非并行多语言维基百科语料库,通过多语言掩码语言建模(MMLM)任务进行预训练。Pires等人(2019)的研究表明,mBERT具有在零样本场景下概括跨语言知识的能力。这表明,即使使用相同的BERT结构,使用多语言数据也可以使模型学习跨语言表示。XLM-R (Con-neau等人,2020)构建了一个称为CC-100的非并行多语言数据集,它支持100种语言。CC-100的规模比mBERT使用的Wikipedia语料库要大得多,特别是对于那些资源较低的语言。XLM-R在CC-100上以MMLM作为唯一任务进行预训练,在多个基准测试上的性能都优于mBERT,说明多语言语料规模越大,性能越好。
然而,MMLM任务不能很好地利用并行语料库。事实上,平行语料库对于机器翻译等NLP任务非常重要。从直观上看,平行语料库对于直接学习具有相同意义的不同语言句子的跨语言表征非常有帮助。从这一点出发,XLM (Lample and Conneau, 2019)利用双语句子对来执行翻译语言建模(TLM)任务。与BERT中的MLM相似,TLM将两个语义匹配的句子组合成一个句子,并随机掩码两部分中的标记。与MLM相比,TLM需要模型根据双语语境预测掩码token。这鼓励模型将两种语言的表示组合在一起。
除了TLM外,还有一些从平行语料库学习多语言表征的有效方法。Unicoder (Huang et al., 2019a)提供了两个基于平行语料库的新型预训练任务:跨语言单词恢复(CLWR)和跨语言意译分类(CLPC)。CLWR利用利用注意力机制和目标语言embedding来表示源语言embedding,其目标是恢复源语言embedding。(类似于机器翻译)这个任务使模型能够学习不同语言之间的单词级别对齐。CLPC将对齐的句子作为正样本,样本未对齐的句子作为负样本,以执行句子级别的分类,让模型预测输入对是否对齐(正还是负)。使用CLPC,模型可以学习不同语言之间的句子级别对齐。ALM (Yang et al., 2020)自动从平行句中生成代码转换序列,并对其进行MLM,这迫使模型仅基于其他语言的上下文进行预测。InfoXLM (Chi et al., 2020b)从信息论的角度分析MMLM和TLM,鼓励模型在对比学习框架下区分对齐的句子对和未对齐的反例。HICTL (Wei et al., 2021)扩展了使用对比学习来学习句子级和单词级跨语言表示的想法。ERNIE-M (Ouyang et al., 2020)提出了反向翻译掩码语言模型(BTMLM),并通过反向翻译机制扩展了平行语料库的规模。这些研究表明,利用平行语料库对学习跨语言表征有很大帮助。
研究人员也广泛探索了多语言PTMs的生成模型。通常,生成模型由Transformer编码器和Transformer解码器组成。例如MASS (Song et al., 2019)将MLM扩展到语言生成。该算法在输入句中随机掩码一段标记,并以自回归的方式对掩码标记进行预测。降噪自编码(DAE)是一种典型的生成任务,它将噪声函数应用于输入句子,然后用解码器重新存储原始句子。DAE的噪声函数通常包含两种操作:用掩码token替换一组token,以及置换token的顺序。mBART(Liu et al., 2020c)通过添加特殊符号扩展了DAE以支持多种语言。它在编码器输入的末尾和解码器输入的开头都添加了语言符号。这使得模型能够知道要编码和生成的语言。
虽然mBART中的DAE (Liu et al., 2020c)使用多种语言进行训练,但编码输入和解码输出总是使用同一种语言。这导致模型捕捉到语言符号和生成的句子之间的虚假关联性。换句话说,模型可能会忽略给定的语言符号,并直接以与输入相同的语言生成句子。为了解决这个问题,XNLG (Chi et al., 2020a)提出了跨语言自动编码(XAE)任务。与DAE不同的是,XAE的编码输入和解码输出是不同的语言,类似于机器翻译。此外,XNLG还以两阶段的方式优化参数。在第一阶段,利用MLM和TLM任务对编码器进行训练。然后,在第二阶段对编码器进行修复,并使用DAE和XAE任务训练解码器。通过这种方式,所有参数都得到了很好的预训练,并且也填补了使用 MLM 进行预训练和使用自回归解码进行微调之间的空白。

(总结:BERT之前的跨语言学习主要有两种方法:
参数共享:比如使用跨语言平行语料让模型可以同时学到不同知识
学习语言无关的约束:将编码解耦为语言相关的部分和无关的部分
有了预训练方法之后,我们就可以在不同语言进行预训练了。
mBERT在Wiki数据上进行多语言的MLM,之后XLM-R用了更好的语料后表现有所提升。但这两个模型都没有利用平行语料,于是XLM同时利用了平行语料,在平行语料做MLM,利用另一个语言的知识预测mask token。
后续研究还有Unicoder、ALM、InfoXLM、HICTL、ERNIE-M等,生成任务则有mBART、XNLG。)

五、Knowledge-Enhanced Pre-Training增强知识的预训练

PTMs可以从大量的数据中提取大量的统计信息。此外,外部知识,如知识图谱、特定领域的数据和对预训练数据的额外标注等,都是人类智慧的产物,可以很好地在统计建模之前进行。在这个小节中,我们将根据知识的格式对外部知识进行分类,并介绍几种尝试将知识与PTMs相结合的方法。
结构化知识的典型形式是知识图谱。许多工作试图通过整合实体和关系嵌入来增强PTMs (Zhang et al., 2019b; Liu et al., 2020a; Pe-ters et al., 2019; Sun et al., 2020; Rosset et al., 2020; Qin et al., 2021)或它们与文本的对齐方式 (Xiong et al., 2019; Sun et al., 2019b)。然而,像维基数据这样的现实世界知识图谱比实体和关系包含更多的信息。Wang等人(2021)通过将语言模型损失和知识嵌入损失合并在一起,以基于维基多实体描述的预训练模型来获得知识增强表示。有些工作将知识图谱中的路径甚至子图视为一个整体,并直接对它们和对齐的文本进行建模以保留更多的结构信息。由于将实体和关系与原始文本对齐通常很麻烦,并且可能在数据预处理中引入噪声,另一项工作(Bosselut等人,2019年;Guan等人,2020年;Chen et al., 2020d)可以直接将结构化知识转换为序列化的文本,并让模型自行学习知识文本对齐。OAG- BERT(Liu et al., 2021a)是一个有趣的尝试,它将异质性结构知识整合到开放学术图(OAG) (Zhang et al., 2019a)中,该图覆盖了7亿个异构实体和20亿个关系。
与结构化知识相比,非结构化知识更完整,但也更嘈杂。如何从数据中有效地为这类知识建模也是值得探索的。特定领域或任务的数据可以看作是一种非结构化知识。许多工作(Beltagy等人,2019年;Lee等人,2020)进一步根据这些数据对通用的PTMs进行预训练,以获得更好的领域特定模型或任务特定模型。由于存在一些特定于领域和特定于任务的人工注释,Ke等人(2020)合并了这些额外的注释,以获得更好的特定于领域和特定于任务的语言表示。对于所有上述工作,知识都隐含地存储在它们的模型参数中。为了以一种更易于解释的方式为外部知识建模,一些研究(Lewis等人,2020b;Guu等人,2020)设计了基于检索的方法,在下游任务上使用结构化知识。另一种工作(Wang et al., 2020b)可以使用在不同的知识源上训练过的适配器,并添加额外的注释来区分知识的来源。

(总结:预训练模型可以从大量语料中进行学习,但在知识图谱、领域知识不一定能学到。
对于这个问题可以有两种解决方案,一种是外挂型,把知识通过各种方法和文本一起输入进去,比如清华ERNIE、K-BERT,另一种是强迫型,在领域数据、结构化文本上精调,让模型记住这些知识,比如百度ERNIE、WWM。)

六、Improving Computational Efficiency提高计算效率

PTMs的一个主要趋势是参数的数量越来越多。增加神经网络的大小通常会提高精度,但它也会增加训练模型的内存和计算需求。本节将从以下三个方面介绍如何提高计算效率:系统级优化、高效学习算法和模型压缩策略。

6.1System-Level Optimization系统级优化

减少计算需求的一种有效且实用的方法是针对计算效率和内存使用的系统级优化。系统级优化方法通常是与模型无关,且不会改变底层的学习算法。因此,它们被广泛用于训练大规模 PTMs。这些方法一般可分为单设备优化方法和多设备优化方法。
单设备优化。当前大型PTMs的预训练需要花费大量的内存。这主要是由于浮点数的冗余表示。现代的深度学习系统主要基于单精度浮点格式(FP32)。然而,模型的权值通常落在一个有限的范围内,我们使用半精度浮点格式(FP16)可以完成大部分的计算,而几乎没有精度损失(Gupta等人,2015)。
但是,在某些情况下,FP16中的训练模型可能会因为浮点截断和溢出而失败。为了解决这一问题,已经提出了混合精度训练方法(Micikevicius et al., 2018),该方法在FP32中保留一些关键权重以避免浮点溢出,并使用动态损耗缩放操作来摆脱浮点截断。大量实验表明,混合精度训练方法比FP16中直接训练模型更稳定。混合精度训练方法虽然能显著减少训练时间和内存的使用,但仍面临一些挑战。在模型参数初始化不好的情况下,混合精度方法仍然会导致训练不稳定。所有这些挑战仍需进一步探索。
除了浮点数的冗余表示之外,为计算梯度保存的激活状态也是冗余的。例如,在基于Transformer的模型中,除了注意力层和线性层的权值外,计算设备还存储了每一层的隐藏状态,以提高梯度反向传播中链式法则的效率。与模型参数相比,这些隐藏状态甚至会消耗更多的内存。为了处理冗余的激活状态,使用了梯度检查点方法(Rasley et al., 2020),通过只存储前向传递后的部分激活状态来节省内存。如果需要,将在向后执行步骤期间重新计算丢弃的激活状态。
在对最近的大规模 PTM 进行预训练时,内存消耗可能太大而无法容纳在单个 GPU 中。因此,有些工作(Huang et al., 2020a)尝试用CPU内存而不是GPU内存来存储模型参数和激活状态,因为CPU内存通常要大得多。如图9所示,ZeRO-Offload (Ren et al., 2021)等一些工作设计了精巧的策略来调度CPU内存和GPU内存之间的交换,以便内存交换和设备计算尽可能多地重叠。
图9:带有延迟参数更新的ZeRO-Offload和ZeRO-Offload示意图图9:带有延迟参数更新的ZeRO-Offload和ZeRO-Offload示意图
多设备优化。目前,分布式训练是一种常用的预训练方法,即利用分布在多个计算节点上的多个GPU一起用于训练单个模型。数据并行(Li et al., 2020d)是一种简单而有效的加速模型训练的方法。
如图10所示,当我们使用数据并行方式时,一个大的批处理被划分到不同的节点,因此可以并行化前向传递。在后向传递时,不同节点上的梯度应该通过 all-reduce 操作进行聚合,以确保参数优化的一致性,这可能会引入额外的通信开销。
在对具有数十亿到数万亿个参数的模型进行预训练时,传统的数据并行性带来了将整个模型参数拟合到单个 GPU 中的挑战,即使是半精度或混合精度训练也是如此。虽然这一问题可以通过使用更大内存的GPU来解决,但费用可能难以承受,限制了普通研究人员对 PTM的使用。模型并行性是解决这一问题的有效方法(Shazeer et al., 2018)。如图10所示,在进行模型并行时,可以将模型参数分布到多个节点上。这些节点之间的通信操作,如reduce-scatter和all-gather,保证了前向传播和后向传播的正确性。Megatron-LM (Shoeybi et al., 2019)对基于Transformer的PTMs采用了模型并行性。它将自注意力头和前反馈层拆分到不同的GPU中,从而减少了单个GPU的内存负担。Mesh-Tensorflow (Shazeer等人,2018)还允许用户沿任何张量维度拆分张量,这可以为模型并行性带来更多自定义选项。
虽然模型并行性使得不同的计算节点可以存储模型参数的不同部分,但是在前向传递和后向传递时都需要插入集体通信原语,这些原语不能被设备计算重叠。与此相反,数据并行中的all-reduce集体通信操作通常会被反向计算重叠。因此,只要能够克服对内存容量的过度需求,数据并行就会成为首选。在数据并行性的标准实现中,优化器状态通常沿着不同的节点复制,以保证数据并行性单元之间的同步优化。这种冗余导致GPU内存的额外开销,特别是当模型以混合精度的方式训练时,因为优化器需要存储这些模型的32位主状态,以确保准确性。为了消除优化器状态和参数带来的冗余,ZeRO 优化器(Rajbhandari et al., 2020)方法将优化器状态平均划分并分配到数据并行等位的每个节点,这样每个节点只更新其分区对应的优化器状态。在训练步骤的最后,所有的优化器状态都被收集到数据并行节点上。
上述模型并行技术主要集中在对不同节点的矩阵运算进行划分和并行化。如图11所示,另一种有效的模型并行方法是管道并行,它将一个深度神经网络划分为多层,然后将不同的层放到不同的节点上。每个节点计算完后,输出被发送到下一个节点,在那里进行下一层计算。
由于管道并行只需要在执行流水线相邻阶段的节点之间传递中间激活状态,因此通信成本相对较小。现有管道方法包括GPipe(黄et al ., 2019 b),它可以将小批量中的较小部分样本发送到不同的节点,以及 TeraPipe (Li et al., 2021),它可以将token级管道机制应用于 基于Transformer模型,使序列中的每个token由不同的节点处理。这两种管道方法都加快了大规模PTMs的速度。但是,它们应该在每批结束时停止,直到梯度反向传播完成,这可能会导致管道气泡。

总结:针对不同场景,优化策略是不一样的
(1)如果模型放得下,数据没那么多(百万内),单机就够了,速度提升可以用混合精度、提督检查点
(2)如果模型放得下,数据很多,可以用数据并行,但优化器的状态还是会被整个传递,ZeRO optimizer则可以将优化器状态进行切分
(3)模型放不下时,可以考虑模型并行,把矩阵运算切开,也可以用Pipeline并行方法,将模型不同层放在各个机器上,可以参考GPipe、TeraPipe

6.2Efficient Pre-Training 高效的预训练

除了一些系统级的优化方法外,各种努力都在探索更有效的预训练方法,以便我们能够以更低的成本解决方案对大规模的PTMs进行预训练。
有效的训练方法。传统的预训练任务可能是样本效率低的。例如,对于广泛用于预训练近期 PTM 的 MLM,需要模型根据上下文预测掩码token。
掩码token通常是输入token的一个子集(通常是15%),即模型只能从一小组输入token中学习。为了解决这个问题,ELECTRA (Clark et al., 2020)应用了替换token检测任务。此任务强制模型区分输入token是否被生成器替换。此任务可以利用来自每个样本的更多监督信息,因为需要区分所有输入token。当 ELECTRA 达到与那些MLM模型相似的性能时,所需的预训练步骤要少得多。此外,传统的 MLM 会随机掩码token以在一个文件中进行预测。由于预测不同tokens的难度差异很大,随机掩码策略使训练过程变得漫无目的且效率低下。因此,有些工作根据它们在反向传播中的重要性(Gu et al., 2020)或梯度(Chen et al., 2020b)选择性地掩码token,以加速模型训练。
除预训练任务外,当前的预训练动态也是次优的。最近的大型PTMs通常需要大批量。但在早期的研究中(Goyal et al., 2017),研究人员发现,天真地增加批量大小可能会导致优化困难。因此,他们提出了一种预热策略,在训练开始时线性增加学习率。这种策略在最近的大型PTMs中很常用。最近的PTM的另一个特点是,它们通常由多个堆栈组成,就像Transformer一样。传统的训练范式使用相同的超参数同时优化每一层。然而,最近一些研究基于Transformer的模型,并声称不同的层可以共享类似的自注意力模式。因此,可以先对浅层模型进行训练,然后复制它来构建一个深层模型(Gong et al., 2019)。在训练过程中还可以去掉一些层,以降低反向传播和权值更新的复杂性(Zhang and He, 2020)。此外,You et al.(2017)和You et al.(2020)发现,当批量大小较大时,在不同的层上自适应使用不同的学习率也可以加快收敛速度。
高效的模型架构。除了有效的预训练方法外,模型架构的更多变体还可以降低计算复杂度,从而提高训练 PTM 的效率。对于大多数基于Transformer的PTMs,随着输入序列的变长,由于其序列长度在时间和空间上的二次复杂度,它们的效率受到注意力权重计算的限制。因此,很多工作都试图降低Transformers的复杂性。部分工作(Peng et al., 2021;Choromanski等人,2021年;Wang et al., 2020c;Katharopoulos等人,2020)设计设计了低秩内核,以在理论上近似原始的注意力权重,导致线性复杂度。有些工作(Child et al., 2019)通过将每个token的视图限制为固定大小并将token分成几个块,从而将注意力权重的计算在每个块中进行,而不是在每个块中进行,从而将稀疏性引入注意力机制。与预定义的块相比,有些工作(Roy等人,2021;Kitaev等人,2020年)发现,使用可学习参数将token分配成块可以获得更好的性能。另一种方法(Guo et al., 2019;Lee等人,2019年;Beltagy等人,2020年;Ainslie等人,2020年;Zaheer等人,2020)结合全局和局部注意力机制,然后使用全局节点按顺序收集token。通过这种方式,将长序列压缩为少量元素,从而降低复杂度。
在保持原Transformer的理论计算复杂度不变的前提下,模型结构的更多变体也可以加速模型收敛。Mix-of-experts (MoE)专家混合在早期就被证明可以增加深度神经模型的参数,同时保持计算开销几乎不变(Shazeer等人,2017)。最近,Switch Transformers(Fedus et al., 2021)在预训练中采用了这种技术。他们为Transformers的每一层添加了Mix-of-experts。在每一个前进和后退步中,它们只选择一个experts进行计算,因此训练和推理时间与没有专家的普通Transformers相似。一些实验结果表明,由于Mix-of-experts带来的模型容量显着增大,基于 MoE 的模型比普通模型收敛得更快。还开发了一些有效的开源工具包(He et al., 2021)来训练基于 MoE 的大规模模型。

(总结:对于训练效率的提升,也可以从两方面入手:
改进训练方法:BERT只mask 15%的token,学习效率较低,ELECTRA则可以对所有token进行学习;另外大batch很难学,可以用warmup strategy;如果对不同层使用不同学习率、先学浅层再逐渐加深也有利于模型收敛。
提升结构效率:减小模型复杂度,增加稀疏性,比如Switch Transformers使用的Mix-of-experts)

6.3Model Compression模型压缩

另一种提高PTMs效率的重要方法是模型压缩。在这种情况下,大型模型被压缩为小型模型,以满足在资源受限设备上进行更快推理和部署的需求。
参数共享。PTM 可以通过在相似单元之间共享参数进行压缩。ALBERT(Lan et al., 2019)使用分解嵌入参数化和跨层参数共享来减少PTMs的参数。在所有Transformer层中使用相同的权值,ALBERT在 BERT模型的基础上实现了显著参数缩减,同时具有相同甚至更好的性能。这表明PTMs可能会被过度参数化。
模型修剪。为了更好地利用当前 PTM 的过度参数化特性,另一种减少模型参数的方法是模型剪枝,即剪掉 PTM 中一些无用的部分,以在保持性能的同时实现加速。在(Fan et al., 2019)中,Transformer层在训练过程中被选择性地丢弃,从而在推理过程中产生更浅的模型。在(Michel et al., 2019)、(Voita et al., 2019)和(Zhang et al., 2021b)中,研究人员研究了Transformers中注意力头的冗余性,并发现只有一小部分注意力头就足以获得良好的性能。大多数头部可以被移除,而对精度影响很小。CompressingBERT (Gordon et al., 2020)等其他试验,试图修剪注意力层和线性层的权重,以减少PTMs中的参数量,同时保持与原始模型相当的性能。
知识蒸馏。虽然ALBERT节省了PTMs的内存使用量,但它的推理时间并没有显著减少,因为特征仍然需要遍历与原始模型相同数量的层。知识蒸馏旨在训练一个小型模型来重现大型教师模型的行为。当使用小型蒸馏模型进行推理时,内存使用量和时间开销都减少了。有一些典型的工作将知识蒸馏用于PTMs,如DistillBERT(Sanh等人,2019),TinyBERT (Jiao等人,2019),BERT-PKD (Sun等人,2019a)和MiniLM (Wang等人,2020d)。在这些研究中,一个小的学生模型被训练来模拟一个大的教师模型在预训练和微调阶段的输出概率、隐藏状态和注意矩阵。通过知识蒸馏,将教师模型中的模型转移到学生模型中,与单独训练学生模型相比,这可以提高性能。但是,上述的知识蒸馏方法需要教师模型的预训练数据,考虑到数据版权和隐私,这些数据通常不会发布。此外,教师模型需要对整个预训练数据进行转发,以生成用于知识蒸馏的 logits 或中间表示,从而导致训练时间更长。
量化模型。为了得到更压缩的模型,模型量化也是一种有用的技术,这在一些基于CNN的模型中得到了广泛的探索(Stock et al., 2020;Polino等人,2018)。模型量化是指将高精度浮点参数压缩为低精度浮点参数。传统的PTMs通常用32位或16位表示,而量化后的模型可以用8位甚至1位或2位表示。对于最近的基于Transformer的模型,在Q8BERT中,8位量化已经被证明对模型压缩是有效的(Zafrir等人,2019),对模型性能的影响很小。尽管如此,由于模型容量的显著下降,训练1或2比特模型仍然具有挑战性。为了减轻性能的下降,还可以采用其他方法来保持精度。Q-BERT (Shen et al., 2020a)采用混合比特量化,其中Hessian谱高的参数要求较高的精度,而Hessian谱低的参数要求较低的精度。Ternary-BERT (Zhang et al., 2020b)将知识精馏应用于量化,迫使低位(bit)模型模拟全精度模型。Q-BERT和TernaryBERT都产生了超低位模型。然而,低位表示是一种与硬件高度相关的技术,这意味着量化通常需要特定的硬件,不能推广到其他设备。

(总结:模型瘦身的方法也已经有很多了,常用以下这几个
参数共享:比如ALBERT那样共享所有层的参数
模型剪枝:可以修剪head或者砍掉层,如Transformers中注意力头的冗余,大多数头可以被移除
知识蒸馏:小模型实现大模型性能,但大模型预训练数据通常不发布。
模型量化:常用的是FP16,也可以缩减到8bits甚至是1、2bits,但低比特模型跟硬件强相关,很难泛化)

七、Interpretation and Theoretical Analysis解释与理论分析

除了PTM在各种NLP任务上的卓越表现外,研究人员还探索解释PTM的行为,包括理解PTM如何工作和揭示PTM捕获的模式。这些工作涵盖了PTMs的几个重要特性:知识、鲁棒性、结构稀疏性/模块化。此外,在建立PTMs理论分析方面也有一些开创性的工作。

7.1Knowledge of PTMs知识

PTMs捕获的隐性知识大致可以分为两类:语言知识和世界知识。
语言知识。PTM 的语言知识在 PTM 解释的所有主题中吸引了最多的关注。与传统的神经网络模型如 CNNs 和 RNNs 的层数和参数较少相比,大规模的 PTM 可以从海量的预训练数据中学习到丰富的语言知识。为了研究PTMs的语言知识,研究者设计了几种方法:

(1)表征探测:固定PTM的参数并在 PTM 的隐藏表示上训练一个新的线性层,用于特定的探测任务。这是最流行的方法,因为它可以很容易地适应任何探测任务而无需特殊设计。
(2)表征分析:利用PTMs的隐藏表示来计算距离或相似度等统计量。根据这些统计数据,我们可以构建不同单词、短语或句子之间的关系。
(3)注意力分析:与表征分析类似,注意力分析计算注意力矩阵的统计量,更适合于发现文本的层次结构。
(4)生成分析:使用语言模型直接估计不同序列或单词的概率。在某些语言现象中,目标文本可能是正确的或不正确的。
表征探测已广泛应用于分析从词嵌入到PTMs的NLP神经模型(Köhn, 2015; Ettinger et al., 2016; Shi et al., 2016; Adi et al., 2017; Conneau et al., 2018a; Hewitt and Manning, 2019; Glavaš and Vuli´c, 2021). Liu et al. (2019) 对11个语言任务进行了全面的探索性实验,发现与之前的特定任务模型相比,大规模 PTM 给出的表示具有竞争力,这表明模型已经学习了有关tokens、chunk块和成对关系的知识。为了进一步研究PTMs如何表示关于句法、语义、局部和远程信息的句子结构,Tenney等人(2019b)设计了一种新的边缘探测任务,并在一组广泛的子句任务上研究了PTMs,结果表明PTMs具有很强的编码句法信息的能力,而对语义任务的改进很小。同样,一些研究也揭示了PTMs的强语法编码(Vilares et al., 2020; Warstadt and Bowman, 2020; Hewitt and Manning, 2019)。为了分析不同层次的功能,Jawahar等人(2019a)和Tenney等人(2019a)发现,PTMs编码的语言信息,底部是短语特征,中间是句法特征,顶部是语义特征。与非上下文表示(如word2vec)相比,PTMs的表示在编码句子级属性方面更好(Miaschi和Dell ’ orletta, 2020)。此外,Manning等人(2020)探索利用PTMs嵌入的线性变换重构语言学家给出的句子树结构,并取得了很好的结果。
除了表征探测之外,研究者还试图揭示不同表征之间的结构和关系。Kim等人(2020)提出利用句法距离的概念,从单词的表征构造句子的组群树。Rosa和Mareˇcek(2019)分析了句子中删除一个单词如何改变其他单词的表征,揭示了一个单词对其他单词的影响。
也有一些通过注意力矩阵来解释PTMs的工作。Lin等人(2019)定量评估了主谓一致和指代-先行依赖关系的注意力矩阵,并表明PTMs倾向于在较低层编码位置信息,并在较高层捕获层次信息。为了更好地刻画PTMs注意力矩阵的行为,Htut等人(2019)提出将最大注意力权重和计算最大生成树作为两个统计量。根据实验结果,他们发现微调对自注意力模式的影响很小。
由于PTMs可以直接用于生成tokens 或估计不同句子的概率,因此基于生成构造分析任务是直观的(Goldberg, 2019)。Perturbed Masking (Wu et al., 2020)在没有任何额外参数的情况下从PTMs中恢复语法树,并且PTMs给出的结构在一些下游任务中可以与人类设计的依赖模式具有竞争力。Schijndel (Schijndel et al., 2019)表明,为了分析预训练在估计不合语法词的概率方面的收益,扩大训练语料库会产生递减的回报,而训练语料库需要大得不现实,才能使PTMs匹配人类的表现。

(总结:语言知识包含了句子的语法、语义、词义等信息。大规模 PTM 可以从海量的预训练数据中学习到丰富的语言知识。为了研究 PTM 的语言知识,研究人员设计了几种方法:
表征分类(利用隐藏状态对句子 / 单词进行分类,接一个线性层,通过下游任务探测表示中是否含有语言知识,)、
表征分析(利用隐藏状态计算统计信息,例如相似度、距离)、
注意力分析(利用注意力矩阵,发现文本的层次结构)、
生成分析(预测单词或句子的分布,观察现象
从一些研究中发现,PTMs可以学习到句法、语义、局部以及长距离信息。同时在句子级别的特征抽取上表现也更好。)

7.2Robustness of PTMs鲁棒性

最近的工作已经通过对抗性的例子确定了PTMs中严重的鲁棒性问题。对抗性攻击的目的是通过对原始输入的小扰动来生成被模型错误分类的新样本。例如,PTMs很容易被同义词替换所迷惑(Jin 等人,2020;Zang 等人,2020)。与此同时,形式单词等不相关的人工制品可能会误导 PTM 做出错误的预测(Niven 和 Kao,2019;Wallace 等人,2019a)。目前的研究主要是利用模型预测、预测概率和模型梯度来搜索对抗实例。然而,很难保持由机器生成的对抗性示例的质量。最近,人类在环方法(Wallace等人,2019b;Nie et al., 2020)已经被用于生成更自然、有效和多样化的对抗样本,这带来了更大的挑战和经验,暴露了PTMs更多的属性和问题。总之,当人们为实际应用程序部署PTMs时,PTMs的鲁棒性已经成为一个严重的安全威胁。

PTMs的鲁棒性仍然没有好的解决办法

7.3Structural Sparsity of PTMs结构稀疏性

在BERT之后,大多数PTMs都采用Transformer作为架构主干。尽管人们可以轻松地训练一个深度Transformer,并比以前使用 CNN 和 RNN 的工作取得显着改进,但Transformer遇到了过度参数化的问题。研究表明,在机器翻译(Michel et al., 2019)、抽象摘要(Baan et al., 2019)和语言理解(Kovaleva et al., 2019)任务中,多头注意力结构是冗余的,即,当去除部分注意力头时,我们可以获得更好的性能。这一现象与(Clark et al., 2019)的观察结果一致,他们发现同一层中的大多数头部都有相似的自注意力模式。此外,Kovaleva等人(2019)对PTMs头部编码的信息进行了定性和定量分析。他们的发现表明,不同头部的注意力行为可以被归类为一组有限的模式。除了多头注意力之外,其他的一些工作也探讨了参数的稀疏性识别。Gordon等人(2020)表明,低水平的修剪(30-40%)不会影响预训练的损失或下游任务的表现。在微调期间针对稀疏性,Prasanna等人(2020)验证了PTMs上的彩票假设(没有万能的,只有合适的),并发现有可能找到性能可与完整模型相媲美的子网络。令人惊讶的是,Kao等人(2020)表明,我们可以通过简单地复制一些隐藏层来提高模型容量,从而提高性能,这表明冗余参数可能有利于微调。

(总结:大型Transformer存在严重的过参数化,部分研究表明移除head反而得到更好的表现,一些head的注意力pattern也是相似的。也有研究正时去掉30-40%参数也不会影响表现,模型中可以找到表现相当的子结构。)

7.4Theoretical Analysis of PTMs理论分析

由于预训练在深度学习中取得了巨大的成功,研究者们开始尝试研究预训练的工作原理,特别是无监督预训练是如何起作用的。在深度学习的早期,人们发现通过贪婪的逐层无监督的预训练和监督的微调来训练深度信念网络是有效的(Hin-ton et al., 2006)。近年来,包括语言建模在内的基于对比学习的预训练已成为主流方法。在本节中,我们将介绍一些用于预训练的理论解释性假设或框架。
Erhan et al.(2010)提出了两个假设来解释预训练的效果:(1)更好的优化(2)更好的正则化。
在优化方面,与随机初始化的模型相比,经过预训练的网络更接近全局最小值。
在更好的正则化方面,PTMs的训练误差并不一定优于随机模型,而PTMs的测试误差则更好,这意味着PTMs具有更好的泛化能力。
然后,实验结果倾向于第二种假设。他们发现PTM并没有达到较低的训练误差。此外,与L1/L2等其他正则化方法相比,无监督预训练正则化的效果要好得多。
针对最近开发的预训练目标,Saunshi等人(2019)对对比无监督表征学习进行了理论分析。对比学习将出现在同一语境中的文本/图像对视为语义相似的对,将随机抽样的文本/图像对视为语义不相似的对。然后,相似对之间的距离应该是近的,不同对之间的距离应该是远的。在语言建模的预测过程中,语境(上下文)和目标词是相似的对,其他词是负样本(Kong et al., 2020)。Saunshi等人(2019)首先提供了一个新的概念框架,以弥补预训练和微调之间的差距。具体来说,他们引入了潜在类的概念,语义相似的对来自同一个潜类。例如,潜类可以是“‘happy’”,包含所有包含快乐情绪的文本。潜在类别涵盖所有可能的类别,下游任务定义的类别来自于潜在类别的集合。然后,他们证明了对比学习的损失是下游损失的上界。因此,在优化预训练损失时,我们可以预期下游任务的损失更低。

(总结:这部分主要探究为什么预训练可以work。有学者认为,预训练可以带来:
更好的优化:预训练使模型更接近全局最优
更好的正则化:预训练带来更好的泛化能力
实验结果倾向于第二种假设
也有研究通过对比学习的分析,证明了对比学习的loss是下游任务loss的上界,所以迁移到下游时可以有更低的loss。)

八、Future Direction未来方向

未来,在现有工作的基础上,PTMs可以从以下几个方面进一步发展:

  1. 架构和预训练方法
  2. 多语言和多模态预训练方法
  3. 计算效率
  4. 理论基础
  5. 模型边缘学习
  6. 认知学习
  7. 新应用
8.1Architectures and Pre-Training Methods架构和预训练方法

从架构和预训练方法方面,我们认为以下问题值得今后进一步探讨:

新架构。Transformers已经被证明是一个有效的预训练架构。然而,Transformer的主要限制是其计算复杂度。受GPU内存的限制,目前大多数PTMs都不能处理包含超过512个以上token的序列。因此,寻找更高效的模型架构来捕获长期的上下文信息是很重要的。然而,深度架构的设计具有挑战性,我们可以寻求一些自动方法的帮助,如神经架构搜索(NAS)。此外,尽管更大的PTMs通常可以带来更好的性能,但一个实际的问题是如何在一些特殊的场景中利用这些巨大的PTMs,比如低容量设备和低延迟应用程序,在这些场景中,PTMs的效率是一个关键因素。此外,不同的下游任务偏好不同的架构。例如,Transformer编码器适用于自然语言理解任务,而Transformer解码器适用于自然语言生成任务。因此,我们可能需要根据下游任务的类型仔细设计特定于任务的架构。
新的预训练任务。通用的PTMs一直是我们学习语言内在的通用知识(甚至是世界知识)的追求。然而,这种PTMs通常需要更深的架构、更大的语料库和具有挑战性的预训练任务。所有这些要求进一步导致更高的训练成本。此外,训练大型模型也是一个具有挑战性的问题,需要复杂而高效的训练技术,如分布式训练、混合精度训练等。因此,根据现有硬件和软件的能力,设计更高效的自监督的预训练任务和训练方法是一个更实际的方向。ELECTRA (Clark et al., 2020)是朝着这个方向的一个很好的尝试。
超越微调。目前,微调是将PTMs知识转移到下游任务的主要方法,但其不足之处是参数效率低下:每个下游任务都有自己的微调参数。一种改进的解决方案是修复PTMs的原始参数,并针对特定的任务添加小的微调自适应模块。因此,我们可以使用一个共享的PTM来服务多个下游任务。近年来,随着GPT-3的出现,一种新颖的模型调优流派,即提示调优受到了越来越多的关注。通过设计、生成和搜索离散(Petroni et al., 2019; Gao et al., 2021)或连续(Liu et al., 2021b; Han et al., 2021; Lester et al., 2021) 提示并使用MLM进行特定的下游任务,这些模型可以
(1)弥补预训练和微调之间的差距,从而在下游任务上表现更好;
(2)降低了对海量参数进行微调的计算成本。
综上所述,提示调优是一种很有前途的方法来激发PTMs中分布的语言和世界知识。
可靠性。随着PTMs在生产系统中的广泛使用,PTMs的可靠性也成为一个备受关注的问题。关于PTMs的对抗性攻击的研究(Li et al., 2020b,c;Zhang等人,2021c)通过充分暴露PTMs的弱点,帮助我们了解它们的能力。对抗性防御 (Si et al., 2020; Yao et al., 2021; Li and Qiu, 2021)对PTMs的研究也很有前景,这可以提高PTMs的鲁棒性,并使其免受对抗性攻击。总的来说,作为许多NLP应用的关键组件,PTM的可解释性和可靠性仍有待进一步探索,这将有助于我们理解PTM的工作原理,并为更好地使用和进一步改进PTM提供指导。

(总结:
新架构:降低Transformer计算复杂度、适配更多终端设备、针对任务设计更适合的结构
新预训练任务:现在最有效的任务是MLM,但这个任务需要很深的网络,也更难收敛
超越微调:现在对每个下游任务都要精调一个模型,能否统一成一个,再加上浅层进行任务适配?GPT-3的精调方式就是一个很好的尝试,提示学习也有前途
可靠性:提升鲁棒性、可解释性)

8.2Multilingual and Multimodal Pre-Training多语言、多模态的预训练

尽管多模态和多语言的PTMs在过去两年中取得了许多进展,但它们仍有以下正在进行的研究方向:
更多的模态。除了图像和文本,还可以利用视频和音频进行多模态预训练。因此,主要的挑战在于如何为这两种模态所涉及的时间上下文建模。特别是对于视频文本对的大规模预训练,传统的自监督学习方法由于计算量大而不适合。要处理这个问题,重要的是为更复杂的模态开发更有效和高效的自自监督学习方法。
更深刻的解释。现在还不知道为什么视觉和语言之间的桥梁能起作用。例如,多模态预训练虽然有优势,但是否会对单一模态(图像或文本)造成伤害?如果答案是肯定的,我们能否在多模态预训练中克服这个缺点?在这一研究方向上,可以利用最新的深度学习可视化工具来解释多模态预训练。
更多的下游应用程序。众所周知,多模态预训练可以应用于图文检索、图文生成、文图生成等下游任务。然而,要找到一个“真实”的实际应用场景来进行多模态预训练仍然很有挑战性,因为可以利用许多有效的工程技巧(即使成本更低)。因此,需要与该行业进行更密切的合作。
迁移学习。目前,多模态多语言模型要处理不同的语言,在预训练时需要每种语言的数据。在预训练时添加不可见的语言是不灵活的。因此,应该探索一种新的预训练框架,以轻松适应那些看不见的语言。此外,当前的多模态多语言模型还不能处理音频数据。例如,要将英语音频翻译成汉语音频,我们需要首先通过一个额外的语音识别系统将英语音频转换成英语文本。在采用跨语模型进行翻译后,我们需要通过额外的文本-语音转换工具将中文文本进一步转换为中文音频。如何通过多模态多语言PTMs将源语言音频直接转换为目标语言文本或目标语言音频也值得探索。

(总结:
更多模态:视频、语音同样重要,但在这类数据上预训练的成本太大了,需要更有效的方法进行复杂模态的预训练
更多对于多模态的解释:为什么加上图像work?单模态有什么缺陷?
更多多模态的应用场景:现在多模态模型主要用于检索、生成,是否有更接近现实的应用?
迁移学习:多模态预训练无法学习隐性知识,比如在同声翻译中,需要先把语音转成文字,进行文字翻译后再转为语音,能否通过多模态、多语言PTMs一步到位?)

8.3Computational Efficiency计算效率

近年来,深度学习模型已经变得越来越复杂和庞大e (Devlin et al., 2019; Brown et al., 2020; Kaplan et al., 2020; Fedus et al., 2021)大规模深度学习模型的新需求给现有的深度学习框架带来了严峻的挑战,如TensorFlow (Abadi等人,2016)和PyTorch (Paszke等人,2019),这些设计在早期,没有最初预见到出现的需求,例如大型模型的模型/管道并行性 (Brown et al., 2020; Huang et al., 2019b; Wang et al., 2019)。为了开发更高效的框架,以下方向很有帮助
数据移动。开发一个高效的分布式深度学习框架面临着各种挑战。一个人必须仔细管理设备之间的数据移动,否则这可能成为性能瓶颈 (Narayanan et al., 2019; Jiang et al., 2020a)。通过最小化通信成本、最大化计算和内存资源以及优化计算-通信重叠,需要一个明确定义的并行策略来在互连设备上放置和调度计算任务。在最好的情况下,这种有效的并行策略可以自动生成。
并行策略。特别是并行策略的选择,数据并行、模型并行、管道并行和各种混合并行方法可以根据神经网络的结构和硬件配置找到它们的最佳应用(Ben-Nun和Hoe-fler, 2019)。数据并行性尤其适用于参数集相对较小(通常小于千万个参数)的深度学习模型,当反向传播与梯度/参数通信最大限度重叠时,可以实现近线性加速(Hashemi等人,2019;彭等,2019;江等,2020a)。模型并行性和管道并行性适用于具有更多参数的模型,这些模型可能无法放入单个设备中。在当前的实践中,用户必须充分考虑给定深度学习模型的网络结构和设备间的通信带宽,以决定最合适的并行性策略或在不同策略之间切换(Shazeer et al., 2018)。
大规模的训练。由于现有的深度学习框架对模型并行性和管道并行的支持不足,一些新兴的开源项目开发了用于大规模训练的专用框架。例如,HugeCTR (Oldridge et al., 2020)被用于大规模的点击率估计。Megatron-LM (Shoeybi et al., 2019;Narayanan et al., 2021)和DeepSpeed (Rajbhandari et al., 2021, 2020)的目标是训练大规模的NLP PTMs。Insight-Face (in, 2021)训练大规模的人脸识别模型。然而,这些框架仅限于有限的应用案例,不能作为通用的解决方案。此外,由于兼容性问题,这些方法不能一起工作以组成一个完整的解决方案。
包装和插件。如果没有支持模型并行和管道并行的机制,则必须通过在现有框架之上的计算操作之间手动插入数据路由操作来开发专用于某些特定算法的各种库。此外,通信和计算需要手动重叠,以最大化地提高系统吞吐量。手动编程通信操作非常复杂,只能逐个解决问题,这导致将并行策略应用于新的深度学习模型存在重大障碍。如果可以通过深度学习框架对用户透明地自动管理通信操作,那么更多的模型和应用程序可以从分布式训练中受益。
为了支持更复杂的并行化策略,基于TensorFlow和PyTorch等主流深度学习框架,许多方案被用作包装器或插件。Mesh-TensorFlow (Shazeer et al., 2018)、FlexFlow (Jia et al., 2019)、OneFlow (one, 2021)、Mind-Spore (min, 2021)和GShard (Lepikhin et al., 2021)为开发人员提供api,以表达深度神经模型的不同组件的表达广泛的并行计算模式。OneFlow中的SBP配置对于用户来说仍然过于复杂。然而,直接使用通信原语对不同类型的并行进行编程更为复杂。OneFlow将手动编程转换为仅仅设置SBP签名。此外,在 OneFlow 中,用户可以只设置操作子集的 SBP 签名,而不是整个集合,其余的 SBP 由用户提供的启发式方法(如 GShard(Lepikhin 等人,2021))推断一些初始注释或使用默认注释作为种子,然后算法将分片信息传播到未注释的十个向量。FlexFlow (Jia et al., 2019)中的方法也可以在这里使用。并行策略的自动调度是未来分布式训练的发展趋势。

(总结:
数据移动:现在分布式很大的瓶颈在设备通信上,能否设计自动化的策略提升数据传递效率?
并行策略:模型并行、Pipeline并行都依赖网络结构和设备配置,能否有更自动的策略,减少人工设计成本?
大规模的训练, 包装和插件)

8.4Theoretical Foundation理论基础

在本小节中,我们将以更基本的方式分析未来的发展方向。在理论基础方面,我们讨论了以下几个研究问题。
不确定性。PTMs(以及其他深度神经网络)的一个未被解决的问题是,它们经常在预测方面过于自信,例如,这些模型不知道他们不知道的事情。例如,GPT-3可用于回答在基准数据集上具有良好性能的问题。然而,如果你问一个简单的问题,比如“我的脚有几只眼睛?”, GPT-3肯定会给出像“你的脚有两只眼睛”这样的答案,这看起来违反直觉。4当然,上述问题一般人不会经常问。在机器学习中,如何处理这些分布外数据(ODD)是一项具有挑战性的任务。
为了解决上述挑战,一个有希望的方向是采用贝叶斯方法,探索概率工具来捕获数据和模型的不确定性(也称为随机不确定性和认知不确定性)(Der kee -ureghian和Ditlevsen, 2009)或导出一些测试统计数据。这种不确定性或统计数据有助于检测离群值(Wang et al., 2020f)。近年来,在贝叶斯深度学习的理论、算法和编程库方面做了大量的工作,贝叶斯深度学习将贝叶斯方法和深度网络结合在一起(详见(Shi et al., 2017))。这种进展可以进一步扩展到大规模的PTMs,以适当地描述不确定性并避免过度自信的输出。当然,提高贝叶斯深度学习的计算效率是解决上述挑战的关键因素。
泛化性和鲁棒性。PTMs的另一个重要问题是泛化。作为深度学习的一个重要进展,它继承了深度神经网络的优点,同时也带来了挑战。已有研究发现,经典学习理论不足以理解深度网络的行为(Zhang et al., 2017),因此需要在学习理论中引入新的工具。对于PTMs,除了对神经模型本身(如Transformer和BERT)的理论理解之外,还出现了新的问题。例如,从理论上理解预训练在提高下游任务泛化方面的作用是很重要的。最近的研究(Saunshi et al., 2019)在理解特定假设下的对比学习方面进行了卓有成效的尝试。然而,在更现实的环境下分析PTMs仍然是开放的。
正如我们之前提到的,对抗性的鲁棒性也提出了新的问题。在之前的工作中,为了实现神经网络的对抗鲁棒性,需要更高的样本复杂度(Schmidt et al., 2018)。这种的分析激发了进一步的改进(例如,(Pang et al., 2020))。然而,通常不知道大规模的PTMs在这方面有什么帮助。有没有有效的方法来探索 PTM 作为额外的数据资源来提高下游任务的鲁棒性?此外,正如前面提到的,PTMs本身的鲁棒性也是一个尚未解决的问题。

(总结:
不确定性:模型对预测过于自信,比如问“你的脚有几只眼睛?”这种问题也会回答,已经有研究在利用贝叶斯方法研究这个问题
泛化性和鲁棒性:预训练为何能提升泛化性?如何提升鲁棒性?)

8.5模型边缘学习

PTMs可以在大量的NLP任务中实现大幅度的改进,因为他们从大型的未标记语料库中学习各种各样的知识。与人类可以理解的离散符号表示的知识相反,存储在 PTM 中的知识表示为实值向量。例如,给定知识图中的三元组hh, r, ti在知识图谱中,很容易知道头部实体 h 与尾部实体 t 有关系 r。相反,你似乎很难知道由PTM产生的表示意味着什么。因此,我们可以将存储在PTMs中的知识称为“模型边缘”(modeledge),这与人类形式化的离散符号知识不同。
知识感知任务。虽然符号知识的使用是有效的,但手工组织这些离散的知识,例如建立各种知识库,既费时又费力。随着PTM研究的迅速推进,出现了GPT、BERT、BERT等多种PTM,越来越多的研究者开始探究PTM从数据中学习到什么知识,以及他们为什么在下游任务中表现如此出色(Jawahar et al., 2019b;Ethayarajh, 2019)。Petroni等(2019)指出,PTMs可以被视为知识库,并研究如何将 PTM 应用于知识完成任务。Etha-yarajh(2019)也提出PTMs将是开放的知识图谱,并提出了一种基于PTMs构建知识图谱的无监督方法。从所有这些知识感知任务中,我们可以发现,PTMs捕获了大量的人类知识,并以modeledge的形式存储。如何激发PTM的modeledge是值得进一步探讨的问题。
Modeledge存储和管理。由于现有的PTM构建在不同的架构上,并且可能使用不同的语料库进行训练,因此它们包含不同的modeledge。因此,如何在PTMs中存储和管理各种连续modeledge成为一个新的挑战。有两种简单的想法。
第一种是在超大规模的数据上预训练一个巨大的模型。然后,PTM将具有覆盖现有PTM中几乎所有modeledge的非凡能力。这种方法简单有效,但需要极高的计算能力和存储资源。例如,GPT-3使用了大约1750亿个参数。
第二种是将多个模型结合成一个基于专家混合的大模型(MoE) (Jacobs et al., 1991)。例如,Fe-dus等人(2021)改进了MoE,提出了Switch Transformers。该方法易于包含新的模型,但随着模型数量的增加,对内存的需求也会增加。
考虑到现有的PTM既有相似之处,也有不同之处,我们有一个重要的问题需要回答:是否有可能构建一个通用的连续知识库(UCKB)来存储来自各种PTM的modeledge?UCKB不仅可以存储从现有PTM导入的连续modeledge,还可以混合不同的modeledge,然后将融合的modeledge导出到一个模型中,使其功能更加强大。Chen et al. (2020a)首先提出了UCKB的概念,并做了一些初步的探索。他们将神经网络作为参数化函数,利用知识蒸馏(Hinton et al., 2014)导入和导出modeledge。UCKB克服了模型存储的冗余性,将各种模型的modeledge存储为一个通用的连续知识库。然而,如何为UCKB的存储和接口设计更有效的架构仍然是一个挑战。

(总结:知识感知任务:已经有研究证实PTMs中存储着知识,但如何更好的利用这些知识呢?
Modeledge存储和管理:如何对知识进行更好的存储和管理,在其他语料训练需要大量计算并避免灾难性遗忘,是否可以把不同模型的知识合并到一起?)

8.6Cognitive and Knowledgeable Learning认知和知识学习

让PTMs知识更加渊博是 PTM 未来的一个重要主题。我们将知识型PTMs的未来发展分为以下三种方式:
(1)、知识扩充。对于一个输入文本,有丰富的相关外部知识,可以用来扩充输入。考虑到知识和纯文本的格式差异很大,重要的是要弥合文本表示和知识表示(包括符号或向量)之间的差距,并统一使用它们的信息作为输入。解决这一问题需要统一的模型架构和知识引导的预训练目标。
(2)、知识支撑。当前的模型架构是手工设计的,并且通常非常规则。有了对输入的先验知识,我们可以训练不同的子模块来处理不同类型的输入,这样可以加快训练和推理的过程,提高模型的效率。这一过程类似于人类的行为,不同的大脑区域对应不同的活动功能。
(3)、知识监督。知识库存储大量的结构数据,可以在预训练期间作为补充源使用。通过从知识库和大规模语料库学习,与仅使用纯文本相比,PTM可以具有更好的语言理解和生成能力。
通过这三个方向,我们希望未来的PTMs能够更容易地理解文字之外的含义(难以言喻),并在各种下游任务上取得更好的表现。

在认知型PTMs方面,我们相信以下方法会有所帮助:
(1)、认知架构。由于神经网络的灵感来自于人类神经系统的微观结构,因此人们希望看到人类认知系统的宏观功能和组织能够启发下一代智能系统的设计,如全球工作理论(GWT)。CogQA和CogLTX的成功可能为这一挑战提供一些思路。
(2)、显性和可控推理。虽然深度学习在许多感知任务中取得了成功,但如何进行复杂的决策和高效的多步推理仍然没有解决,这可能需要机器自动将决策过程规划成认知图谱并执行显式推理像人类一样超越图表中的因素。比如反向提示(Zou et al., 2021)等这样的方法,在控制主题相关文本生成方面显示出极高能力的方法,可以提供一些思路。
(3)、知识的相互作用。虽然我们的PTMs越来越大,越来越普遍,但它从预训练学到的知识在很大程度上还没有被探索。此外,由于我们的大脑是通过不同功能区域的协作来工作的,所以,重要的是要看看我们的PTMs是否形成了不同的内部功能模块,以及它们是如何相互作用的。

(总结:知识扩充:如何利用更好的结构、预训练方法,把异构的知识融入到文本中?
知识支撑:利用先验知识对数据进行处理,加速PTMs的训练和理解
知识监督:利用KG进行预训练
认知架构:更接近人脑的结构
显性和可控推理:增强复杂推理、多跳推理能力
知识的相互作用:PTMs内部是否把知识存储到了不同部分,它们是如何交互的?)

8.7Applications应用

PTMs已经成功地应用于各种领域和任务中。在本节中,我们将重点介绍其中的一些应用程序。
(1)、自然语言生成。许多自然语言生成任务由PTMs主导,如GPT-2、BART、T5、UniLM等。这些任务包括机器翻译、摘要、对话生成、故事生成、诗歌生成和其他长文本生成。由于PTMs的流行趋势,主骨干模型已经从CNN / RNN转移到Transformers或基于Transformers的PTMs。PTMs也已成功地应用于多模态的产生。这些模型以文本图像并行数据为训练,在视觉问答、图像文本生成和文本图像生成等应用中表现得非常出色。由于大规模的PTM已经在如此大规模的数据上进行了训练,因此它们对于自然语言生成具有先天的优势,特别是资源不足下的自然语言生成。
(2)、对话系统。目前,许多最近的开放域对话系统都是建立在大型Transformer结构上的。这些例子包括Meena (Adi-wardana et al., 2020)、Blender (Roller et al., 2021)、CDial-GPT (Wang et al., 2020e)、Plato (Bao et al., 2020)和Plato-2 (Bao et al., 2021),它们通常使用seq2seq框架对大规模会话数据进行训练。这些模型已经显示出了提供自然和引人入胜的对话的能力,其中一些已经被报道接近人类水平的表现(Adiwardana等人,2020年)。然而,与其他应用程序的预训练任务相比,对话特定的预训练任务还有待探索。
(3)、特定领域的PTMs。当大规模的特定领域的语料库可以廉价获得时,我们可以在这样的数据上训练特定于领域的PTMs。一些著名的工作包括BioBERT (Lee et al., 2020)和SciBERT (Beltagy et al., 2019),它们分别针对生物和科学文献文本进行训练。与在一般文本上训练的模型相比,这些模型被期望和验证能够学习更多特定领域的知识和语言使用。这种领域专业知识通常被认为对于解决许多特定领域的问题很重要。
(4)、领域适配和任务适配。大规模 PTM 从大规模通用文本中学习通用知识,为通过微调或其他技术进一步学习特定领域的知识提供了一个很好的起点。尽管PTMs变得越来越大,但特定领域的数据总是有限的。因此,领域适配对于特定领域的应用程序变得至关重要。很明显,对于特定领域的应用来说,大规模PTMs的简单微调是不够的(Gururangan等人,2020;柯等,2020)。最根本的原因是分布变化:特定领域的数据分布可能与一般的预训练文本的数据分布有很大的不同。特定领域应用程序成功的另一个重要问题是任务适配。通常情况下,领域应用程序有一小部分标记数据,这可以使监督学习更有效地学习领域专业知识。然而,对于超大的PTMs,简单地对带标签的数据进行微调在计算上似乎效率低下,在性能上也没有效果。因此,如何在预训练和具体任务的微调之间架起桥梁变得至关重要。此外,高效且有效的特定任务微调也是 PTM 未来应用的重要研究方向。

(总结:自然语言生成:低资源生成如何实现?
对话系统:为对话定制的预训练任务
特定领域的PTMs:有更多领域知识的预训练模型
领域适配和任务适配:领域和任务数据总是较少的,对于大模型会欠拟合,如何更高效地精调?)

2.《Paradigm Shift in Natural Language Processing》

作者:Tianxiang Sun, Xiangyang Liu, Xipeng Qiu, Xuanjing Huang
期刊:《Machine Intelligence Research 》

一.摘要

在深度学习时代,大多数 NLP 任务的建模已经收敛到几种主流范式。 例如,我们通常采用序列标注范式来解决诸如 POS-tagging、NER、Chunking 等一组子任务,而采用分类范式来解决诸如情感分析之类的任务。 随着预训练语言模型的快速发展,近年来出现了范式转变的上升趋势,即通过将一个 NLP 任务重新构建为另一个 NLP 任务来解决它。 范式转变在许多任务上都取得了巨大的成功,成为提高模型性能的一种很有前途的方法。 此外,其中一些范式已显示出统一大量 NLP 任务的巨大潜力,使得构建单一模型来处理不同任务成为可能。 在这篇文章中,作者回顾了近年来这种范式转变现象,重点介绍了几种有可能解决不同 NLP 任务的范式。

二.NLP的范式

这部分给出了七种范式的正式定义,并介绍了它们完成的代表性任务和实例模型。

2.1 分类(类)

文本分类是为文本指定预定义的标签,是情感分析、主题分类、垃圾邮件检测等各种NLP应用中的一项基本任务。在深度学习时代,文本分类通常是将输入文本输入到基于神经元的深度encoder中来提取特定任务的特征,然后将其输入到浅分类器中来预测标签。
在这里插入图片描述

2.2匹配

文本匹配是预测两个文本语义相关性的一种范式。它被广泛应用于信息检索、自然语言推理、问答和对话系统等多个领域。匹配模型不仅应该提取两个文本的特征,还应该捕获它们的细粒度交互。
在这里插入图片描述

2.3序列标记(SeqLab)

序列标记(SeqLab)范式(也称为序列标记)是一种基本范式,建模各种任务,如部分语音(POS)标记、命名实体识别(NER)和文本分块。传统的基于神经元的序列标记模型包括一个编码器,用于捕获序列中每个标记的上下文化特征,以及一个解码器,用于获取特征并预测标签。
在这里插入图片描述

2.4 机器阅读理解(MRC)

机器阅读理解(MRC)范式基于给定问题的输入序列中提取连续的标记序列(spans)。它最初被用于解决MRC任务,然后通过将其重构为MRC格式来推广到其他NLP任务中。然而,为了与之前的工作保持一致并避免混淆,我们将这个范例命名为MRC,并将其与任务MRC区分开来。
在这里插入图片描述

2.5 序列对序列(Seq2Seq)

序列到序列(Seq2Seq)范式是一种通用而强大的范式,可以处理各种NLP任务。Seq2Seq的典型应用包括机器翻译和对话,其中系统应该输出基于输入序列(源语言或用户查询)的序列(目标语言或响应)。Seq2Seq范式通常通过编码器-解码器框架实现。
在这里插入图片描述

2.6 序列到动作序列(Seq2ASeq)

序列到动作序列(Seq2ASeq)是一种广泛应用的结构化预测范式。Seq2ASeq的目的是预测一个包含动作的序列(也称为过渡序列),从一些初始构型c0到一个终端构型。预测的动作序列应该编码一些法律结构,如依赖树。(结构化的预测,给出一个包含actions的序列,经过encoder后,结合给出的参数(configration),经过decoder预测当前时刻的action。)
在这里插入图片描述

2.7 (M)LM

语言模型(LM)是自然语言处理中一项长期存在的任务,即估计一个给定的单词序列在一个句子中出现的概率。由于其自监督方式,语言建模及其变体,如掩码语言模型(MLM),被采用作为训练目标,在大规模无标记语料库上对模型进行预训练。
在这里插入图片描述
虽然LM和MLM可能有某种不同(LM基于自回归,而MLM基于自编码),但下文将它们划分为一个范式,(M)LM,因为它们具有相同的固有性质,即估计给定上下文的某些单词的概率。

三、NLP任务中的范式转变

第三部分展示了不同NLP任务中发生的范式转变的例子,下文主要结合文章给的图片进行总结说明

作者在对于每个nlp任务,都举了一些例子,并简单地说了下如何迁移的,总结起来就是下面这个表格,从中可以更加清晰的看到不同的nlp任务上在近期有哪些类型的模型,不同于以往的某个问题只能用某些特定的方法模型来解决,范式的迁移使得nlp的解决方案更加多元化。
在这里插入图片描述

当一个任务使用一个不同于其原始范式的范式来解决时,其原始范式的一些价值就会被转移到新的范式中。对于每个主流的NLP任务,作者收集了2012年至2021年解决该任务的已发表论文,并将2012年使用的范式作为该任务的原始范式。然后,作者用相同的原始范式跟踪所有任务中的范式变化,并计算在2021年之前观察到的范式变化的任务数量。
在这里插入图片描述

如上面所示,可以发现: (1)近年来范式转换的频率在增加,特别是在预先训练的语言模型(PTMs)出现之后。为了充分利用这些PTMs的力量,一个更好的方法是将各种NLP任务重新制定为PTMs所擅长的范式。(2)越来越多的NLP任务已经从传统的范式如Class、SeqLab、Seq2ASeq转变为更通用和更灵活的范式

四、NLP中潜在的统一范式

第四部分讨论了几个突出的范式的设计和挑战,这些范式在统一大多数现有NLP任务方面表现出了巨大的潜力。

4.1 (M)LM

将下游任务重新定义为(M)LM任务是利用预先训练过的LM任务的一种自然方法。原始输入用预定义或提示学习进行修改,其中一些未填充的槽,可以由预先训练的lm填充。然后,可以从填充的标记中导出任务标签。例如,影评“我喜欢这部电影”可以添加一个提示“我喜欢这部电影”。这是[MASK],[MASK]可以被LM预测为“奇妙”。然后,“奇妙”这个词可以通过一个表达器映射到标签“积极”。在(M)LM范式中解决下游任务也被称为基于提示的学习。通过充分利用MLM头的预训练参数,而不是从头训练分类头,基于提示的学习在少镜头甚至零镜头的设置中显示出巨大的力量(Scao和Rush,2021)。
提示。提示的选择对特定任务的执行至关重要。一个很好的提示可以是(1)手动设计。Brown等人(2020年);Schick和Sch¨utze(2021a,¨)为不同的任务手工制作特定于任务的提示。虽然它是启发式的,有时是非直观的,但手工制作的提示已经在各种少量射击任务中取得了具有竞争力的性能。(2)从语料库。Jiang等人(2020)通过挖掘语料库中具有相同主体和对象的句子,构建了关系提取的提示。(3)由释义产生的。Jiang等人(2020)使用反向翻译将原始提示改写为多个新提示。(4)由另一个预先训练过的语言模型生成。Gao等人(2021)使用T5(Raffel等人,2020)生成提示,因为它经过预先训练,以填充输入中缺失的跨度。(5)通过梯度下降来学习。Shin等人(2020)基于梯度引导搜索自动构建提示。如果提示符不一定是离散的,则可以在连续空间中进行有效的优化。最近的作品(李和梁,2021;秦和艾斯纳,2021;汉巴德祖米扬等,2021;刘等,2021b;钟等,2021)已经表明,连续提示也可以取得竞争力甚至更好的表现。
映射。verbalizer的设计对基于提示的学习的性能也有很大的影响(Gao et al.,2021)。verbalizer可以(1)手动设计。Schick和Sch¨utze(2021a)启发式地设计了针对不同任务的语言表达器,并取得了具有竞争力的结果。然而,对于许多任务(例如,当类标签不直接对应于词汇表中的单词时),手动设计适当的verbalizer并不总是直观的。(2)自动搜索一组标记数据(Schick等人,2020年;Gao等人,2021年;Shin等人,2020年;Liu等人,2021b)。(3)利用知识库进行结构和完善(Hu.,2021)。
参数高效调优 与需要为每个任务对所有模型参数进行调优的微调相比,基于提示的调优也有利于其参数效率。最近的研究(Lester et al.,2021)表明,当模型超过数十亿个参数时,在保持主干模型参数不变的同时,只调整提示参数,可以实现与标准微调相当的性能。由于参数效率,基于提示的调优是一种很有前途的部署大规模预训练lm的技术。在传统的微调中,服务器必须为每个下游任务维护一个预先训练过的整个LM的特定于任务的副本,并且推理必须在单独的批中执行。在基于提示的调优中,只需要一个预先训练过的LM,并且可以通过使用特定于任务的提示修改输入来执行不同的任务。此外,不同任务的输入可以在同一批中混合,这使得服务效率很高。

(总结:(M)LM任务也被称为基于提示的学习,主要是原始输入套用提示模板进行修改,设置一些槽,最后从填充的标记中导出任务标签。涉及到有模板的设计,答案的映射等,连续模板现在是主流研究,与特定任务模型相比,基于提示的学习的模型只调整提示参数,也可以实现与标准微调相当的性能,具有统一模型的潜力)

4.2 匹配

另一个潜在的统一范式是匹配,或者更具体地说,是文本蕴涵(a.k.a.自然语言推理)。文本蕴涵是预测两个给定的句子,分别是前提和假设:前提是包含假设,还是与假设相矛盾,还是两者都不是。几乎所有的文本分类任务都可以重新定义为文本蕴涵任务(Dagan等人,2005年;Poliak等人,2018年;Yin等人,2020年;Wang等人,2021年)。例如,一个贴上标签的影评,我喜欢这部电影,可以被修改为我喜欢这部电影,这是一部很棒的电影。与预先训练的lm类似,蕴涵模型也可以广泛使用。这种通用的蕴涵模型可以是预先训练的lm,它们可以在一些大规模注释的蕴涵数据集上进行微调,如MNLI(威廉姆斯等人,2018)。Sun等人(2021)表明,用BERT head预测下一个句子,在不经过任何监督蕴涵数据的训练的情况下,也可以在各种zero-shot任务上取得竞争性能。
领域自适应 蕴涵模型可能会偏向于源域,导致对目标域的泛化效果较差。减轻源任务和目标任务之间的域差异,Yin et al.(2020)提出跨任务最近邻模块匹配实例表示和类表示源域和目标域,这样蕴涵模型可以很好地推广到新的NLP任务有限的注释。
标签描述 对于单个句子的分类任务,每个类的标签描述都需要与蕴涵模型要预测的输入文本连接起来。标签描述可以看作是触发蕴涵模型的一种提示。Wang等人(2021)表明,用最少的领域知识手工制作的标签描述可以在各种 few-shot任务上达到最先进的性能。然而,人类书写的标签描述可能是次优的,Chai等人(2020)利用强化学习来生成标签描述。
与基于提示的学习方法的比较 在这两种范式((M)LM和匹配)中,目标是将下游任务重新制定为训练前任务(语言建模或蕴涵)。为了实现这一点,它们都需要使用一些模板来修改输入文本,以提示预先训练好的语言或蕴涵模型。在基于提示的学习中,预测由预先训练的MLM head在[MASK]标记上进行,而在基于匹配的学习中,预测由预先训练的分类器在[CLS]标记上进行。在基于提示的学习中,输出预测是在词汇表之上的,因此需要一个verbalizer来将词汇表中的预测单词映射到一个任务标签中。相比之下,基于匹配的学习可以简单地重用输出(隐含/矛盾/中性,或隐含/不隐含)。基于匹配的学习的另一个好处是,人们可以构建成对的增强数据来执行对比学习,从而进一步提高few-shot的性能。然而,基于匹配的学习需要大规模的人工标注的蕴涵数据来预训练一个蕴涵模型,并且需要处理源域和目标域之间的域差异。此外,基于匹配的学习只能用于理解任务,而基于提示的学习也可以用于生成(Li和Liang,2021;Liu et al.,2021b)。

(总结:匹配范式主要任务自然语言推理,也就是判断句子间的关系是否相互包含、矛盾或两者都不是,基于匹配范式的模型只能用于理解任务,存在领域自适应的问题:模型偏向于源域,导致对目标域的泛化效果较差。)

4.3 MRC

MRC也是一种统一各种NLP任务的替代范式,通过生成特定任务的问题,并训练MRC模型从基于问题的输入文本中选择正确的跨度。以NER为例,通过查询“谷歌成立于1998年”的MRC模型,可以识别输入的“谷歌成立于1998年”中的组织实体。在文本中找到组织,包括公司、机构和机构”,如Li等人(2020年)。除了NER之外,MRC框架还展示了实体关系提取(李等人,2019)、协参考分析(吴等人,2020)、实体链接(顾等人,2021)、依赖分析(甘等人,2021)、对话状态跟踪(高等人,2019)、事件提取(杜和卡迪,2020;刘等人,2020年)、基于方面的情绪分析(Mao等人,2021年)等。
只要任务输入可以被重新定义为上下文、问题和答案,就可以应用MRC范式。由于其普遍性,McCann等人(2018)提出将decaNLP统一为问答、机器翻译、摘要、自然语言推理、情感分析、语义角色标记、关系提取、目标导向对话、语义解析和统一的常识代词解析等十项QA格式。与前面提到的工作不同,对于decaNLP的一些任务,如语义解析,答案可能不会出现在上下文和问题中,因此该框架不是严格的MRC范式。
与基于提示的学习的比较,值得注意的是,设计的问题可以类似于(M)LM中的提示。verbalizer在MRC中不是必需的,因为答案是上下文或问题中的一个跨度。基于提示的学习中的预测器MLM head可以被传统MRC模型中的开始/结束分类器或McCann等人(2018)中的指针网络所取代。

(总结:有将NER任务做成机器阅读理解的形式,实体链接,对话状态跟踪,事件抽取,情感分析也可以用MRC得到不错的效果。与MLM(masked language model)相比,MRC不需要将答案用语言来描述,只需要在context或者question中标注起始和开始。但MRC比较依赖框架,一些nlp任务答案可能不会出现在上下文和问题中,因此不能构成MRC范式的框架)

4.4 Seq2Seq

Seq2Seq是一个通用而灵活的范例,它可以处理任何任务,其输入和输出可以被重铸为一个令牌序列。早期的工作(McCann et al.,2018)已经探索了使用Seq2Seq范式来同时解决不同类别的任务。基于seq2seq预训练的最新进展,如MASS(Song等,2019)、T5(Raffel等,2020)和BART(Lewis等,2020),seq2seq范式在统一不同的NLP任务方面显示出巨大潜力。Paolini等人(2021)使用T5(Raffel等人,2020)来解决许多结构化预测任务,包括联合实体和关系提取、嵌套NER、关系分类、语义角色标记、事件提取、共参考解析和对话状态跟踪。严等(2021a)和严等(2021b)使用BART(刘易斯等,2020),配备复制网络(顾等,2016),统一所有NER任务(平面NER、嵌套NER、不连续NER)和所有ABSA任务(AE、OE、ALSC、AOE、AESC、对、三联体)。
与其他范式的比较 与其他统一的算法相比,Seq2Seq特别适用于复杂的结构化预测任务。另一个好处是,Seq2Seq也与其他范例兼容,如(M)LM(Raffel等人,2020年;Lewis等人,2020年)、MRC(McCann等人,2018年)等。然而,它的通用性所附带的是高延迟。目前,大多数成功的seq2seq模型都是以自回归的方式进行的,其中每一代步骤都依赖于之前生成的token。这种顺序性质导致了推理时的固有延迟。因此,需要通过非自回归方法开发高效的seq2序列模型(Gu等人,2018;Qi等人,2021)、早期退出,2020)或其他替代技术(Elbayad等人,2020)。

(总结:和其他的范式对比,seq2seq更适合像结构化预测这类复杂的任务。现有最成功的seq2seq模型使用的基本是自回归模型(每个生成步都依赖于已生成的序列),导致了推理时的固有延迟,未来也许需要一些非自回归模型)

五、结论

最近,基于提示的调优,即将一些NLP任务制定为一个(M)LM任务,已经非常受欢迎。它们可以用更少的训练数据来实现相当可观的性能。相比之下,其他潜在的统一范式,即匹配、MRC和Seq2Seq,在训练前的背景下还没有得到充分的探索。其中一个主要原因是,这些范式需要大规模的注释数据来进行预训练,特别是Seq2Seq因数据需求而臭名昭著。
然而,与(M)LM相比,这些范式有它们的优势:匹配需要更少的工程,MRC更可解释,Seq2Seq对处理复杂的任务更灵活。此外,通过结合自我监督训练,或进一步训练注释数据与现有语言模型初始化,这些范式可以实现竞争性能甚至比(M)更好的性能。因此,我们认为,通过训练前或其他替代技术来探索更强大的隐含、MRC或seq2seq模型,需要给予更多的关注。

总结

本周主要在阅读综述型文献,了解nlp领域的背景,现在主流的方法和策略以及未来的发展,下周会针对提示学习相关的知识点针对性的阅读文献以及学习相关代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值