Pre-trained Models for Natural Language Processing: A Survey
Xipeng Qiu*, Tianxiang Sun, Yige Xu, Yunfan Shao, Ning Dai & Xuanjing Huang
最后,我们概述了PTMs未来研究的一些可能的方向。本调查旨在为理解、使用和开发用于各种NLP任务的PTMs提供动手指导。
1 Introduction
随着深度学习的发展,各种神经网络被广泛用于解决自然语言处理(NLP)任务,如卷积神经网络、递归神经网络、基于图的神经网络和注意机制。这些神经模型的优点之一是它们能够缓解特征工程问题。非神经NLP方法通常严重依赖于离散的手工特征,而神经方法通常使用低维和密集的向量。分布式表示)隐含地表示语言的句法或语义特征。这些表征是在特定的NLP任务中习得的。因此,神经方法使人们开发各种神经规划系统变得容易。
尽管神经模型在NLP任务上取得了成功,但与计算机视觉(CV)领域相比,其性能改进可能不那么显著。主要原因是当前大多数NLP任务的数据集都相当小
(机器翻译除外)。深度神经网络通常参数较多,这使其对这些小的训练数据进行过拟合,在实际应用中不能很好地推广。因此,许多NLP任务的早期神经模型相对较浅,通常只有
1∼3神经层。
近年来,大量研究表明,在大型语料库上的预训练模型(PTMs)可以学习通用语言表示,这有利于下游的NLP任务,并可以避免从头开始训练新模型。随着计算能力的提高,深度模型(即深度模型)的出现。随着训练技能的不断提高,PTMs的体系结构也从浅向深发展。第一代PTMs的目标是学习好的单词嵌入。由于下游任务不再需要这些模型本身,他们通常计算效率很低,如Skip-Gram和GloVe。虽然这些预先训练好的嵌入可以捕捉到词语的语义意义,但它们是上下文无关的,不能捕捉到上下文中的高级概念,如多义消歧、句法结构、语义角色、回指等。第二代PTMs侧重于上下文单词嵌入的学习,如CoVe、ELMo、OpenAI GPT和BERT。这些习得的编码器仍然需要通过下游任务在上下文中表示单词。此外,针对不同的学习目的,提出了不同的预培训任务。
本调查的贡献可以总结如下:
1.全面审查。我们提供了对NLP的PTMs的全面回顾,包括背景知识、模型架构、培训前的任务、各种扩展、适应方法和应用。2. 新分类法。我们为自然语言处理提出了一个ptm的分类,它从四个不同的角度对现有的ptm进行了分类:1)表示类型,2)模型架构;3)培训前任务类型;4)针对特定类型的场景进行扩展。3.资源丰富。我们收集了大量关于PTMs的资源,包括PTMs的开源实现、可视化工具、语料库和论文列表。4. 未来的发展方向。我们讨论和分析了现有PTMs的局限性。并提出未来可能的研究方向。
调查的其余部分组织如下。第2节概述了PTMs的背景概念和常用符号。第3节给出了PTMs的简要概述,并澄清了PTMs的分类。第4节提供了对PTMs的扩展。第5节讨论了如何将PTMs知识转移到下游任务中。第6节提供了有关PTMs的相关资源。第7节介绍了跨各种NLP任务的应用程序集合。第8节讨论当前的挑战和建议未来的方向。第9节对全文进行了总结。
2 Background
2.1 Language Representation Learning
分布式表示的核心思想是用低维实值向量来描述一段文本的意义。向量的每一个维数都没有相应的意义,而整体代表了一个具体的概念。图1举例说明了NLP的一般神经结构。单词嵌入有两种:非上下文嵌入和上下文嵌入。它们之间的区别在于,一个词的嵌入是否会根据它出现的上下文动态变化。
Non-contextual Embeddings
表示语言的第一步是将离散的语言符号映射到分布的嵌入空间中。形式上,对于词汇表V中的每个单词(或子单词)x,我们将其映射到一个向量ex∈RDe,其查找表E∈RDe x |V|,其中De是指示嵌入tokens维数的超参数。这些嵌入在任务数据和其他模型参数上进行训练。
这种嵌入有两个主要的限制。
第一个问题是嵌入是静态的。无论上下文如何,单词的嵌入都是一样的。因此,这些非上下文嵌入不能模拟多义词。第二个问题是词汇表之外的问题。为了解决这个问题,字符级词表示或子词表示在许多NLP任务中被广泛使用,如CharCNN [87], FastText [14] and Byte-Pair Encoding (BPE)
Contextual Embeddings
要解决词语的多义性和语境依赖性问题,需要区分词语在不同语境中的语义。给定文本x1, x2,···xT,其中每个token xT∈V是一个单词或子单词,xT的上下文表示依赖于整个文本。
[h1, h2, · · · , hT ] = fenc(x1, x2, · · · , xT ),
where fenc(·) is neural encoder, which is described in Section 2.2, ht is called contextual embedding or dynamical em-bedding of token xt because of the contextual information included in.
其中fenc(·)是神经编码器,在2.2节中描述,ht被称为上下文嵌入或动态的em- layer of token xt,因为它包含上下文信息。
2.2 Neural Contextual Encoders
大多数神经相关编码器可以分为两类:序列模型和基于图的模型。
图2说明了这些模型的体系结构。
2.2.1 Sequence Models
序列模型通常按照顺序捕获单词的局部上下文。
Convolutional Models
卷积模型将单词嵌入到输入句子中,并通过卷积操作将其邻居的局部信息聚合到一起,从而获取单词的含义
Recurrent Models
循环模型捕获记忆能力较差的单词的上下文表示,如LSTMs和GRUs。在实践中,双向LSTMs或GRUs是一种从词汇的两面收集信息的工具,但其性能往往受到长期依赖问题的影响。
2.2.2 Non-Sequence Models
非序列模型通过预定义的树或图结构来学习单词之间的上下文表示,如句法结构或语义关系。一些流行的非序列模型包括RNN、TreeLSTM和GCN。
虽然语言感知图结构可以提供有用的归纳偏差,但是如何建立一个好的图结构也是一个具有挑战性的问题。此外,该结构严重依赖于专家知识或外部NLP工具,如依赖解析器。
Fully-Connected Self-Attention Model
在实践中,更直接的方法是使用全连通图来建模每两个单词之间的关系,并让模型自己学习结构。连接权值通常是通过自注意机制动态计算的,自注意机制隐含着单词之间的联系。
一个全连通自注意模型的成功实例是Transformer,它还需要其他模块的补充,such as positional embeddings, layer normalization, residual connections and position-wise feed-forward network (FFN) layers.
2.2.3 Analysis
序列模型学习具有局部偏差的单词的上下文表示,并且难以捕捉单词之间的长期交互作用。然而,序列模型通常易于训练,并在各种NLP任务中获得良好的结果。
而Transformer作为实例化的全连接自注意模型,可以直接对序列中每两个单词之间的依赖关系进行建模,功能更加强大,适用于建模语言的长范围依赖关系。
然而,由于其结构较重,模型偏置较少,使得Transformer通常需要较大的训练语料库,容易对较小或中等大小的数据集进行过度拟合。
目前,Transformer因其强大的容量已成为PTMs的主流结构
2.3 Why Pre-training?
随着深度学习的发展,模型参数的数量迅速增加。需要更大的数据集来充分训练模型参数和防止过拟合。然而,构建大规模标记数据集对于大多数NLP任务来说是一个巨大的挑战,因为注释成本非常昂贵,特别是对于语法和语义相关的任务。
相比之下,大规模的未标记语料库相对容易构建。为了利用巨大的未标记文本数据,我们可以首先从它们学习一种好的表示,然后将这些表示用于其他任务。最近的研究表明,在大量未注释的语料库上提取PTMs的表示法的帮助下,许多NLP任务的性能显著提高。
预培训的优势可以总结如下:
- 预训练对海量文本语料库的学习具有普遍性的语言表征和帮助下游任务
- 预训练提供了一个更好的模型初始化,这通常会导致更好的泛化性能,并加快了对目标任务的收敛。
- 预训练可以看作是一种正则化,以避免对小数据的过拟合
2.4 A Brief History of PTMs for NLP
2.4.1第一代PTMs:预先训练的单词嵌入
2.4.2第二代PTMs:经过培训的上下文编码器
3 Overview of PTMs
PTMs之间的主要区别是上下文编码器的用法、培训前的任务和目的。我们简要介绍了上下文编码器的体系结构
2.2节。在本节中,我们重点描述培训前的任务,并给出PTMs的分类。
3.1 Pre-training Tasks
训练前的任务是学习语言的普遍表征的关键。通常,这些培训前的任务应该是具有挑战性的,并且有大量的培训数据。在本节中,我们将训练前的任务归纳为三类:有监督学习、无监督学习和自我监督学习。supervised learning, unsupervised learning, and self-supervised learning.
- Supervised learning (SL) is to learn a function that maps an input to an output based on training data consisting of input-output pairs.
监督学习(Supervised learning, SL)是基于输入-输出对组成的训练数据,学习一个将输入映射到输出的函数。
- Unsupervised learning (UL) is to fifind some intrinsic knowledge from unlabeled data, such as clusters, densities, latent representations.
非监督学习是从未标记的数据中寻找一些内在的知识,如聚类、密度、潜在表示。
- Self-Supervised learning (SSL) is a blend of supervised learning and unsupervised learning1). The learning paradigm of SSL is entirely the same as supervised learning, but the labels of training data are generated automatically. The key idea of SSL is to predict any part of the input from other parts in some form. For example, the masked language model (MLM) is a self-supervised task that attempts to predict the masked words in a sentence given the rest words.
自监督学习(SSL)是监督学习和非监督学习的混合。SSL的学习范式与监督学习完全相同,但是训练数据的标签是自动生成的。SSL的关键思想是以某种形式预测来自其他部分的输入。例如,蒙面语言模型(MLM)是一项自我监督的任务,它尝试在给出句子中的其余单词的情况下预测蒙面单词。
在本节中,我们将介绍一些在现有的PTMs中广泛使用的预培训任务。我们可以把这些任务看作是自我监督学习。表1还总结了它们的损失函数。
3.1.1 Language Modeling (LM)
3.1.2 Masked Language Modeling (MLM)
3.1.3 Permuted Language Modeling (PLM)
3.1.4 Denoising Autoencoder (DAE)
3.1.5 Contrastive Learning (CTL)
3.1.6 Others
3.2 Taxonomy of PTMs
为了明确NLP中现有的ptm之间的关系,我们构建了ptm的分类,将现有的ptm从四个不同的角度进行分类:
- 表示类型:根据用于下游任务的表示,我们可以将PTMs划分为非上下文模型和上下文模型。
2.架构:PTMs使用的骨干网,包括LSTM、Transformer编码器、Transformer解码器和完整的Transformer架构。Transformer是指标准的编解码架构。Transformer编码器和Transformer解码器分别是指标准Transformer结构的编码器和解码器部分。它们的不同之处在于,译码器部分使用三角矩阵来掩盖自我注意,以防止tokens出现在它们未来(右边)的位置。
3.预培训任务类型:PTMs使用的预培训任务类型。我们已经在3.1节中讨论了它们。
4. 扩展:为各种场景设计的PTMs,包括知识丰富的PTMs,多语言或语言特定的PTMs,多模型的PTMs,领域特定的PTMs和压缩PTMs。我们将在第4节中特别介绍这些扩展。
3.3 Model Analysis
由于PTMs取得了巨大的成功,了解它们捕获了哪些知识,以及如何从这些知识中归纳知识就显得尤为重要。大量的文献分析了预先训练的非语境和语境嵌入中储存的语言知识和世界知识。
3.3.1 Non-Contextual Embeddings
静态词嵌入是对各种知识的一种探索。Mikolov等人发现通过神经网络语言模型学习的单词表示能够捕捉语言中的语言规律,单词之间的关系可以通过一个关系特定向量offffset来表征。进一步的类比实验表明,跃格模型生成的词向量可以同时捕捉句法和语义的词关系,如vec(中国))vec(北京)vec(日本))vec(东京)。此外,它们还发现了词向量的组合性,例如vec(Germany) + vec(大写)接近vec(Berlin)。受到这些研究的启发,Rubinstein等人发现,分配词表征善于预测分类属性(如狗是一种动物),但不能学习属性(如天鹅是白色的)。类似地,Gupta等人指出word2vec嵌入会隐式编码实体的引用属性。分布式词向量,连同一个简单的监督模型,可以学习预测实体的数字和二进制属性的合理程度的准确性。
3.3.2 Contextual Embeddings
大量的研究探究和归纳了语境嵌入中不同类型的知识。一般来说,知识有两种类型:语言知识和世界知识
Linguistic Knowledge
广泛的探索任务被设计来调查语言知识的PTMs。Tenney等和Liu等发现BERT在词性标注和成分标注等许多句法任务上表现良好。但是,与简单的句法任务相比,BERT在语义和细粒度的句法任务方面做得不够好。
Tenney等分析了BERT s层在不同任务中的作用,发现BERT解决任务的顺序与NLPpipeline中相似。此外,还证实了BERT中存在主谓一致和语义角色的知识。Hewitt和Manning, Jawahar等人,Kim等人提出了几种从BERT中提取依赖树和选民树的方法,证明了BERT对语法结构的编码能力。Reif等人探索了BERT的内部表征的几何结构,并发现了一些证据:1)语言特征似乎在不同的语义和句法子空间中表示;2)注意矩阵包含语法表征;bert能很好地辨别词义。
World Knowledge
除了语言知识,PTMs还可以存储训练数据中呈现的世界知识。探索世界知识的一个直接方法是用填空式填空语句来询问BERT,例如,“但丁出生在[MASK]”。Petroni等人通过从多个知识来源手工创建单标记完形语句(查询),构建了LAMA(语言模型分析)任务。他们的实验表明,BERT包含了与传统信息提取方法相竞争的世界知识。由于LAMA查询生成过程的简单性,Jiang等人认为LAMA只是度量语言模型所知道的一个下界,并提出了更高级的方法来生成更高效的查询。尽管LAMA的发现令人惊讶,但它也受到了后续工作的质疑。也有一些研究从BERT中归纳出关系知识和常识知识用于下游任务。
4 Extensions of PTMs
4.1 Knowledge-Enriched PTMs
ptm通常从通用的大型文本语料库中学习通用语言表示,但缺乏专业知识。将外部知识库中的领域知识整合到PTM中是有效的。外部知识范围从语言学,语义,常识性,事实性,到领域特定知识。
4.2 Multilingual and Language-Specifific PTMs
4.2.1 Multilingual PTMs
学习跨语言共享的多语言文本表示在许多跨语言神经语言处理任务中扮演着重要的角色。
Cross-Lingual Language Understanding (XLU)
早期的大部分研究集中在学习多语言单词嵌入,即在单一语义空间中表示来自多种语言的文本。然而,这些方法通常需要语言之间的(弱)对齐。
多语种BERT3 (mBERT)是通过MLM预先培训的,使用的是维基百科上104种顶级语言中共享的词汇和权重。每个训练样本都是单语言文档,没有专门设计的跨语言目标,也没有任何跨语言数据。即便如此,mBERT在跨语言泛化方面的表现还是惊人的好。K等人的研究表明,语言之间的词汇重叠在跨语言成功中所起的作用可以忽略不计。
XLM[27]通过合并跨语言任务(translation language modeling, TLM)改进了mBERT, TLM在平行双语句子对的连接上执行MLM。Unicoder进一步提出了三种新的跨语言前训练任务,包括跨语言单词恢复、跨语言释义分类和跨语言掩藏语言模型(XMLM)。including cross-lingual word recovery, cross-lingual paraphrase classifification and cross-lingual masked language model (XMLM).
XLM-RoBERTa (XLM-R)[28]是一个规模多语言编码器预先训练于一个显著增加的训练数据量,2.5TB清洁的CommonCrawl数据在100种不同的语言。XLM-RoBERTa的前培训任务是单语MLM。XLM-R在多个跨语言基准测试中取得了最佳结果,包括XNLI、MLQA和NER。
Cross-Lingual Language Generation (XLG)
多语言生成是从输入语言中生成不同语言文本的任务,如机器翻译和跨语言抽象摘要。
与多语言分类的语言管理系统不同的是,用于多语言生成的PTMs通常需要联合对编码器和解码器进行预培训,而不是只关注编码器。
MASS[160]训练Seq2Seqmodel with monolingual Seq2Seq MLM on multiple languages, and实现了对无监督NMT的显著改进。XNLG执行跨语言自然语言生成的两阶段预培训。第一阶段用单语言MLM和跨语言MLM(XMLM)任务对编码器进行预培训。第二阶段通过使用单语DAE和跨语言自动编码(XAE)任务对译码器进行预训练,同时保持编码器的固定。实验证明了XNLG在跨语言问题生成和跨语言抽象摘要生成方面的优势。mBART是BART的多语言扩展,它与Seq2Seq去噪声自动编码器(DAE)任务一起在25种语言的大规模单语语料库上对编码器和解码器进行预训练。实验表明mBART在各种机器翻译(MT)任务中产生显著的性能提高。
4.2.2 Language-Specifific PTMs
尽管多语言PTMs在许多语言上表现良好,但最近的研究表明,在单一语言上训练的PTMs显著优于多语言结果
对于没有明确词边界的汉语,建模更大粒度的和多粒度的词表示已经取得了很大的成功。Kuratov和Arkhipov使用迁移学习技术使多语言PTM适应于单语PTM for 俄语。另外,有的单语言PTMs已经发布了针对不同语言的PTMs,例如法语为CamemBERT和FlauBERT,芬兰语为FinBERT,荷兰语为BERTje和RobBERT,阿拉伯语为AraBERT。
4.3 Multi-Modal PTMs
观察到PTMs在许多NLP任务中的成功,一些研究已经集中于获得一个cross-modal版本的PTMs.这些模型中的绝大多数是为一般的视觉和语言特性编码而设计的。这些模型在大量的跨模态数据语料库上进行了预训练,如带语音的视频或带字幕的图像,并加入了扩展的预训练任务,以充分利用多模态特征。通常,任务是基于视觉的
MLM、掩蔽视觉特征建模和视觉语言匹配在多模态预训练中得到了广泛的应用
VideoBERT , VisualBERT , ViLBERT。
4.3.1 Video-Text PTMs
VideoBERT和CBT是视频和文本的联合模型。为了获得用于预训练的视觉和语言标记序列,分别使用基于cnn的编码器和现成的语音识别技术对视频进行预处理。一个Transformer编码器根据处理过的数据进行训练,以学习用于下游任务(如视频字幕)的视觉语言表示。此外,UniViLM提出引入生成任务来进一步对下游任务中使用的解码器进行预训练。
4.3.2 Image-Text PTMs
除了视频语言预培训的方法外,还有一些作品在图文对上引入了PTMs,旨在适应诸如视觉答疑(VQA)和视觉常识推理(VCR)等下游任务。已有的几种模型分别采用两种独立的编码器分别表示图像和文本,如ViLBERT和LXMERT。而其他方法如VisualBERT、B2T2、VLBERT、单模- v、UNITER则提出了单流统一Transformer。虽然这些模型架构不同,但都引入了相似的训练前任务,如MLM和图文匹配。为了更好地利用视觉元素,将图像通过RoI或边界框检索技术转换为区域序列,再由经过预处理的变形器进行编码。
4.3.3 Audio-Text PTMs
此外,一些方法已经探索了在音频文本对上使用PTMs的机会,例如:speech hbert。摘要本研究尝试以单一转换器编码器对语音和文本进行编码,并在语音和文本语料库上进行预训练,在回答问题上进行微调,以建立端到端的语音问题回答(SQA)模型。
4.4 Domain-Specifific and Task-Specifific PTMs
大多数公开可用的PTMs都是在通用的领域文集(如Wikipedia)上进行培训的,后者将它们的应用程序限制在特定的领域或任务上。近年来,一些研究提出了在专业语料库上训练PTMs,如
BioBERT用于生物医学文本,SciBERT用于科学文本,ClinicalBERT用于临床文本
除了对特定领域的PTM进行预训练外,一些工作还尝试将现有的预训练模型用于目标应用,如生物医学实体归一化、专利分类、进度笔记分类和关键字提取。
也提出了一些面向任务的预训练任务,如用于情绪分析的SentiLR中的情绪标签感知MLM、用于文本摘要的间隙句生成(Gap Sentence Generation, GSG)、用于中断检测的噪声词检测。
4.5 Model Compression
由于PTMs通常至少由数亿个参数组成,因此很难在现实应用程序中的在线服务和资源受限的设备上部署它们。模型压缩是减小模型尺寸、提高计算效率的一种潜在方法
压缩PTMs有五种方法:
- 模型剪枝, 去除不重要参数,
- 量化权重,使用更少的比特表示参数,
- 在相似模型单元间共享参数,
(4)知识蒸馏,训练一个较小的学生模型,从原模型的中间输出中学习。
(5)模块替换,用更紧凑的替代品替换原PTMs的模块。
表3给出了一些有代表性的压缩PTMs的比较。
4.5.1 Model Pruning
模型剪枝是指去除部分神经网络(如权值、神经元、层、通道、注意力头等),从而达到减小模型尺寸、加快推理时间的效果
4.5.2 Quantization
量化是指将精度较高的参数压缩为精度较低的参数。Shen等人和Zafrir等人的研究只关注这一领域。注意,量化通常需要兼容的硬件。
4.5.3 Parameter Sharing
另一种众所周知的减少参数数量的方法是参数共享,它在CNNs中被广泛使用,
RNNs和Transformer。ALBERT采用跨层参数共享和分解嵌入参数化来降低PTMs的参数。虽然大大减少了参数的数量,但ALBERT的训练和推理时间甚至比标准BERT还要长。
4.5.4 Knowledge Distillation
知识蒸馏(KD)是一种压缩技术,在这种技术中,一个被称为学生模型的小模型被训练来重现一个被称为教师模型的大模型的行为。
在这里,教师模式可以是许多模式的集合,并且通常是预先训练好的。与模型压缩不同,蒸馏技术通过一些优化目标从一个固定的教师模型中学习一个小的学生模型,而压缩技术旨在搜索一个更稀疏的体系结构。
4.5.5 Module Replacing
模块替换是一种有趣而简单的缩小模型尺寸的方法,它替代了原来的大模块
具有更紧凑替代品的PTMs。Xu等人在著名的“忒修斯之船”(Ship of Theseus)思想实验的启发下提出了忒修斯压缩(Theseus Compression),即用参数较少的模块逐步替代源模型中的模块。
与KD不同,Theseus压缩只需要一个特定任务的丢失函数。压缩模型BERT-of-Theseus速度快了1.94倍,同时保持了源模型98%以上的性能。
4.5.6 Others
除了减小模型尺寸,在资源有限的实际情况下,还有其他方法可以提高PTMs的计算效率。Liu等人提出了一种实用的速度可调BERT,即FastBERT,它通过采样自适应机制动态地减少计算步骤。
5 Adapting PTMs to Downstream Tasks
尽管PTMs从大型语料库中获取通用语言知识,但如何有效地将其知识用于下游任务仍然是一个关键问题。
5.1 Transfer Learning
迁移学习是将来自源任务(或领域)的知识适应到目标任务(或领域)。图4给出了迁移学习的说明(FT and FE mean Fine-tuning and Feature Extraction respectively)。
NLP中的迁移学习有很多种,如领域适应、跨语言学习、多任务学习等。
将PTMs适应于下游任务是顺序迁移学习任务,任务是按顺序学习的,目标任务是标注数据的。
5.2 How to Transfer?
为了将PTM的知识转移到下游的NLP任务中,我们需要考虑以下问题:
5.2.1 Choosing appropriate pre-training task, model architecture and corpus
不同的PTMs通常会对相同的下游任务产生不同的影响,因为这些PTMs接受了不同的培训前任务、模型架构和语料库的训练。
5.2.2 Choosing appropriate layers
对于一个预先训练好的深层模型,不同的层应该捕捉不同种类的信息,如词性标记、解析、长期依赖、语义角色、共指。
5.2.3 To tune or not to tune?
目前,常用的模型转移方式有两种:特征提取(预先训练好的参数被冻结)和微调(预先训练好的参数被解冻和微调)
在特征提取方面,将预先训练好的模型视为现成的特征提取器。此外,暴露内层也很重要,因为它们通常编码最可转移的表示
虽然这两种方法都可以显著地获益于大多数NLP任务,但特征提取方法需要更复杂的特定于任务的架构。因此,对于许多不同的下游任务,微调方式通常比特征提取方式更通用、更方便。
5.3 Fine-Tuning Strategies
随着PTMs深度的增加,它们捕获的表示使下游任务变得更容易。因此,整个模型的任务特定层很简单。自ULMFit和BERT,微调已经成为PTMs的主要适应方法。然而,微调的过程往往是脆弱的:即使具有相同的超参数值,不同的随机种子也可能导致本质上不同的结果。
除了标准的微调外,还有一些有用的微调策略。
Two-stage fifine-tuning
另一种解决方案是两阶段转移,即在预训练和微调之间引入一个中间阶段。在第一阶段,PTM被转移到由中间任务或语料库进行微调的模型中。在第二阶段,将转移的模型微调到目标任务。Sun等人表明,对相关域语料库进行“进一步的预训练”可以进一步提高BERT的能力,并在8个被广泛研究的文本分类数据集上取得了最新的性能。Phang等和Garg等引入了与目标任务相关的中间监督任务,这给BERT、GPT、ELMo带来了很大的提升。Li等[106]也使用了两阶段转移来预测故事结局。
提出的可转移伯特算法不仅可以转移大规模未标记数据中的一般语言知识,还可以转移语义相关的监督任务中的特定类型的知识。
Multi-task fifine-tuning
Liu等在多任务学习框架下对BERT进行了微调,证明了多任务学习和预培训是互补的技术。
Fine-tuning with extra adaptation modules
调优的主要缺点是参数效率低:每个下游任务都有自己的调优参数。因此,一个更好的解决方案是在初始参数固定的情况下,将一些可调优的自适应模块注入PTMs。
Stickland和Murray为单一共享BERT模型配备了附加的任务特定适应模块,投影注意层(PALs)。与PALs共享的BERT在GLUE基准测试中分别匹配了微调后的模型,参数减少了大约7倍。类似地,Houlsby等人通过添加适配器模块修改了预训练的BERT的架构。适配器模块产生一个紧凑和可扩展的模型;他们只为每个任务添加一些可训练的参数,并且可以添加新的任务而不需要重新访问以前的任务。原始网络的参数保持不变,产生高度的参数共享。
Others
6 Resources of PTMs
在网上可以找到许多相关的资源。
表5提供了一些流行的存储库,包括第三方实现、论文列表、可视化工具和PTMs的其他相关资源。此外,还有一些关于NLP的PTMs的较好的调查论文
7 Applications
在这一节中,我们总结了PTMs在几个经典的自然语言处理任务中的一些应用。
7.1 General Evaluation Benchmark
对于NLP社区来说,有一个基本的问题是我们如何用可比的度量来评估PTMs。因此,大尺度基准测试是必要的
General Language Understanding Evaluation (GLUE) benchmark是九个自然语言理解任务的集合,其中包括单句分类任务(CoLA和SST-2),成对文本分类任务(MNLI,RTE, WNLI, QQP, MRPC),文本相似度任务(STSB),相关排序任务(QNLI)。GLUE基准是为评估模型的健壮性和泛化性而精心设计的。GLUE不为测试集提供标签,而是设置一个评估服务器。
然而,由于近年来的进步极大地削弱了GLUE基准的可升性,因此提出了一种新的基准,称为SuperGLUE。与GLUE相比,SuperGLUE的任务更具有挑战性,任务格式也更多样化(例如,协同解决和回答问题)。
最先进的ptm被列在相应的排行榜上.
7.2 Question Answering
问题回答(QA),或者更狭义的机器阅读理解(MRC),在NLP社区中是一个重要的应用。从简单到困难,有三种类型的QA任务:单轮抽取式QA (SQuAD)、多轮生成式QA (CoQA)和多跳式QA(HotpotQA).
BERT创造性地将提取的QA任务转换为预测答案的起始和结束的跨度的预测任务。此后,PTM作为预测跨度的编码器,成为了一个具有竞争力的基准。为了提取QA, Zhang等人提出了一种回顾性阅读器架构,并使用PTM(如ALBERT)初始化编码器。对于多轮生成式QA, Ju等人提出了PTM+对抗训练+基本原理标注+知识蒸馏模型。对于多跳QA, Tu等提出了一种可解释的选择、回答和解释(SAE)系统,选择模块中PTM作为编码器。
在提出的QA模型中,编码器参数通常通过PTM初始化,然后其他参数随机初始化,最先进的模型列在相应的排行榜。
7.3 Sentiment Analysis
BERT通过简单地对SST-2进行微调,使其优于以前的最先进的模型,SST-2是用于情绪分析(SA)的广泛使用的数据集。Bataa和Wu利用BERT和迁移学习技术,在日本SA达到了高水平。
尽管他们在简单的情绪分类方面取得了成功,但直接将BERT应用于基于方面的情绪分析
(ABSA),这是一个细粒度的SA任务,显示不太显著的改进。为了更好地利用BERT的强大表征,Sun等通过将ABSA从单个句子分类任务转换为句子对分类任务,构造了一个辅助句。Xu等人提出后训练将BERT从源域和任务适应到ABSA域和任务。此外,Rietzler等扩展了的工作,通过对跨域后训练行为的分析ABSA性能。Karimi等研究表明,训练后的BERT可以通过对抗性训练进一步提高其性能。Song等人增加了一个额外的池模块,可以实现为LSTM或注意力机制,以利用BERT中间层实现ABSA。此外,Li等共同学习了面向端到端的方面检测和情绪分类
ABSA。SentiLR从SentiWordNet中获取词性标签和先验情绪极性,采用标签感知
MLM利用所引入的语言知识来捕捉句子级情感标签与词级情感转移之间的关系。在句子级和方面级的情绪分类任务上,SentiLR实现了最先进的性能。
在情感传递方面,Wu等提出了基于BERT的“Mask and Infill”。在屏蔽步骤中,模型通过屏蔽情绪标记将情绪从内容中分离出来。在填充步骤中,使用BERT和目标情绪嵌入对掩蔽位置进行填充
7.4 Named Entity Recognition
命名实体识别在信息抽取中起着重要的作用,在许多神经规划的下游任务中起着重要的作用。
在深度学习中,大部分的NER方法都处于序列绑定框架中。句子中的实体信息将被转换为标签序列,一个标签对应一个单词。该模型用于预测每个单词的标签。由于ELMo和BERT已经在NLP中显示了他们的力量,有很多关于NER预训练模型的工作。
Akbik等人使用预先训练好的字符级语言模型为NER生成单词级嵌入。TagLM和ELMo使用预先训练好的语言模型的最后一层输出,并将每一层输出的加权和作为单词嵌入的一部分。Liu等人使用分层修剪和密集连接来加速ELMo s对NER的推断。Devlin等人使用第一种BPE s BERT表示在没有CRF的情况下预测每个单词的标签。Pires等通过多语言BERT实现了零射投篮。Tsai等人利用知识蒸馏在单个CPU上为NER运行一个小BERT。此外,BERT还被用于特定领域的NER,如biomedicine等。
7.5 Machine Translation
机器翻译(MT)是自然语言处理领域的一个重要课题,吸引了许多研究者。几乎所有的神经机器翻译(NMT)模型都共享编码器-解码器框架,该框架首先将输入tokens编码到由编码器隐藏的表示中,然后以目标语言从解码器解码输出tokens。Ramachandran等人发现,利用两种语言模型的预训练权值对编码器和解码器进行初始化,可以显著改善编码器和解码器模型。Edunov等在NMT模型中使用ELMo设置单词嵌入层。通过使用预先训练好的语言模型进行源词嵌入初始化,可以提高英-土耳其语和英-德语NMT模型的性能。
鉴于BERT在其他NLP任务上的出色表现,研究如何将BERT合并到NMT模型中是很自然的。Conneau和Lample试图初始化整个编码器和译码器的多语种pre-trained伯特模型,显示出了极大的提高可以在无人监督的MT和English-Romanian监督来实现。同样,Clinchant等。设计了一系列不同的实验检查编码器上的最佳策略利用伯特NMT模型的一部分。通过使用BERT作为编码器的初始化,他们取得了一些改进。此外,他们发现这些模型可以在域外数据集上获得更好的性能。Imamura和Sumita提出了一种用于NMT的两阶段BERT微调方法。在第一阶段,编码器由pre-trained bert模型初始化,他们只在训练集训练解码器。在第二个阶段,整个NMT模型联合训练集上的调整。实验中, 他们表现出这种方法可以超越一个阶段调整方法,直接对整个模型。除此之外,Zhu等人建议使用预先训练好的BERT作为额外的记忆来促进NMT模型。具体地说,他们首先编码由一个预先训练好的BERT输入tokens,并使用最后一层的输出作为额外的内存。然后,NMT模型可以通过编码器和解码器的每一层的额外注意模块来访问存储器。他们在有监督、半监督和无监督的MT情况下都有明显的改善。
MASS (mask Sequence-to-Sequence pre-training)利用Seq2Seq MLM共同对编码器和解码器进行预训练,而不是只对编码器进行预训练。在实验中,这种方法可以超越BERT-style pretraining Conneau和Lample提出的无人监督的MT和English-Romanian监督。不同于质量,mBART,巴特的多语言扩展,pre-trains编码器和解码器会同Seq2Seq去噪auto-encoder (DAE)任务在大规模的跨25种语言的单语语料库。实验表明mBART在句子级和文档级都能显著提高监督和非监督机器翻译。
7.6 Summarization
摘要近年来引起了国家语言规划界的注意,其目的是将较长文本的大部分意义保留在较短的文本中。由于PTM的广泛使用,这项任务得到了显著的改进。Zhong等人引入可转移知识(如BERT)进行总结,超越了之前的模型。Zhang等人试图预先训练一个文档级模型,该模型预测句子而不是单词,然后将其应用于诸如总结等下游任务。Zhang等人设计了一个用于训练前的间隙句生成(Gap Sentence Generation, GSG)任务,其目标是从输入中生成类似摘要的文本。此外,Liu和Lapata提出了BERTSUM。BERTSUM包含了一个新的文档级编码器,以及一个用于提取摘要和抽象摘要的通用框架。在编码器帧中,BERTSUM通过插入多个[CLS]符号来扩展BERT来学习句子表示。为了提取摘要,BERTSUM堆叠了几个句子间转换器层。对于抽象摘要,BERTSUM提出了一种使用新的微调时间表的两阶段微调方法。Zhong等人提出了一种新颖的摘要级框架匹配和和概念化的提取摘要作为语义文本匹配问题。他们提出了一个Siamese-BERT架构来计算源文档和候选摘要之间的相似性,并且通过只使用BERT的基本版本,在CNN/DailyMail上获得了最先进的结果(ROUGE-1中为44.41)。
7.7 Adversarial Attacks and Defenses
深层神经模型很容易受到敌对的例子的影响,这些例子会误导模型产生一个特定的错误预测,并使原始输入产生难以察觉的干扰。在CV中,对抗性攻击和防御得到了广泛的研究。然而,由于语言的离散性,文本仍然具有挑战性。文本对抗性样本的生成需要具备以下品质:(1)人类判断无法察觉,但对神经模型具有误导性;(2)语法流畅,语义与原始输入一致。Jin等人用对立的例子成功地攻击了微调的BERT在文本分类和文本蕴涵方面的问题。Wallace等人定义了通用对抗性触发器,当连接到任何输入时,可以诱导模型产生特定目的的预测。有些触发器甚至会导致GPT-2模型生成种族主义文本。Sun等人表明BERT在拼写错误方面并不稳健。
PTMs还具有产生敌对样本的巨大潜力。Li等提出了基于bert的高质量有效攻击者BERT-Attack。他们让BERT在下游任务上对抗另一个微调过的BERT,成功地误导了目标模型,使其预测错误,在成功率和干扰百分比上都优于最先进的攻击策略,而生成的对抗性样本流畅且语义上得到保留。
此外,对PTMs进行对抗性防御也具有广阔的应用前景,提高了PTMs的鲁棒性,增强了PTMs对对抗性攻击的免疫力。
对抗性训练的目的是通过最小化嵌入空间中保留标记干扰的最大风险来提高泛化。最近的研究表明,敌对的预训练或微调可以提高NLP的PTMs的泛化和鲁棒性。
8 Future Directions
尽管PTMs已经证明了它们对于各种NLP任务的能力,但由于语言的复杂性,挑战仍然存在。在本节中,我们提出PTMs未来的五个方向。
(1) Upper Bound of PTMs
目前,PTMs尚未达到其上限。目前大部分的PTMs都可以通过增加训练步骤和扩大语料库来进一步提高。通过增加模型的深度,可以进一步提高NLP的先进水平,例如Megatron-LM (83亿个参数,72个Transformer层,隐藏尺寸3072,32个注意头)Turing-NLG9)(170亿个参数,78个Transformer层,隐藏尺寸4256,28个注意头)s Megatron-LM (8.3 billion parameters, 72 Transformer layers with a hidden size of 3072 and 32 attention heads) and Turing-NLG9) (17 billion parameters, 78 Transformer layers with a hidden size of 4256 and 28 attention heads)
The general-purpose PTMs是我们学习语言固有的普遍知识(甚至世界知识)的追求。然而,这类PTMs通常需要更深入的架构、更大的语料库、具有挑战性的训练前任务,从而导致更高的训练成本。然而,对大模型的训练也是一个具有挑战性的问题,需要更复杂高效的训练技术,如分布式训练、混合精度、梯度积累等。因此,一个更实际的方向是设计更有效的模型架构,自我监督的前提
(2) Architecture of PTMs
Transformer已被证明是一种有效的预培训体系结构。然而,Transformer的主要限制是它的计算复杂度是输入长度的二次。由于gpu内存的限制,目前大多数PTMs无法处理超过512个tokens的序列。要突破这一限制,需要改进Transformer的结构,比如Transformerxl。因此,为PTMs寻找更丰富的模型架构对于获取更长期的上下文信息是很重要的。
深层架构的设计具有挑战性,我们可以从一些自动方法中寻求帮助,如神经架构搜索(NAS)
(3) Task-oriented Pre-training and Model Compression
在实际应用中,不同的下游任务要求PTMs具有不同的能力。PTMs和下游任务之间的差异通常存在于两个方面:模型架构和数据分布。较大的差异可能导致PTMs的好处可能是不显著的。例如,文本生成通常需要一个特定的任务来对编码器和解码器进行预训练,而文本匹配则需要为句子对设计的预训练任务。
此外,尽管较大的PTMs通常可以带来更好的性能,但一个实际问题是如何在特殊场景中利用这些巨大的PTMs,例如低容量设备和低延迟应用程序。因此,我们可以为下游任务精心设计具体的模型架构和预培训任务,或者从现有的PTMs中提取部分与任务相关的知识。
我们不用从头开始训练面向任务的ptm,而是可以使用现有的通用ptm,通过使用模型压缩等技术(参见4.5节)来教它们。尽管模型压缩在神经网络中得到了广泛的研究CV[18],对于NLP的PTMs压缩才刚刚开始。Transformer的全连接结构也使模型压缩更具挑战性。
(4) Knowledge Transfer Beyond Fine-tuning
目前,将PTMs的知识传递到下游任务的主要方法是微调,但其不足之处在于参数无效率:每个下游任务都有自己的微调参数。一种改进的解决方案是固定PTMs的原始参数,并为特定任务添加小的可微调适应模块。因此,我们可以使用一个共享的PTM来服务多个下游任务。事实上,从PTMs中挖掘知识可以更加灵活,如特征提取、知识蒸馏、数据扩充,将PTMs作为外部知识。
(5) Interpretability and Reliability of PTMs
虽然PTMs的性能令人印象深刻,其深层非线性结构使决策过程高度不透明。
近年来,可解释人工智能(XAI)已经成为人工智能界的一个热点。与用于图像的cnn不同,由于像转换器一样的架构和语言的复杂性,解释PTMs更加困难。广泛的努力(见3.3节)已经被用来分析PTMs中包含的语言和世界知识,这有助于我们理解这些PMTs有一定程度的透明度。然而,模型分析的许多工作都依赖于注意机制,而注意对可解释性的有效性仍存在争议
此外,ptm也容易受到对手的攻击(见7.7节)。随着PTMs在生产系统中的广泛使用,PTMs的可靠性也成为一个非常重要的问题。对抗性攻击的研究PTMs通过充分暴露它们的弱点来帮助我们理解它们的能力。对PTMs的对抗防御也很有前途,它提高了PTMs的鲁棒性,使其对对抗攻击具有免疫力
总的来说,作为许多NLP应用中的关键组件,PTMs的可解释性和可靠性在许多方面还有待进一步探索,这有助于我们理解PTMs的工作原理,并为更好地使用和进一步改进提供指导。
9 Conclusion
在这次调查中,我们对NLP的PTMs,包括背景知识、模型架构、培训前的任务、各种扩展、适应方法、相关资源和应用。在现有的主观能谱的基础上,我们从四个不同的角度对主观能谱进行了分类。我们还提出了PTMs未来可能的研究方向。