Advertisement

论文阅读笔记-Pre-trained Models for Natural Language Processing: A Survey

阅读量:

前言

显而易见的是,在下游任务中预训练模型发挥着显著作用。借助于预训练模型这一工具,在解决实际问题的过程中我们得以显著加快速度。如前所述,在这篇综述文章中我们主要探讨了以下几个方面的问题。首先,在介绍完什么是现有的各种预训练语言模型(PTMs)之后, 我们阐述了如何使这些语言模型的知识适配下游应用需求。其次, 并综述了未来研究可能的方向与潜力。最后, 通过本篇综述, 我们希望读者能够深入了解这一领域的发展脉络及其研究现状。

背景

  • 第一代 PTMs 主要致力于学习词嵌入表示方法,在实际应用中发现由于下游任务不再依赖于这些模型所提供的帮助信息, 从而为了提高计算效率, 这些方法通常采用较为基础的模型架构, 如 Skip-GramGloVe 算法. 这些经过预先训练的词向量能够有效捕捉词语的意义, 但其核心缺陷在于仅关注词语在文本中的共现情况, 因此无法深入理解文本中的句法结构、语义角色以及指代关系等高层次语义信息.
  • 第二代 PTMs 则致力于提取词语在上下文中的表征信息, 如 CoVe, ELMo, OpenAI\ GPT 以及 BERT 模型. 这些方法能够生成更加完善的词语表征, 并可应用于构建问答系统、机器翻译等应用模块. 另一方面, 这些模型还设计了多样化的语言任务以优化 PTM 的质量.

该图表展示了自然语言处理领域的通用神经体系架构。其中包含两种类型的词嵌入:非上下文嵌入与上下文嵌入。其差异主要体现在单词的嵌入是否因所处语境的不同而有所调整。

在这里插入图片描述

在以往的NLP项目中通常会先对 e 进行预训练以获取不带语境信息的基本词嵌入,并根据不同具体任务设定相应的上下文编码策略以便构建各个具体任务相关的隐藏向量h,从而使该模型能够直接应用于多种NLP问题的解决。然而近年来提出的一些先进的预训练Transformer模型(PTMs)则进一步将这一技术提升到了一个新的高度

大多数神经上下文编码器可划分为两大类:序列模型和基于图的模型;通过下图展示了这些模型的体系结构。

在这里插入图片描述

当前阶段Transformer凭借其强大的能力被视为主流的大模型架构,在预训练过程中展现出显著的优势。

  • 在规模宏大的文本语料库上展开预训练能够捕获通用语言表征并辅助实现 downstream 任务。
  • 预训练作为一种模型初始化方法往往有助于提升模型的泛化性能同时能缩短至目标任务的收敛时间。
  • 将预训练视为一种正则化手段能够有效防止模型在小规模数据下过度拟合从而提升泛化能力。

PTMs概述

Pre-training Tasks

  • 语言建模(LM)

    • 偏好性建模(MLM):被称为完形填空任务(Cloze任务),即从输入序列中遮掩一些token,并训练模型通过其余token预测被遮掩的token。
    • 序列到序列建模(Seq2Seq建模)
    • 增强型偏好性建模(E-MLM)
  • Permutated Language Modeling (PLM):给定输入序列后,在所有可能排列中随机选择一个排列过程。随后将所选排列序列中的某些token确定为目标输出位置,并训练模型能够基于其余token及其正常位置(natural position)准确预测这些目标token。

  • Denoising Autoencoder (DAE):模型接收部分损坏的输入数据,并设定目标为恢复其原始状态(即未受噪声干扰的状态)。这类任务通常采用标准Transformer等架构进行重建工作,在设计上与Masked Language Modeling(MLM)不同之处在于DAE会在输入端加入去噪处理。

  • Contrastive Learning (CTL):相较于传统的语言建模方法,在计算复杂度上更为高效(计算复杂度显著降低),因此在预训练任务中表现出良好的替代效果。

  • Deep InfoMax (DIM):相比NCE方法论而言,在信息最大化准则上有显著提升(计算复杂度降低),因而成为预训练阶段的理想替代方案。

  • Replaced Token Detection (RTD):该方法与Noise-Contrastive Estimation(NCE)原理一致,在检测替换token方面具有相似的功能特点。然而RTD引入了额外的信息上下文因素指导token替换检测过程。

  • Next Sentence Prediction (NSP):从名称意义出发,在训练过程中模型旨在判断两个连续输入句子是否属于同一段落文本内容。

  • Sentence Order Prediction (SOP):该任务采用同一文档中的两个连续片段作为正样本对(positive pair),而将其顺序反转后的片段组合则被归类为负样本对(negative pair)。

