Advertisement

Pre-trained Models for Natural Language Processing: A Survey

阅读量:

前言

该研究充分展现了预训练模型在推动自然语言处理领域发展的巨大作用。借助现有的预训练模型技术可以显著提升解决复杂问题的效率。正如文献所指出的那样,** 预训练语言模型(PTMs)的发展开创了现代自然语言处理的新纪元* 。本文从四个维度系统地分析现有预训练语言模型(PTMs),探讨如何使现有的预 trained 语言 模型能够适应特定的任务需求,并全面总结其应用现状及未来可能的研究方向。通过对现有研究内容的梳理与总结, 本文旨在帮助读者深入了解这一重要技术领域的发展动态与应用前景。

背景

  • 第一代 PTMs 主要致力于学习词嵌入技术。
    考虑到下游应用对计算效率的要求较高, 它们通常会选择浅层架构作为实现基础。
    这些经过预先训练得到的词向量虽然能够捕捉到单词的基本语义特征, 但存在一个显著局限性: 它们无法有效地理解和处理复杂的语义关系和语法结构。
    这种简单的共现关系建模方式在面对高级别的文本理解任务时显得力有未逮。
  • 第二代 PTMs 集中于学习包含上下文信息的词表征。
    包括 CoVe、ELMo、OpenAI GPT 和 BERT 等多种模型。
    这些先进的架构能够在生成更加精确且有意义的词语表示的同时, 广泛应用于问答系统等 downstream tasks。
    通过设计多样化的语言理解和生成任务来优化其性能。

该图表展示了自然语言处理领域的通用神经体系架构,在词表示方面主要包含两种类型:非上下文词嵌入与上下文词嵌入。其区别体现在单词的嵌入是否随其出现的语境环境发生变化上。

在这里插入图片描述

一般来说,在NLP领域中会先对 e 这样的不带语境信息的词向量进行预训练。随后针对不同的应用场景需要采用不同的上下文编码策略来构建特定的隐层表示 h。对于预训练的语言模型来说,在这里我们的输入同样是这些嵌入向量 e。主要区别在于他们通过大规模的数据集进行Contextual Encoder的预训练,并期望能够得到足够的隐层表示h来完成各种NLP任务。简而言之来说,在当前的研究中一些新型的大规模语言模型(PTMs)已经实现了这一层次上的提升

该编码器主要可分为两类:基于序列的模型和基于图的模型;下图展示了这些架构的总体结构

在这里插入图片描述

到目前为止,在机器学习领域中Transformer架构因其卓越的能力而被广泛认可,并被视为当前主流的大模型架构的基础。其预训练阶段的优势主要体现在以下几点:

  • 在规模宏大的文本语料库上展开预训练工作能够获取通用性语言表示,并辅助实现下游任务。
  • 预训练过程可被视为一种有效的模型初始化方式 一般情况下 可带来更好的泛化性能 并促进目标任务的收敛速度。
  • 预训练过程可被视为一种正则化手段 可防止模型过拟合于小规模数据 并提升整体性能。

PTMs概述

Pre-training Tasks

  • 语言建模(LM)

    • 完形填空任务(MLM),即从输入序列中遮掩某些token并使用其余token预测mask的token。
    • 序列到序列完形填空模型(Seq2Seq MLM)
    • 增强型完形填空模型(E-MLM)
  • Permuted Language Modeling (PLM):给定一个序列后,则从中随机选择一种排列方式。随后将选定的目标位置视为异常标记,并指导模型根据正常位置信息去预测这些目标。

  • Denoising Autoencoder (DAE):接收部分损坏的输入并以恢复其原始状态为目标。这类任务通常会采用标准 Transformer 模型来重建原始文本,并且与 MLM 不同的是 DAE 在输入中加入了一定程度的噪声。

  • 相较于语言建模任务而言,则计算复杂度显著降低,在预训练阶段被广泛采用作为替代方案。

  • Deep InfoMax (DIM)

  • Replaced Token Detection (RTD):Replaced Token Detection(RTD)方法与 Negative Cosine Similarity(NCE)方法相仿,在检测替换标记时展现出相似的效果。

  • Next Sentence Prediction (NSP) 任务旨在区分两个句子是否属于训练数据中的连续片段。

  • Sentence Order Prediction (SOP) 则利用同一文档中的两段连续文本作为正样本,并将这两段文本的位置互换作为负样本进行训练。

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

在这里插入图片描述

