复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

栏目: IT技术 · 发布时间: 4年前

内容简介:自从 BERT 横空出世以后,尽管算力要求比较大,但预训练语言模型仍层出不穷,有点类似当年 GAN 大量更新的盛况。虽然只过去了一两年,但形形色色的预训练语言模型确实让我们弄不清楚整体状况到底是什么样的。我们知道 BERT、ALBERT、XLNet 等众多优秀模型,但它们之间的关系、差别、分类到底是什么样的?这还是主流模型,如果没读过具体论文,我们是很难分清楚的,对于更多的变体与扩展,基本上就无能为力了。但近日复旦大学邱锡鹏等研究者发了一篇论文,它以两张图详细展示了预训练语言模型的现状与分类。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

自从 BERT 横空出世以后,尽管算力要求比较大,但预训练语言模型仍层出不穷,有点类似当年 GAN 大量更新的盛况。虽然只过去了一两年,但形形色色的预训练语言模型确实让我们弄不清楚整体状况到底是什么样的。

我们知道 BERT、ALBERT、XLNet 等众多优秀模型,但它们之间的关系、差别、分类到底是什么样的?这还是主流模型,如果没读过具体论文,我们是很难分清楚的,对于更多的变体与扩展,基本上就无能为力了。但近日复旦大学邱锡鹏等研究者发了一篇论文,它以两张图详细展示了预训练语言模型的现状与分类。

复旦的这篇综述性论文非常丰富,它以 25 页的篇幅展示了预训练语言模型的方方面面,不论是新奇的预训练任务,还是各种模型针对领域知识的扩展,我们都能快速 Get 到。

论文:Pre-trained Models for Natural Language Processing: A Survey

论文地址:https://arxiv.org/pdf/2003.08271.pdf

具体而言,以邱锡鹏为第一作者的研究者们对用于 NLP 的预训练模型进行了全面的回顾,文章体结构如下:

  • 首先简要介绍了语言表示学习及相关研究进展;

  • 其次从四个方面对现有 PTM 进行系统分类(Contextual、Architectures、Task Types、Extensions);

  • 再次描述了如何将 PTM 的知识应用于下游任务;

  • 最后展望了未来 PTM 的一些潜在发展方向。

研究者表示,本文旨在为读者理解、使用和开发适用于不同 NLP 任务的预训练模型提供一份实用指南,这篇论文在机器学习社区上也得到了很广泛的响应。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

什么是预训练语言模型

为了确保所有读者对预训练语言模型有一定的了解,我们先简要介绍一下,如果读者已经比较熟悉了,那么可以直奔下一部分的「预训练语言模型大全」。

最近一两年,大量的研究工作表明,大型语料库上的预训练模型(PTM)已经可以学习通用的语言表征,这对于下游的 NLP 相关任务是非常有帮助的,可以避免大量从零开始训练新模型。而随着算力的发展、深层模型(Transformer)出现以及训练技能的不断提高,PTM 体系结构已然从浅层发展到了深层。

第一代 PTM 旨在学习词嵌入。由于下游的任务不再需要这些模型的帮助,因此为了计算效率,它们通常采用浅层模型,如 Skip-Gram 和 GloVe。尽管这些经过预训练的嵌入向量也可以捕捉单词的语义,但它们却不受上下文限制,只是简单地学习「共现词频」。这样的方法明显无法理解更高层次的文本概念,如句法结构、语义角色、指代等等。

而第二代 PTM 专注于学习上下文的词嵌入,如 CoVe、ELMo、OpenAI GPT 以及 BERT。它们会学习更合理的词表征,这些表征囊括了词的上下文信息,可以用于问答系统、机器翻译等后续任务。另一层面,这些模型还提出了各种语言任务来训练 PTM,以便支持更广泛的应用,因此它们也可以称为预训练语言模型。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

NLP 任务的一般神经架构。

如上图所示,之前 NLP 任务一般会预训练 e 这些不包含上下文信息的词嵌入,我们会针对不同的任务确定不同的上下文信息编码方式,以构建特定的隐藏向量 h,从而进一步完成特定任务。

但对于预训练语言模型来说,我们的输入也是 e 这些嵌入向量,不同之处在于我们会在大规模语料库上预训练 Contextual Encoder,并期待它在各种情况下都能获得足够好的 h,从而直接完成各种 NLP 任务。换而言之,最近的一些 PTM 将预训练编码的信息,提高了一个层级。

两张图看懂预训练语言模型

自从 ELMo 与 BERT 等预训练语言模型发布以来,它们在各类 NLP 任务上都有非常优异的性能。而为了加强这些能力,现在已经有了非常多的预训练语言模型,这就像当 GAN 在图像生成领域取得突破后,出现了一大波新研究。那么我们怎样才能理清整个预训练模型的思路?这就是复旦这篇论文重点介绍的。

该论文表示,各种预训练方法的主要区别在于文本编码器、预训练任务和目标的不同。随后我们可以借助论文中的两张图详细了解具体上预训练模型都有哪些方向与扩展。