下图是这些Pre-training Tasks的损失函数汇总:

在这里插入图片描述

PTMs分类

  • Representation Type:基于预训练方法(PTMs)采用的词表示类型
  • Architectures:预训练方法所采用的主体网络结构
  • Pre-Training Task Types:涉及不同领域的预训练任务类型
  • Extensions:定制化应用到特定场景与输入类型的预训练模型

该图表生动地呈现了各类 PTMs所属类别。只要深入理解这一图表,则基本上就能掌握现有主流预训练语言模型的状态:

在这里插入图片描述

该表格对主流预训练方法进行了深入探讨,并详细呈现了这些方法的核心要素。通过查看该表格即可掌握主要模型、相关论文及其实现细节。

在这里插入图片描述

PTMs扩展

Knowledge-Enriched PTMs

大多数PTMS通过广泛使用的大型文本语料库来学习通用语言表示,在现有技术框架下却存在无法充分捕捉特定领域核心概念的问题。为此,在现有的PTMS架构中设计一些辅助预训练任务,并将外部领域知识系统性地整合进去已被证明是一种有效的方法。

  • ERNIE-THU将在知识图谱中预先训练的实体嵌入与文本中相应的实体提及之间进行整合,并通过非线性变换提升文本表示的能力。由于语言表征与知识表征的本质差异导致了两个独立的向量空间的存在,在输入实体的位置上将实体向量与文本表示融合以实现词汇、句法及知识信息的综合捕捉。
  • LIBERT(Language Knowledge Enhanced BERT)通过引入语言约束任务实现了语言知识的有效整合。
  • SentiLR通过集成每个单词的情感极性信息实现了标签感知MLM(LA-MLM)模型的发展,并在ABSA任务上达到了当前最优性能(SOTA)。
  • SenseBERT不仅能够预测被mask的token的实际含义,还能够根据给定语境推断其潜在意义。借助WordNet等英语词汇数据库作为标注基准系统,在不同语境下显著提升了词语消歧能力。
  • KnowBERT通过与实体链接模型以端到端的方式合并其表示能力。
  • KG-BERT采用三元组识别和关系分类的方式进行预测,在优化知识嵌入的同时也实现了有效的语言建模目标。这些改进工作主要体现在利用实体嵌入来捕获知识图谱中的结构信息。
  • K-BERT将相关三元组显式地注入到输入句子中,并以此为基础扩展了BERT的语言建模输入形式。
  • K-Adapter通过针对不同预训练任务独立训练适配器的方式来注入多种类型的知识资源,并在此基础上提出了WKLM、KEPLER等多模态预训练模型。

Model Compression

大多数预训练语言模型都拥有数十亿甚至更多的参数量,在实际应用中往往面临部署到现实服务以及设备资源受限环境的巨大挑战。通过模型压缩技术可以有效降低模型体积并提升计算效率,在现有研究文献中已经列举了五种主要的PTM(预训练语言模型)压缩方法

  • pruning(剪枝):剔除对性能影响较小的部分以减少模型复杂度。例如,在训练时采用Dropout技术并在预测阶段再进行修剪以去除被剪枝层。
  • quantization(量化):将其转换为低精度表示以降低计算资源消耗。Q-BERT和Q8BERT等量化版本展示了这种技术的实际应用效果。
  • parameter sharing (参数共享):通过参数共用来减少总数量并提升效率。该方法主要依赖矩阵分解技术和跨层参数共享策略实现资源优化。
  • module replacing(模块替换):采用伯努利分布随机选择使用大模块还是小模块以平衡性能与效率需求。
  • knowledge distillation(知识蒸馏):
    • 从软标签蒸馏:通过DistilBERT等方法利用优化目标函数引导学生模型的学习
    • 从其他知识蒸馏:采用TinyBERT、BERT-PKD等多种策略实现高效知识迁移
    • 蒸馏到其他结构:Distilled-BiLSTM等方法展示了不同架构之间的蒸馏可能性

下表是一些代表性的压缩PTMs:

在这里插入图片描述

使PTMs适应下游任务

虽然PTMs可以从大规模语言模型中获取通用语言知识。然而,在实现这一目标的过程中如何有效地将其专业知识迁移到下游任务中仍然是一个关键问题。迁移学习的目标是将专业知识从原始领域(或领域)迁移到目标领域(或领域)。该图展示了迁移学习的概览:

在这里插入图片描述

