最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 超全预训练语言模型概览,入门学习、搭建知识体系、找资源代码

    超全预训练语言模型概述,入门学习可理解的语言输入,构建知识体系,查找文档,查找资源代码,这里是NLP预训练模型的各个方面。

    自 BERT 诞生以来,虽然对算力的要求比较大,但预训练语言模型依然层出不穷,有点类似于 GAN 大量更新的盛况。仅仅一两年的时间,但各种预训练的语言模型确实让人很难弄清楚大局是什么样子。

    我们知道BERT、ALBERT、XLNet等很多优秀的模型,但是它们之间有什么关系、区别、分类呢?这仍然是主流模式。如果我们没有阅读具体的论文,我们很难区分清楚。对于更多的变体和扩展,我们基本上无能为力。不过,复旦大学邱锡鹏等研究人员最近发表了一篇论文,用两张图详细展示了预训练语言模型的现状和分类。

    复旦的这篇综合论文非常丰富。它在 25 页中展示了预训练语言模型的所有方面。无论是新颖的预训练任务,还是领域知识的各种模型的扩展,我们都能快速搞定。

    论文:自然语言处理的预训练模型:调查

    论文地址:

    具体来说,以邱锡鹏为第一作者的研究人员对 NLP 的预训练模型进行了全面的回顾。文章结构如下:

    研究人员表示,本文旨在为读者提供理解、使用和开发适用于不同 NLP 任务的预训练模型的实用指南,并且本文在机器学习界也得到了广泛的反响。

    什么是预训练语言模型

    为了保证各位读者对预训练语言模型有一定的了解,我们先简单介绍一下。如果读者已经很熟悉了,那么可以直接看下一节的“预训练语言模型纲要”。

    在过去的一两年里,大量的研究工作表明,大型语料库上的预训练模型(PTM)已经可以学习通用语言表示,这对于下游 NLP 相关的任务非常有帮助,并且可以避免大量训练新的从头开始。模型。随着计算能力的发展,深度模型(Transformers)的出现以及训练技能的不断提升,PTM架构由浅入深发展。

    第一代 PTM 旨在学习词嵌入。由于下游任务不再需要这些模型的帮助,因此它们通常采用诸如 Skip-Gram 和 GloVe 之类的浅层模型来提高计算效率。尽管这些预训练的嵌入也可以捕获单词的语义,但它们不受上下文限制,只是学习“共现词频率”。这些方法显然无法理解更高层次的文本概念,例如句法结构、语义角色、指称性等。

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

    NLP 任务的通用神经架构。

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

    但是对于预训练的语言模型,我们的输入也是这些embedding向量可理解的语言输入,不同的是我们会在大规模语料库上预训练Contextual Encoder,期望它在所有情况下都能得到足够好的h,所以以直接完成各种NLP任务。换句话说,最近的一些 PTM 将预训练的编码信息提高了一级。

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

    自 ELMo 和 BERT 等预训练语言模型发布以来,它们在各种 NLP 任务上表现非常出色。而为了增强这些能力,已经有很多预训练的语言模型,就像当 GAN 在图像生成领域取得突破时,出现了新的研究浪潮。那么我们如何才能梳理出预训练模型的整体思路呢?这就是复旦的论文所关注的。

    根据论文,各种预训练方法的主要区别在于文本编码器、预训练任务和目标的不同。那么我们可以通过论文中的两个图来进一步了解具体的预训练模型的方向和扩展。

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

    下面论文的图 3 详细显示了各种 PTM 的类别。只要理解了,基本就能理解现有预训练语言模型的整体状态。

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

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

    代表性 PTM 列表。

    什么是预训练任务

    我们来详细看一下预训练任务,它是BERT、XLNet等新模型的“灵魂”。预训练任务的目的是强制模型学习自然语言的各种结构和含义,这使得将通用语言知识嵌入到模型中成为可能。或许最值得称道的是 BERT,它引入了不同于传统语言建模的新任务,使预训练模型能够在各种 N 个 NLP 任务上表现良好。

    NLP 中最常见的无监督任务是概率语言建模,这是一个经典的概率密度估计问题。事实上,作为一个通用概念,语言建模通常特指自回归或单向语言建模。传统的语言建模可以用下面的公式说清楚,即给定所有前面的词,每次都预测下一个词。

    Wilson L. Taylor 等人在论文“完形填空程序”中首先提出了掩码语言建模(MLM)的概念:一种用于测量可读性的新工具,他们称之为 Cloze 任务。接下来,Jacob Devlin 等人。将 MLM 视为 BERT 中一项新颖的预训练任务,以克服标准单向语言建模的缺点。

    因此,一般而言,MLM 首先从输入序列中屏蔽一些标记,然后训练模型从其余标记中预测被屏蔽的标记。

    虽然 MLM 已广泛用于预训练,但杨志林等人。在论文《XLNet: Generalized autoregressive pretraining for language Understanding》中表示,当模型应用于下游任务时,MLM预训练中使用的一些特殊特征如[MASK] 的token不存在,导致两者之间存在差距预训练和微调。

    为了克服这个问题,杨志林在本文中提出用置换语言建模(PLM)代替MLM。简而言之,PLM 是一项关于输入序列随机排列的语言建模任务。给定一个序列,然后从所有可能的排列中随机抽取一个排列。然后选择排列序列中的一些标记作为目标,同时训练模型根据剩余的标记和目标的自然位置来预测这些目标。

    去噪自动编码器 (DAE) 接受部分损坏的输入,并旨在恢复这些未失真的原始输入。此类任务使用诸如标准 Transformers 之类的模型来重建原始文本,这与 MLM 的不同之处在于 DAE 在输入中添加了一些额外的噪声。

    Nikunj Saunshi 等人的论文“对比无监督表示学习的理论分析”中的对比学习(CTL)。假设一些观察到的文本对在语义上比随机采样的文本更接近。CTL 背后的原则是“对比学习”。与语言建模相比,CTL 的计算复杂度较低,使其成为预训练中理想的替代训练标准。

    CLT一般可分为以下三种:

    什么是预训练扩展?

    除了预训练任务外,扩展预训练语言模型也很重要,它会根据不同的目的加强不同的模块。例如,清华大学提出ERNIE,将多信息实体结合在知识图谱中,作为外部知识来提高语言表示。

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

    一些研究侧重于如何获得 PTM 的跨模态版本,而绝大多数研究是为一般视觉和语言特征编码而设计的。此类模型在大规模跨模态数据语料库上进行预训练,并结合扩展的预训练任务以充分利用其多模态特征。

    模型压缩是一种减小模型大小和提高计算效率的方法。目前常用的压缩PTM的方法有四种:(1)去掉那些不太重要的参数;(2)权重量化,用少量的比特来表示参数;(3)在类似Shared模型单元之间的参数;(4)知识提取。

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

    蒸馏使用其他知识。

    大多数公共 PTM 都在通用领域语料库上进行培训,例如 Wikipedia,这将它们的应用程序限制在特定领域。虽然一些研究提出了其他在专业语料库上训练的 PTM,例如用于生物医学方向的 BioBERT、用于科学方向的 SciBERT 和用于临床方向的 ClinicalBERT。

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

    什么是 PTM 资源

    现在网络上有许多预训练模型系统的第三方实现。下面的表 5 总结了一些流行的预训练模型架构:

    开源预训练模型实现。

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

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

    PTM未来发展方向展望

    尽管 PTM 在许多 NLP 任务中都显示出了强大的能力,但由于语言的复杂性,仍然存在许多挑战。在这里,研究人员对未来 PTM 的发展方向提出了五点建议。

    PTM 上限

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

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

    在实践中,不同的目标任务需要不同的 PTM 功能。PTM 与下游目标任务的区别通常在于模型架构和数据分布两个方面。虽然较大的 PTM 通常会带来更好的性能,但实际问题是如何在某些情况下使用这种较大的 PTM 模型,例如低容量设备和低延迟应用程序。通常的解决方案是为目标任务设计特定的模型架构和训练任务,或者直接从现有的 PTM 中提取部分信息用于目标任务。

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

    PTM的结构

    Transformer 已被证明是一种有效的预训练架构。但是,Transformer 的最大限制是其计算复杂度(输入序列长度的平方乘以)。受 GPU 内存大小的限制,目前大多数 PTM 无法处理超过 512 个标记的序列长度。打破这一限制需要改进 Transformer 的结构设计,例如 Transformer-XL。因此,寻找更有效的 PTM 架构设计对于捕获远程上下文信息非常重要。设计深度神经网络结构具有挑战性,也许使用神经架构搜索 (NAS) 等自动结构搜索方法可能是一个不错的选择。

    参数微调的知识转移

    Fine-tuning 是目前将 PTM 的知识传递给下游任务的主要方法,但是效率低下,并且每个下游任务都有特定的微调参数。改进的方案是固定 PTM 的原始参数,并添加一个专门针对任务的小型微调适应模块,这样共享的 PTM 可以用于服务多个下游任务。PTM 中的知识挖掘可以在特征提取、知识提取和数据增强等方面变得更加灵活。

    PTM 的可解释性和可靠性

    尽管 PTM 取得了令人印象深刻的性能,但其深层非线性结构使得决策过程非常不透明。近来,可解释人工智能(XAI)已成为广大人工智能社区的热门话题。与使用图像的 CNN 不同,由于 Transformer 类结构和语言的复杂性,解释 PTM 变得更加困难。此外,当 PTM 在生产系统中大规模应用时,其可靠性也逐渐受到广泛关注。深度神经网络模型在对抗样本中非常脆弱,在原始输入中添加难以察觉的扰动会误导模型产生攻击者预设的错误预测。

    此外,PTM 的对抗性攻击防御是一个很有前途的方向,它可以提高 PTM 的鲁棒性,同时使其免受对抗性攻击。综上所述,PTMs的可解释性和可靠性仍需要从多方面进行探索,这可以帮助我们了解PTMs的工作机制,为更好地使用和提高性能提供指导。

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 超全预训练语言模型概览,入门学习、搭建知识体系、找资源代码

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论