在论文中,研究者将现有的预训练方法分为四部分:

  • 预训练方法(PTM)使用的词表征类型;

  • 预训练方法使用的主干网络;

  • PTM 使用的 预训练任务类型;

  • 为特定场景与输入类型所设计的 PTM。

下面论文图 3 详细地展示了各种 PTM 的所属类别,只要看懂了它,基本目前现有的预训练语言模型的整体状态,都能了解了。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

带有典型实例的 PTM 分类法。

后面表 1 进一步展示了主流预训练方法的更多细节,主流模型、论文、实现,看这张表就足够了。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

具有代表性的 PTM 清单。

预训练任务有哪些

下面具体看看预训练任务,它是 BERT、XLNet 等新模型的「灵魂所在」。预训练任务的目的在于,迫使模型学习自然语言的各种结构与意义,这才有可能将通用语言知识嵌入到模型内。最值得称赞的可能是 BERT,它引入有别于传统语言建模的新任务,并令预训练模型在各种 N NLP 任务上都有优异的表现。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

NLP 中最常见的无监督任务是概率语言建模(language modeling),它是一个经典的概率密度估值问题。实际上,作为一种一般性概念,语言建模通常特指自回归或单向语言建模。传统语言建模用下面一个公式就能说清楚,即每次给定前面所有词下预测下一个词。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

Wilson L. Taylor 等人在论文《「cloze procedure」: A new tool for measuring readability》的文献中首次提出了掩码语言建模(masked language modeling,MLM)概念,他们称之为完形填空(Cloze)任务。接着,Jacob Devlin 等人在 BERT 中将 MLM 视为新型预训练任务,以克服标准单向语言建模的缺陷。

因此,笼统地讲,MLM 首次从输入序列中遮掩一些 token,然后训练模型来通过其余的 token 预测 masked 的 token。

尽管 MLM 在预训练中得到了广泛应用,Zhilin Yang 等在论文《XLNet: Generalized autoregressive pretraining for language understanding》中表示,当模型应用于下游任务时,[MASK] 等在 MLM 预训练中使用的一些特殊 token 并不存在,这导致预训练和微调之间出现差距。

为了克服这一问题,Zhilin Yang 在这篇论文中提出以排列语言建模(Permuted Language Modeling,PLM)来取代 MLM。简单地说,PLM 是一种在输入序列随机排列上的语言建模任务。给定一个序列,然后从所有可能的排列中随机抽样一个排列。接着将排列序列中的一些 token 选定为目标,同时训练模型以根据其余 token 和目标的正常位置(natural position)来预测这些目标。

去噪自编码器(denoising autoencoder,DAE)接受部分损坏的输入,并以恢复这些未失真的原始输入为目标。这类任务会使用标准 Transformer 等模型来重建原始文本,它与 MLM 的不同之处在于,DAE 会给输入额外加一些噪声。

Nikunj Saunshi 等人论文《A theoretical analysis of contrastive unsupervised representation learning》中的对比学习(contrastive learning,CTL)假设,一些观察到的文本对在语义上比随机取样的文本更为接近。CTL 背后的原理是「在对比中学习」。相较于语言建模,CTL 的计算复杂度更低,因而在预训练中是理想的替代训练标准。

CLT 一般可以分为以下三种类型:

  • 替换 token 检测(Replaced Token Detection,RTD)与 NCE 相同,但前者会根据上下文语境来预测是否替换 token。

  • 顾名思义,NSP 训练模型以区分两个输入句子是否为训练语料库中的连续片段。

  • SOP 使用同一文档中的两个连续片段作为正样本,而相同的两个连续片段互换顺序作为负样本。

预训练扩展有哪些

除了预训练任务,另外非常重要的就是预训练语言模型的各项扩展,它们会根据不同的目的而加强不同的模块。例如清华大学提出了 ERNIE,它会结合知识图谱中的多信息实体,并将其作为外部知识改善语言表征。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

PTM 能够从大规模通用文本语料库中学习一般的语言表征,但缺乏领域知识。Knowledge-Enriched PTM 则可以借助语言学、语义学、常识和特定领域的知识来加强预训练方法。

一些研究集中在如何获取 PTM 的交叉模式版本,而绝大多数是为了通用的视觉以及语言特征编码而设计的。此类模型在大规模的跨模式数据语料库上进行了预训练,并结合扩展的预训练任务从而充分利用其多模式特征。

模型压缩是减小模型大小并提高计算效率的方法。目前有四种压缩 PTM 的常用方法:(1)删除那些不太重要的参数;(2)权重量化,使用少量的位去表示参数;(3)在相似的模型单元之间共享参数 ;(4)知识提炼。

下表 3 详细区分了一些代表性的压缩 PTM。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

使用其他知识蒸馏。