要将PTMs的知识转移到下游NLP任务,我们需要考虑以下问题:

  • 选择合适的预训练任务:主流的预训练任务如语言模型(LMs)因其广泛使用而备受关注。同一类别的预训练任务可能会带来特定的优势与局限性,并对下游应用产生显著影响。值得注意的是,在NSP(Next Sentence Prediction)等下游应用中可获得明显提升。
  • 选择合适的模型架构:由于采用了MLM(Masked Language Modeling)策略以及基于Transformer-Encoder的架构设计,BERT在处理生成性任务方面存在一定局限性。
  • 选择合适的数据:为确保模型的有效应用,下游任务的数据集应当与原始预训练阶段的数据具备高度相似性.幸运的是,已有大量成熟的PTMs可供不同领域及语言场景下的下游应用直接使用。
  • 选择合适的layers进行transfer:这一过程主要包括三种主要策略:Embedding层迁移、顶层层(Top layer)迁移以及所有层(All layers)迁移.具体而言,word2vec及Glove词向量模型可采用Embedding层迁移策略,BERT等大型模型则适合采用顶层层迁移方法,而像Elmo这样的模型则更适合通过所有层进行迁移学习.

在比较时发现:在预训练过程中(P),特征集成功能往往依赖于特定任务的设计架构(A),而finetuning过程则通过直接微调模型权重(\theta)来实现适应目标领域数据(D_{target})。相比之下(\Delta N_{param}),基于细粒度预训练模型的方法往往能够更高效地适应新任务需求。

在这里插入图片描述

Fine-Tuning策略,即通过更好的微调策略进一步激发PTMs性能:

  • 两阶段的微调策略包括两个关键步骤:首先,在中间任务或语料上进行微调;接着,在目标任务上再次进行微调。此外,在特定领域数据的支持下,第一阶段还可以进一步优化模型基础。
  • 采用多任务微调的方式,在BERT模型基础上实施了跨语言适应过程;这一做法凸显了多语言学习与预训练技术之间的协同关系。
  • 引入辅助组件以替代直接微调的方法已成为优化策略的一个重要方向;这种方法的优势在于能够有效提升模型性能的同时减少计算开销。
  • 分层冻结机制是一种更为合理的优化策略;通过逐步锁定不同层级的知识积累,可以在保持模型性能的基础上显著降低计算需求。

关于PTMs的资源

该表格列出了若干受欢迎的存储库,并列举了其中的主要类型:其中包括第三方实现、论文目录以及用于PTMs开发的可视化工具和其他相关资源。

在这里插入图片描述

总结

尽管PTMs已在多个NLP领域展现了卓越的能力,但鉴于语言的高度复杂性仍面临诸多挑战。该论文提出了五条未来PTM发展路径的建议。

  • PTMs的上限:目前许多PTMs尚未达到其潜力上限。通过适当延长训练阶段以及引入更大规模的数据集能显著提升其性能表现。在NLP领域中现有的SOTA水平仍可通过深化模型架构来进一步优化效果。然而这样做往往会导致计算成本大幅增加因此在现有硬件条件下设计出高效合理的模型架构自监督预训练任务以及先进的优化策略和技术就显得尤为重要例如ELECTRA正是这一方向上的一个典型解决方案。
  • 面向任务的预训练与模型压缩技术:在实际应用中由于不同目标任务通常具备特定功能需求因此选择适合的任务导向预训练模型至关重要这往往决定了最终模型的表现效果差异主要体现在两个方面一是模型架构二是数据分布特性尽管较大的模型通常能够带来更好的性能但如何在计算资源受限的情况下实现有效压缩仍是一个待解决的问题例如对于NLP领域的大型预训练模型而言当前关于模型压缩的研究仍处于起步阶段而Transformer全连接层结构也给这一领域的研究带来了诸多挑战。
  • PTMs的架构设计研究现状:Transformer已被广泛认可为一种高效强大的架构但它最大的局限在于计算复杂度(输入序列长度平方倍)。受GPU显存限制的影响目前大多数基于Transformer的设计最多只能处理不超过512个token长度的序列输入为了突破这一限制需对Transformer的基本结构进行创新改进例如提出的Transformer-XL等变体架构值得深入研究(参考文献链接)。
  • 知识迁移中的效率问题及改进方案:现下将PTMs的知识迁移到下游任务的主要方法是finetuning但这种方式效率较低因为每个下游任务都需要单独配置特定参数设置这显然增加了开发成本一个可行的方向是在保持原始参数的同时针对特定下游任务引入小型适配器这样就能实现共享资源服务于多个目标任务。
  • 提高可解释性和增强可靠性研究的重要性:当前关于PTM可解释性和可靠性的系统性研究仍处于初期阶段这不仅有助于我们更好地理解这些复杂模型的工作原理还能为后续性能优化和应用推广提供重要指导意义。

全部评论 (0)

还没有任何评论哟~