返回首页

联手自然语言处理专委会:“预训练语言模型”术语发布 | CCF术语快线

阅读量:74 2021-12-03 收藏本文

此文为CCF术语工委联合自然语言处理专委会推出的计算机行业术语介绍文章。本期所选热词为预训练语言模型,是目前的热门研究方向之一。


开篇导语:


此文为CCF术语工委联合自然语言处理专委会推出的计算机行业术语介绍文章。本期所选热词为预训练语言模型,是目前的热门研究方向之一。以BERT、GPT为代表的预训练模型已经成为自然语言处理(NLP)领域的主要模型。不管在富资源任务还是低资源任务上,预训练都对模型性能有显著的提升。本文将对目前众多预训练模型进行梳理汇总,并对预训练模型的未来研究方向进行展望。


预训练语言模型(Pre-Trained Language Models)

作者:邱锡鹏(复旦大学)


InfoBox:

中文名:预训练语言模型

外文名:Pre-Trained Language Models

词条定义:预训练语言模型(Pre-Trained Language Models, PLMs)是指利用无监督学习或自监督学习在海量文本数据进行预训练得到神经网络模型。这些预训练模型通常具有很好的自然语言表示,有益于其他下游任务。许多研究已表明,在大规模无标注语料中训练的预训练语言模型可以使许多自然语言处理任务获得显著的性能提升。


预训练语言模型的发展:

预训练模型一直被视为一种训练深度神经网络模型的高效策略。早在2006年,深度学习的突破便来自于逐层无监督预训练+微调方式。在计算机视觉领域,已出现在大型ImageNet数据集上训练的预训练模型并进一步在不同任务的小数据集上微调的范式。该方法比随机初始化参数模型更为有效,因为模型能学到可被用于不同视觉任务上的通用图像特征。在NLP领域,无论是浅层词嵌入还是深层网络模型,大规模语料下的预训练语言模型均被证实对下游NLP任务有益。随着算力的快速发展、以Transformer为[1]代表的深度模型的不断涌现以及训练技巧的逐步提升,预训练模型(Pre-Trained Models,PTMs)[2]也由浅至深。自然语言处理中预训练模型的发展可以分为两个阶段。第一代预训练模型着力于学习词嵌入(也称为词向量),而用于学习词向量的模型本身在下游任务中已不需要使用。因此基于计算效率考量,这类模型通常比较简单,如CBOW、Skip-Gram和GloVe等。尽管这些预训练词嵌入可捕获词语语义,但是它们是静态的,无法表示上下文相关的信息,比如一词多义、句法结构、语义角色和共指等。第二代预训练模型聚焦于学习上下文相关的词嵌入,如ELMo(Embedding from Language Model)[3],OpenAI GPT(Generative Pre-training)[4]和BERT(Bidirectional Encoder Representation from Transformer)[5]等。该类预训练模型会直接在下游任务中使用来表示文本的上下文特征。


预训练的重要性:

随着深度学习的发展,模型参数显著增长,从而需要越来越大的数据集用于充分训练模型参数并预防过拟合。然而,因大部分NLP任务的标注成本极为高昂,尤其是句法和语义相关任务,构建大规模标注数据集尤为困难。


相比较而言,大规模无标注数据集相对易于构建。为更好地利用海量无标签文本数据,我们可以首先从这些数据中学到较好的文本表示,然后再将其用于其他任务。许多研究已表明,在大规模无标注语料中训练的预训练语言模型得到的表示可以使许多NLP任务获得显著的性能提升。预训练的优势可总结为以下几点:


1.在海量文本中通过预训练可以学习到一种通用语言表示,并有助于完成下游任务。

2.预训练可提供更好的模型初始化,从而具有更好的泛化性并在下游任务上更快收敛。

3.预训练可被看作是在小数据集上避免过拟合的一种正则化方法。


预训练任务:

预训练任务对于学习语言的通用表示至关重要。本节将预训练任务分为三类:监督学习、无监督学习及自监督学习。自监督学习的关键思想是通过输入的一部分信息来预测其他部分信息。例如,掩码语言模型(Masked Language Model,MLM)[5]是一种自我监督的任务,就是将句子中的某些词删掉,并通过剩下的其他词来预测这些被删掉的词。



语言模型:

NLP中最常见的无监督任务为概率语言模型(Language Model,LM),是一个经典的概率密度估计问题。在实践中语言模型通常特指自回归语言模型或单向语言模型。单向语言模型的缺点在于每个词的表示仅对包括自身的上文编码,而更好的文本上下文表示应从两个方向对上下文信息进行编码。一种改进策略为双向语言模型[3],即由一个前向语言模型和一个反向语言模型组成。


掩码语言模型:

掩码语言模型(Masked Language Model,MLM)首先将输入句子的一些词替换为[MASK],然后训练模型通过剩余词来预测被替换的词。然而,在实际使用时句子中并不会出现[MASK],导致这种预训练方法在预训练阶段和微调阶段之间存在不一致。为缓解该现象,Devlin等人[5]在每个序列中替换15%的词块,其中每个词以80%的概率使用[MASK]替换,10%的概率替换为随机词,10%的概率保持不变。通常情况下,MLM可以作为分类任务处理,也可以使用编码器-解码器架构处理,即在编码器中输入掩码序列,接着解码器以自回归形式预测出被掩码的词。


降噪自编码器:

降噪自编码器(Denoised Auto-Encoder,DAE)是将部分损坏的序列作为输入并恢复原始的序列。就语言来说,常使用如标准Transformer等序列至序列模型重构原始输入文本。常见的损坏文本方式有词屏蔽、词删除、文本填充、句序打乱和文档内容置换等。


对比学习:

对比学习(Contrastive Learning,CTL)假设一些观察到的成对文本在语义上比随机抽样的文本更相似。CTL背后的理念是“通过比较来学习”。与语言模型相比,CTL通常具有较少的计算复杂度,因此是预训练模型理想的训练方式。下一句预测任务(Next Sentence Prediction,NSP)[5]训练模型区分输入的两个句子是否是训练预料中的两个连续片段。


预训练语言模型的分类体系:

下图展示了预训练语言模型的分类体系以及对应的部分代表性预训练模型。

640 (1)

图 1 预训练模型分类与典型例子


展望和总结:

虽然预训练语言模型已在多种NLP任务中展现出强大的性能,但由于语言的复杂性,挑战仍然存在。本节将对预训练模型的未来研究趋势进行展望与总结。


1. 预训练模型的上界:当前的预训练模型还未达到其上界,大多数预训练模型仍然可通过更多的训练步长和更多语料得到进一步提升。NLP中最先进的模型仍然能通过更深的堆砌获得性能的增长。研究人员仍然尝试着使用预训练模型学习语言内在的通识知识甚至世界知识。然而该类预训练模型通常需要更深的架构、更大的语料和更具挑战的预训练任务,从而进一步提高了训练代价。同时,从工程实现角度来说,训练超大型预训练模型也需要更复杂和更高效的训练技巧,如分布式训练、混合精度和梯度累积等。因此,更实际的方向或许是设计更为高效的模型架构、自监督预训练任务、优化器以及根据现有软硬件条件下的训练技巧。


2. 预训练模型的架构:Transformer的一个主要弊端是其计算复杂度,而当前预训练模型因GPU显存限制,通常难以处理长度大于512的序列,而突破这类限制则须从改进Transformer的架构入手。因此,使用神经架构搜索等技术自动构建深层架构,以使模型具备捕获更长距离上下文依赖的能力,或许是一种解决方案。


3. 任务导向的预训练模型和模型压缩:在实际使用中,不同难度的下游任务往往需要具有不同能力的预训练模型。同时,尽管大型预训练模型的性能通常更佳,但如何在低资源和低延迟场景下部署该类大型预训练模型仍然是一个实际面临的问题。因此,我们可以为下游任务精心设计特定的架构和预训练任务,或从现有预训练模型中提取出与任务相关的知识。相比于从零开始训练任务导向型的预训练模型,还可考虑使用知识蒸馏等技术,将现成的大型通用预训练模型知识蒸馏至小模型中。


4. 超越微调的知识迁移:微调是当前将预训练模型的知识迁移至下游任务中的主要方法,但该方法却存在参数低效问题,即每个下游任务有其相应的微调参数。一种改进方案是保持预训练模型的原始参数,并为特定任务添加小的微调模块,从而节省参数。实际上,预训练模型也可以作为外部知识,从而更灵活地将预训练模型中的知识迁移到下游任务。


5. 预训练模型的可解释性和可靠性:尽管预训练模型性能惊艳,但是其深度非线性架构使决策过程处于高度非透明状态。当前较多的预训练模型解释性工作依赖于注意力机制,而注意力机制在可解释性上的合理性仍备受争议。此外,由于预训练模型在对抗攻击下表现出的脆弱性,其可靠性也随着预训练模型的广泛部署而备受学者关注。对抗攻击研究有助于探究预训练模型的弱点,而对抗防御研究则有助于提升预训练模型的鲁棒性。


关于预训练模型方面的详细综述可以进一步阅读文献[2]。


参考文献:

[1]Lin, T., Wang, Y., Liu, X., & Qiu, X.  A Survey of Transformers. arXiv preprint arXiv:2106.04554, 2021
[2]X. Qiu, T. Sun, Y. Xu, Y. Shao, N. Dai, and X. Huang, Pre-trained Models for Natural Language Processing: A Survey[J]// SCIENCE CHINA Technological Sciences, 63(10), 2020.
[3]Peters ME, Neumann M, Iyyer M, Gardner M, Clark C, Lee K, Zettlemoyer L. Deep contextualized word representations[C]// NAACL-HLT 2018.
[4]Radford A, Narasimhan K, Salimans T, Sutskever I. Improving language understanding by generative pre-training [OL]. 2018.
[5]Devlin J, Chang MW, Lee K, Toutanova K. Bert: Pre-training of deep bidirectional transformers for language understanding[C]// NAACL-HLT 2019.

术语工委及术语平台介绍:

计算机术语审定委员会(Committee on Terminology)主要职能为收集、翻译、释义、审定和推荐计算机新词,并在CCF平台上宣传推广。这对厘清学科体系,开展科学研究,并将科学和知识在全社会广泛传播,都具有十分重要的意义。


术语众包平台CCFpedia的建设和持续优化,可以有效推进中国计算机术语的收集、审定、规范和传播工作,同时又能起到各领域规范化标准定制的推广作用。


新版的CCFpedia计算机术语平台(http://term.ccf.org.cn)将术语的编辑运营与浏览使用进行了整合,摒弃老版中跨平台操作的繁琐步骤,在界面可观性上进行了升级,让用户能够简单方便地查阅术语信息。同时,新版平台中引入知识图谱的方式对所有术语数据进行组织,通过图谱多层关联的形式升级了术语浏览的应用形态。

微信图片_20230410125847



计算机术语审定工作委员会

主任:

刘挺(哈尔滨工业大学)

副主任:

王昊奋(同济大学)

李国良(清华大学)

主任助理:

李一斌(上海海乂知信息科技有限公司)

执行委员:

丁军(上海海乂知信息科技有限公司)

林俊宇(中国科学院信息工程研究所)

兰艳艳(清华大学)

张伟男(哈尔滨工业大学)

640 (1)