最近,随着大数据和高性能硬件的发展,大规模的预训练模型(PTMs)如自回归语言模型(GPT)和)取得了巨大成功,不仅推动了自然语言处理(NLP)任务的性能提升,也有效提升了图像处理任务的性能。大规模预训练模型的突出优点是可以从大量未标注数据中学习语言本身的知识,然后在少量标注数据上进行fine-tune,使得下游任务能更好地了解语言本身的特点和特殊性。任务的知识。这种预训练模型不仅可以充分利用广泛的网络资源,还可以完美解决人工标注数据复杂的问题。因此,预训练模型几乎成为NLP任务的标配[1]。本文将分为两部分为读者讲解预训练模型的诞生、代表作及未来发展方向。第一部分主要介绍预训练的诞生和代表作,第二部分主要介绍预训练模型未来的发展方向。相关内容主要借鉴参考文献[1]。1.背景近年来,包括卷积神经网络、循环神经网络和Transformer等模型的深度神经网络已被广泛应用于各种应用。与依赖人工特征的传统机器学习方法相比,深度神经网络可以通过网络层自动学习数据特征,从而摆脱了人工设计特征的局限性,大大提高了模型的性能。虽然深度神经网络在各项任务上取得了很大的突破,但深度学习模型对数据的高度依赖也带来了巨大的挑战。由于深度学习模型需要学习大量的参数,数据量小必然导致模型过拟合,泛化能力差。为此,早期的人工智能研究人员开始致力于为人工智能任务手动构建高质量数据集的研究。最著名的是李飞飞团队的ImageNet图像处理数据集,极大地推动了图像处理领域的快速发展。然而,自然语言处理领域处理的是离散的文本数据,人工标注更为复杂。因此,NLP领域开始关注海量未标注数据。预训练模型的初步探索集中在浅层语义表示和上下文语义表示上。最早关注的浅层语义表示是Word2Vec[2]等,它为每个词学习一个固定的词代码,然后将相同的代码用于多个任务。问题。为了解决上述挑战,NLP研究人员开始探索具有上下文语义的词嵌入表示[3][4][5]。到目前为止,具有代表性的wordembedding表示是BERT和GPT系列的预训练模型,GPT-3的模型参数已经达到千亿级别。预训练模型的开发流程如图1所示。图1预训练模型分类1.1迁移学习和监督训练为了解决标记数据不足导致的过拟合和泛化能力差的问题,迁移学习被提出。迁移学习受人类学习的启发,在遇到新问题时使用以前学习的知识来解决问题。它可以从多变量任务中学习重要知识并将其应用到目标任务中。因此,迁移学习可以很好地解决目标任务标记数据不足的问题。早期关于预训练的工作主要致力于迁移学习[6],依靠以前的经验来解决新问题。在迁移学习中,原始任务和目标任务可能具有不同的领域和任务设置,但所需的知识是相同的[7]。因此,选择一种灵活的方法将知识从原始任务迁移到目标任务非常重要。预训练模型的提出是为了在原始任务和目标任务之间架起一座桥梁。首先在多个任务上进行预训练以获得通用知识,然后在目标任务上使用少量标记数据进行微调,使微调后的模型能够很好地处理目标任务。.图2迁移学习将已有知识复用到目标任务的示意图一般来说,迁移学习有两种预训练方法:特征迁移和参数迁移。迁移学习早期广泛应用于计算机视觉领域。在人工标注的ImageNet数据集上预训练模型,通过对小数据集的微调,可以很好地应用于下游任务,掀起了预训练模型(Pre-trainedModel,PTM)热潮。受此启发,NLP界也开始探索NLP任务的预训练模型,最具代表性的工作是CoVE[8]。与图像处理领域最大的区别在于NLP领域没有大量人工标注的数据集,因此NLP界开始充分利用大量未标注数据,并采用自监督未标记数据上的方法可以让预训练模型学习语言本身的特征。1.2自监督学习和自监督训练迁移学习可以分为四个子设置:归纳迁移学习、转导迁移学习、自学迁移学习和无监督迁移学习。其中,归纳迁移学习和转导迁移学习是研究的核心,因为它们可以将监督学习中学到的知识迁移到目标任务中。由于监督学习需要大量标记数据,越来越多的研究者开始关注大规模未标记数据,并尝试从未标记数据中提取关键信息。自监督学习是一种从未标记数据中提取知识的方法。它可以利用数据本身隐藏的信息作为监督,与无监督有非常相似的设定。由于自然语言难以标注,存在大量未标注的句子,NLP领域的预训练模型主要致力于自监督学习,极大地推动了NLP领域的发展。NLP任务早期的预训练模型就是大家熟知的word词嵌入代码。针对单词[4]中的多义性问题,进一步提出了一种能够捕获单词上下文语义信息的句子级词嵌入编码模型。该模型几乎成为当前NLP任务最常见的模式,最具代表性的工作是自回归语言模型(GPT)和自编码器语言模型(BERT)。受两者启发,后来又提出了很多更高效的预训练模型,如RoBERTa[9]、XLNET[10]、BART和T5[11]等。2.代表作预训练模型成功的关键是自监督学习和Transformer的结合。代表作是GPT和BERT系列模型。后续的其他预训练模型都是这两个经典模型的变体。预训练模型的相关模型族如图3所示。图3近年预训练模型族2.1TransformerTransformer是一种encoder-decoder结构,应用了self-attention机制,可以对模型之间的关系进行建模输入句子中的不同单词。由于self-attention机制的并行计算,Transformer可以充分利用增强的计算设备来训练大规模模型。在Transformer的编码和解码阶段,self-attention机制可以计算所有输入词的表示。Transformer的模型结构如图4所示。在编码阶段,给定一个词,Transformer通过将这个词与输入中的其他词进行比较来计算注意力分数,每个注意力分数表示其他词对词表示的贡献程度,以及然后将注意力分数用作其他单词对该单词的权重,以计算给定单词的加权表示。给定单词的影响表示是通过将所有单词表示的加权平均值馈送到全连接网络来获得的。这个过程就是整句信息回归方法,借助并行计算,可以同时对所有词生成句子表征。在解码阶段,注意力机制与编码阶段类似,唯一的区别是它一次只能解码从左到右的一种表示,并且每一步的解码过程都考虑了之前的解码结果。由于其突出的优势,Transformer逐渐成为自然语言理解和生成的标准网络结构。此外,它还充当随后派生的PTM的主干结构。下面将要介绍的GPT和BERT这两个模型,彻底开启了大规模自监督PTMs时代的里程碑。总的来说,GPT擅长自然语言生成,而BERT更侧重于自然语言理解。图4Transformer的模型结构2.2GPTPTMs主要包括预训练阶段和微调阶段两个阶段。GPT使用Transformer结构作为模型骨架,应用生成式预训练和判别式微调。从理论上讲,GPT是第一个结合了Transformer结构和自监督预训练目标的模型。它在自然语言推理、问答任务、常识推理等多个NLP任务中取得了显着的成功。具体来说,给定一个未标记的大规模语料库,GPT可以优化一个标准的自回归语言模型,即最大化一个词在给定上下文中的预测条件概率。在GPT的预训练阶段,通过Transformer对每个词的条件概率进行建模。GPT对特定任务的适应过程是通过使用GPT的预训练参数作为下游任务的起点来微调的。在微调阶段,将输入序列通过GPT,我们可以得到最后一层GPTTransformer的表示。通过使用最后一层的表示和特定于任务的标签,GPT使用一个简单的附加输出层来优化下游任务的标准目标。GPT模型的具体结构如图5所示。由于GPT有上亿个参数,所以在8块GPU上训练了1个月。这是NLP历史上的第一个“大规模”PTM。GPT的成功为后续的一系列大规模PTM铺平了道路。.图5GPT模型结构2.3BERTBERT是另一个最具代表性的模型。与GPT相比,BERT采用双向深度Transformer作为主要结构,BERT的模型结构如图6所示。BERT模型包括预训练和微调两个阶段。在预训练阶段,BERT应用自编码语言建模,受完形填空的启发,提出了掩码语言模型(MLM),用[MASK]符号覆盖目标词,以预测掩码词。考虑到上面和下面的所有信息。与GPT采用的单向自回归语言建模相比,MLM可以深度双向学习所有token的表示。除了MLM任务外,还采用了下一句预测(NSP)目标来捕获一些下游多句任务的句子之间的话语关系。在预训练阶段,MLM和NSP共同优化BERT的参数。经过预训练,BERT可以获得下游任务的鲁棒参数。通过使用来自下游任务的数据修改输入和输出,可以针对任何NLP任务对BERT进行微调。BERT可以通过输入单个句子或成对句子来高效地处理这些应用。对于输入,它的模式是由一个特殊标记[SEP]连接的两个句子,它可以表示:(1)释义中的句子对;(2)蕴涵中的假设-前提对;(3)问答题-段落对;(4)用于文本分类或序列标注的单句。对于输出,BERT将为每个token生成token-level表示,可用于处理序列标记或问答,特殊token[CLS]可被送入附加层进行分类。图6BERT模型结构2.4GPT和BERT的后代在GPT和BERT预训练模型之后,也有一些基于它们的改进,如RoBERTa和ALBERT[12]。RoBERTa的改进思路主要是去掉NSP任务,增加训练步数和更多数据,将[MASK]改为动态模式。实证结果表明,Roberta优于BERT,RoBERTa曾指出NSP任务对BERT训练相对无用。ALBERT是BERT的另一个重要变体,其出发点是减少模型的参数。首先,它将输入词嵌入矩阵分解为两个更小的矩阵;其次,它强制所有转换器层之间共享参数以减少参数量;第三,它提出了一个句子顺序预测任务来代替BERT的NSP任务。但是ALBERT的fine-tuning和inference速度比较慢,牺牲了空间效率。除了RoBERTa和ALBERT,近年来,研究人员还提出了各种预训练模型,以更好地从未标记数据中获取知识。一些工作改进了模型架构并探索了新的预训练任务,例如XLNet[10]、UniLM[13]、MASS[14]、SpanBERT[15]和ELECTRA[16]。此外,研究人员尝试将更多知识集成到模型中,例如多语言语料库、知识图谱和图像。3.小结由于NLP领域还没有公开的大规模标注语料库,预训练模型的提出使得NLP模型能够充分利用海量未标注数据,从而大大提升NLP任务的性能。特别是GPT和BERT预训练模型的出现,带动了NLP领域的快速发展。与此同时,优化完善的预训练模型也如雨后春笋般涌现。相关探索工作将在下一篇文章中详细介绍。参考文献[1]XuH,ZhengyanZ,NingD,etal.预训练模型:过去、现在和未来[J]。arXiv预印本arXiv:2106.07139,2021.[2]T.Mikolov、I.Sutskever、K.Chen、G.S.Corrado和J.Dean,“单词和短语的分布式表示及其组合”,神经信息处理系统进展,第3111–3119页,2013年。[3]O.Melamud、J.Goldberger和I.Dagan,“context2vec:使用双向lstm学习通用上下文嵌入”,第20届SIGNLL计算自然语言学习会议论文集,第51-61页,2016年[4]M.E.Peters、M.Neumann、M.Iyyer、M.Gardner、C.Clark、K.Lee和L.Zettlemoyer,“深度语境化词表征”,arXiv预印本arXiv:1802.05365,2018。[5]J.Howard和S.Ruder,“用于文本分类的通用语言模型微调”,arXiv预印本arXiv:1801.06146,2018年。[6]S.Thrun和L.Pratt,“学习学习:简介和概述”,载于学习学习,第3-17页,Springer,1998年。[7]S.J.Pan和Q.Yang,“迁移学习调查”,IEEE知识与数据工程汇刊,卷。22,没有。10,pp.1345–1359,2009.[8]B.McCann、J.Bradbury、C.Xiong和R.Socher,“在翻译中学习:语境化词向量”,arXiv预印本arXiv:1708.00107,2017年。[9]Y.Liu、M.Ott、N.Goyal、J.Du、M.Joshi、D.Chen、O.Levy、M.Lewis、L.Zettlemoyer和V.Stoyanov,“罗伯塔:一种稳健优化的伯特预训练方法”,arXiv预印本arXiv:1907.11692,2019.[10]Z.Yang、Z.Dai、Y.Yang、J.Carbonell、R.R.Salakhutdinov和Q.V.Le,“Xlnet:语言理解的广义自回归预训练”,神经信息处理系统进展,卷。2019.32.[11]A.Roberts、C.Raffel、K.Lee、M.Matena、N.Shazeer、P.J.Liu、S.Narang、W.Li和Y.Zhou,“使用统一的文本到文本转换器探索迁移学习的局限性”,2019.[12]Z.Lan、M.Chen、S.Goodman、K.Gimpel、P.Sharma和R.Soricut,“Albert:用于语言表征自监督学习的litebert”,arXiv预印本arXiv:1909.11942,2019。[13]L.Dong、N.Yang、W.Wang、F.Wei、X.Liu、Y.Wang、J.Gao、M.Zhou和H.-W。Hon,“用于自然语言理解和生成的统一语言模型预训练”,arXivpreprintarXiv:1905.03197,2019。[14]K.Song、X.Tan、T.Qin、J.Lu和T.-Y。Liu,“Mass:Maskedsequencetosequencepre-trainingforlanguagegeneration”,arXiv预印本arXiv:1905.02450,2019。[15]M.Joshi、D.Chen、Y.Liu、D.S.Weld、L.Zettlemoyer和O.Levy,“Spanbert:通过表示和预测跨度改进预训练”,C协会汇刊计算语言学,卷。8,第64–77页,2020年[16]K.Clark,M.-T.Luong、Q.V.Le和C.D.Manning,“Electra:将文本编码器预训练为鉴别器而不是生成器”,arXiv预印本arXiv:2003.10555,2020年。