PTMs分类

  • 表示类型:pre-trained models (PTMs) 所采用的词表征类
  • 架构:pre-trained models (PTMs) 所采用的核心架构
  • 预训练任务种类:被 PTMs 进行过预训练的任务种类
  • 延伸版本:专门针对特定场景与输入类型的 PTMs

此图表直观地呈现了各类PTMs所属的不同功能区域;只要能够理解这一图表的核心内容就能全面掌握现有预训练语言模型的基本状态。

在这里插入图片描述

下表进一步呈现了主流预训练方法的关键细节信息。了解这些关键模型及其实现方式可以帮助更好地理解当前领域的研究进展。深入研究这些内容能够全面掌握当前技术的发展状况。

在这里插入图片描述

PTMs扩展

Knowledge-Enriched PTMs

PTMs主要从通用大型文本语料库中学习通用语言表示能力,但缺乏专门领域的先验知识。为了弥补这一不足,在PTMs中开发了一系列辅助预训练任务,并将外部领域知识库中的相关知识融入其中已被实验证明是一种有效的方法。

  • ERNIE-THU将在知识图谱中预先训练的实体嵌入与文本中相应的实体提及相结合,以增强文本表示。由于语言表征的预训练过程和知识表征过程有很大的不同,会产生两个独立的向量空间。为解决上述问题,在有实体输入的位置,将实体向量和文本表示通过非线性变换进行融合,以融合词汇、句法和知识信息。
  • LIBERT(语言知识的BERT)通过附加的语言约束任务整合了语言知识。
  • SentiLR集成了每个单词的情感极性,以将MLM扩展到标签感知MLM(LA-MLM),ABSA任务上都达到SOTA。
  • SenseBERT不仅能够预测被mask的token,还能预测它们在给定语境下的实际含义。使用英语词汇数据库 WordNet 作为标注参照系统,预测单词在语境中的实际含义,显著提升词汇消歧能力。
  • KnowBERT与实体链接模型以端到端的方式合并实体表示。
  • KG-BERT显示输入三元组形式,采取两种方式进行预测:构建三元组识别和关系分类,共同优化知识嵌入和语言建模目标。这些工作通过实体嵌入注入知识图的结构信息。
  • K-BERT将从KG提取的相关三元组显式地注入句子中,以获得BERT的扩展树形输入。
  • K-Adapter通过针对不同的预训练任务独立地训练不同的适配器来注入多种知识,从而可以不断地注入知识,以解决注入多种知识时可能会出现灾难性遗忘问题。此外,这类PTMs还有WKLM、KEPLER等。

Model Compression

由于已训练的语言模型通常普遍具备数亿个参数,在实际应用环境下的在线服务以及资源受限的应用设备上部署这些模型往往面临诸多技术挑战与实现障碍;而通过采用有效的模型压缩技术,则能够在不显著降低性能的前提下显著减少模型体积并提升运行效率;论文中所列举的五种特定类型的预训练语言模型(PTMs)均采用了此类压缩方法:

  • pruning(剪枝):通过主动筛选与当前任务关联度较低的参数来减少模型复杂度,在实际应用中可采用压缩方法如Compressing BERT以及结构化剪枝技术如LayerDrop,在训练阶段执行随机丢弃操作,在预测阶段再删除多余层以降低计算开销。
  • quantization(量化):一种将高精度权重和激活转换为低精度表示的技术,在深度学习中常用于优化模型运行效率和减少内存占用需求。
  • parameter sharing (参数共享):指在不同子网络或层中共享同一组参数以减少总参数量的方法,在ALBERT架构中主要通过矩阵分解技术和跨层参数共享策略实现对模型规模的有效控制。
  • module replacing(模块替换):一种基于贝努利分布随机采样的方法来决定使用大模型组件还是小模型组件构建系统架构,在BERT-of-Theseus模式中仅考虑任务相关的损失函数进行优化选择。
  • knowledge distillation (知识蒸馏):一种从大型预训练语言模型 teacher 获取知识并训练小型 student 模型的技术框架,在蒸馏过程中主要包含三种典型策略:
    • 基于软标签的蒸馏方法如DistilBERT、EnsembleBERT;
    • 基于其他知识蒸馏方法如TinyBERT、MobileBERT等;
    • 以及从特定结构出发进行蒸馏的应用场景,

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

在这里插入图片描述

使PTMs适应下游任务

虽然PTMs虽然可以通过大型语料库获取通用语言知识然而这一过程的有效应用仍是实现其价值的关键所在