大多数公开的 PTM 都有过通用领域语料库的训练,如 Wikipedia,而这会使得其应用限制在特定领域。而一些研究提出了另一些受过专业语料库训练的 PTM,例如 BioBERT 用于生物医学方向,SciBERT 用于科学方向,ClinicalBERT 用于临床方向。

模型学习多语言文本说明跨语言共享在 NLP 任务起着非常重要的作用。MLM 对多语言的 BERT^3(M-BERT)进行了预训练,并在 Wikipedia 文本上使用来自多达 104 种主要语言共享词汇及权重。每个训练样本都是单语文档,没有专门设计的跨语言目标,也没有任何跨语言的数据。

PTM 资源有哪些

现在,我们可以在网络上获得很多预训练模型系统的第三方实现。下表 5 总结了一些流行的预训练模型架构:

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

开源的预训练模型实现。

下表 6 是一些涵盖预训练模型论文和其他相关资源的库。

复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

表 6:预训练模型相关资源。

PTM 未来发展方向展望

虽然 PTM 已经在很多 NLP 任务中显示出了他们强大的能力,然而由于语言的复杂性,仍存在诸多挑战。这里,研究者给出了五个未来 PTM 发展方向的建议。

PTM 的上限

目前,PTM 并没有触及其上限。大多数的 PTM 可通过使用更多训练步长以及更大数据集,来提升其性能。目前 NLP 中的 SOTA 也可通过加深模型层数来更进一步提升。PTM 的最终目的一直是我们对学习语言中通用知识内部机理的追寻。然而,这使得 PTM 需要更深层的结构,更大的数据集以及具有挑战的预训练任务,这将导致更加高昂的训练成本。因此,一个更加切实的方向是在现有的软硬件基础上,设计出更高效的模型结构、自监督预训练任务、优化器和训练技巧等。例如 ELECTRA 就是此方向上很好的一个解决方案。

面向任务的预训练和模型压缩

在实践中,不同的目标任务需要 PTM 拥有不同功能。而 PTM 与下游目标任务间的差异通常在于两方面:模型架构与数据分发。尽管较大的 PTM 通常情况下会带来更好的性能表现,但实际问题是如何在一定情况下使用这类较大的 PTM 模型,比如低容量的设备以及低延迟的应用程序。而通常的解决方法是为目标任务设计特定的模型体系架构以及与训练任务,或者直接从现有的 PTM 中提取部分信息用以目标任务。

此外,我们还可以使用模型压缩等技术去解决现有问题,尽管在 CV 方面对 CNN 的模型压缩技术进行了广泛的研究,但对于 NLP 的 PTM 来说,压缩研究只是个开始。Transformer 的全连接架构也使得模型压缩非常具有挑战性。

PTM 的结构

对于预训练,Transformer 已经被证实是一个高效的架构。然而 Transformer 最大的局限在于其计算复杂度(输入序列长度的平方倍)。受限于 GPU 显存大小,目前大多数 PTM 无法处理超过 512 个 token 的序列长度。打破这一限制需要改进 Transformer 的结构设计,例如Transformer-XL。因此,寻找更高效的 PTM 架构设计对于捕捉长距上下文信息十分重要。设计深层神经网络结构很有挑战,或许使用如神经结构搜索(NAS) 这类自动结构搜索方法不失为一种好的选择。

在参数微调之上的知识迁移

微调是目前将 PTM 的知识转移至下游任务的主要方法,但效率却很低,每个下游任务都有特定的微调参数。而改进的解决方案是修复 PTM 的原始参数,并特定为任务添加小型的微调适配模块,因此可以使用共享的 PTM 服务于多个下游任务。从 PTM 挖掘知识可以变得更加灵活,如特征提取、知识提取和数据扩充等方面。

PTMs 的解释性与可靠性

虽然 PTM 取得了令人印象深刻的表现,然而其深层非线性结构使得决策过程非常不透明。最近,可解释的人工智能 (XAI) 成为通用 AI 社区的热点话题。不同于 CNN 使用图像,由于 Transformer 类结构和语言的复杂性,解释 PTM 变得更加困难。另外,当 PTMs 在生产系统中大规模应用时,其可靠性逐渐引起了广泛关注。深层神经网络模型在对抗性样本中显得十分脆弱,在原输入中加入难以察觉的扰动即可误导模型产生攻击者预先设定好的错误预测。

除此之外,PTM 的敌对攻击防御手段是一个很有前途的方向,其能够提高 PTMs 的鲁棒性,同时使得他们对敌对攻击免疫。总之,PTMs 的可解释性与可靠性仍然需要从各个方面去探索,它能够帮助我们理解 PTM 的工作机制,为更好的使用及性能改进提供指引。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C专家编程

C专家编程

Peter Van Der Linden / 徐波 / 人民邮电出版社 / 2008-2 / 45.00元

《C专家编程》展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。 书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。全书撷取几十个实例进行讲解,对C程序员具有非常高的实用价值。 本书可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,本书可以帮助他们......一起来看看 《C专家编程》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具