在这里插入图片描述

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

  • 挑选适当的预训练任务时应考虑语言模型作为最常用且广泛使用的PTMs
  • 不同预训练任务可能带有自身偏向性并在应用于不同领域时表现各异
  • 以NSP为例 在问答系统(QA)以及自然语言推论(NLI)等下游应用中展现出显著优势
  • 在模型架构设计上需注意BERT等模型主要依赖MLM策略并结合Transformer-Encoder架构
  • 所选下游数据应与常见的PTMs预训练目标高度契合
  • 具体而言包括嵌入层迁移 顶层层转移以及全层转移三种主要方式
  • 例如Word2Vec及GloVe多采用嵌入层转移 而BERT则倾向于顶层层转移

在模型训练策略的选择上,
我们需要决定采用进行特征集成功能还是进行微调(fine-tuning)。其中,在特征集成功能中,
预训练模型的参数会被固定(freeze)以保持原有的特性。
相比之下,
在微调(fine-tuning)过程中,则会释放这些参数以便适应新的任务需求。
然而,
在进行特征集成功能时,
通常需要特定任务架构的支持。
值得指出的是,
在微调方法上具有显著的优势和便利性。
此外,
下表将列举几种适应性预-trained模型组件的典型组合情况:

在这里插入图片描述

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

  • 两阶段优化策略:具体而言,在第一阶段中通过对中间任务或相关语料进行优化处理后,在第二阶段中再针对具体目标任务展开优化工作。需要注意的是,在第一阶段中可以根据特定任务的数据进一步优化预训练过程以提升性能。
  • 多任务优化方法:MTDNN在多任务学习框架下对BERT进行了系统性优化处理后可以看出这种多任务学习与预训练技术之间存在互补性。
  • 适配器应用问题:虽然Fine-Tuning方法在一定程度上解决了多任务问题但它的主要问题是其参数效率较低且会导致每个下游模型都需要独立维护一组独特的参数配置因此需要一种更为高效的方法可以在不重新训练原始模型的情况下实现更好的适应效果。
  • 逐层策略建议:建议采用逐层冻结而非同时冻结所有层的方式来实现更高效的优化效果这种分层冻结策略能够显著提升模型的收敛速度并减少资源消耗。

关于PTMs的资源

该表格列举了一些热门存储库、包含第三方实现、论文综述列表以及可视化工具与PTMs的相关资源:

在这里插入图片描述

总结

尽管在众多NLP任务中PTMs展现了强大的能力,但因语言本身的复杂性而带来诸多挑战。该论文则提出了五个未来PTMS发展方向的建议。

  • PTMs的上限 :目前PTMs尚未达到其上限值。大多数情况下可以通过延长训练步长并增加数据量来提高PTMs的性能表现。在NLP领域中现有的SOTA水平仍可通过优化模型结构进一步提升性能。然而这种提升途径往往会导致计算成本显著增加。因此在现有硬件资源基础上探索更高效的模型设计方案及训练技巧显得尤为重要。例如ELECTRA正是这一方向上的一个成功实践案例。
  • 面向任务的预训练与模型压缩 :在实际应用中不同任务所需PTMs的功能存在差异通常体现在架构设计与数据分布上。尽管较大的PTMs在大多数场景下能够带来更好的性能效果但在计算资源受限的情况下如何实现高效利用是一个亟待解决的问题。以NLP领域的PTM为例当前关于模型压缩的研究仅处于起步阶段而基于Transformer的全连接架构也给模型压缩带来了诸多挑战。
  • PTMs的架构设计 :Transformer架构已在大量研究中被证实为一种高效的解决方案然而其主要局限在于计算复杂度(输入序列长度平方倍)。受限于GPU显存规模大多数现有的PTMs无法处理超过512个token长度的序列输入为突破这一限制需对Transformer结构进行系统性改进如Transformer-XL等变体架构可作为重要参考方向。
  • 知识迁移中的微调优化 :当前将PTMs的知识迁移到下游任务的主要手段是微调过程但这一方法效率较低且需要针对每个下游任务单独配置特定参数参数配置的工作量较大影响了方法的实际应用效果因此探索一种无需针对每个下游任务单独配置参数的知识迁移优化方法具有重要的理论意义与实际价值。
  • 解释性与可靠性研究 :尽管关于PTM可解释性与可靠性的研究仍处于初期阶段但仍有许多关键问题亟待解决这方面的研究不仅有助于我们深入理解PTM的工作机制还有助于为实际应用中的性能优化提供重要指导。

全部评论 (0)

还没有任何评论哟~