Advertisement

AN OVERVIEW OF LANGUAGE MODELS RECENT DEVELOPMENTS AND OUTLOOK

阅读量:

该系列综述文章专门用于翻译《AN OVERVIEW OF LANGUAGE MODELS: RECENT DEVELOPMENTS AND OUTLOOK》。

语言模型综述:近年来的发展与展望

  • 摘要

  • 1 引言

  • 2 语言模型的类型

    • 2.1 结构化LM
    • 2.2 双向LM
    • 2.3 置换LM
  • 3 语言层次结构

    • 3.1 基本符号
      • 3.2 词汇及其细分

          • 3.2.1 基于数据驱动的词向量生成
          • 3.2.2 基于语义分析的词向量构建
      • 3.3 短语

      • 3.4 句子

本节将介绍4种语言模型结构,包括N-gram模型、最大熵模型、前馈神经网络模型、循环神经网络模型以及Transformer模型。每种模型结构都将通过具体的数学公式进行描述,以展示其独特的优势和应用场景。

  • 5 预训练语言模型

    • 5.1 预训练
    • 5.2 微调,适配器调整和提示调整
  • 6 模型评估体系

    • 6.1 内部评估指标

      • 6.2 外部评估指标
      • 6.3 内部与外部评估指标之间的相互关系
      • 6.4 基于LM的评估体系超越单一变量评估
    • 7 文本生成中的语言模型

      • 7.1 解码方法
      • 7.2 对话系统
      • 7.3 自动语音识别
      • 7.4 机器翻译
      • 7.5 生成文本检测
    • 8 高效模型

      • 8.1 数据使用
      • 8.2 模型大小
      • 8.3 推断延迟
  • 9 未来研究方向

    • 9.1 语言模型与知识图谱的整合

    • 9.2 在线学习

    • 9.3 轻量化模型设计

    • 9.4 通用模型与领域专用模型

    • 9.5 可解释性模型构建

    • 9.6 机器生成文本的检测技术

    • 10 结论

摘要

研究语言在文本串上呈现的概率分布规律。在自然语言处理领域,这是最基础的重要任务之一。广泛应用于文本生成、语音识别、机器翻译等多个领域。传统的语言模型(CLM)主要通过因果关系预测语言序列的概率分布,而预训练语言模型(PLM)则涵盖了更广泛的语义概念,既可以用于因果序列建模,也可以通过微调应用于各种下游任务。PLM通常采用自我监督学习范式进行训练,是现代自然语言处理系统的核心架构。本文从五个维度介绍了CLM和PLM的基本概念、训练方法和应用。此外,还探讨了CLM与PLM之间的关联,并展望了预训练语言建模技术的发展方向。

1 引言

语言建模作为语言学研究的核心内容,主要关注语言单元(如单词、字符、短语等)在概率分布上的建模。这种研究方法是自然语言处理领域中最基础且持续探索的重要课题之一。开发出的语言模型在多个计算语言学领域得到了广泛应用,包括文本生成、机器翻译、语音识别、自然语言生成以及问答系统等多个方面。

在语言建模方法中,主要包含两种不同的策略:一种是基于较小语料库集的统计方法,另一种是基于较大语料库集的数据驱动方法。传统的语言模型采用因果预测的方式,基于条件概率对语言序列进行建模。这些模型可以根据两种不同的语言建模方法进行训练。其中,数据驱动方法已成为当前研究的主流方向。这种方法通过大量语料库训练神经网络模型,从而生成预训练语言模型(PLM)。随后,利用特定任务的数据集和目标应用对PLM进行微调优化。在本文综述中,我们将CLM定义为基于因果预测的概率语言模型。与之相对应,PLM则指的是经过广泛任务和目标预训练的语言模型。需要注意的是,这两种概念并非互斥。一个通用语言模型(LM)可以同时具备因果预测能力和多种下游任务的预训练能力。例如,GPT模型不仅能够以因果方式预测语言序列的概率,还能够适应多种下游任务,并接受预先训练的指令进行优化。在本文中,我们将CLM和PLM进行了全面概述,并从五个维度对其进行了深入研究:语言单元、架构设计、训练方法、评估指标以及应用领域。最后,我们对未来几个研究方向进行了展望。

CLM的核心目标是建立语言单元序列的概率分布模型:

训练方法。随着深度学习技术的进步,基于神经网络结构的预训练语言模型(PLM)通过汇总大量未标注语料库进行预训练,积累丰富的语义知识,随后通过特定任务的微调将其迁移至下游任务。

因果关系约束。PLM在预测语言单位时并不遵循条件语言模型(CLM)的规则,例如等式(2)所示。例如,双向语言模型(双向LM)通过概率预测来利用前后文信息来预测缺失的语言单元:
\begin{equation}P(u_t|u_{t}). \end{equation}
与CLM不同,双向LMs不遵循等式(3)中的因果关系约束和链式规则,而是通过直接利用文本序列的概率分布来预测,这使得它们在本质上与CLM存在显著差异。

除了在训练范式和概率建模方面的差异,PLM采用了与传统方法不同的token表示方式。在表示token方面,PLM采用了将这些元素嵌入到高维连续空间的新方法,具体包括单词嵌入和句子嵌入。这种新型表示方法显著提升了PLM在各种任务上的处理能力。

本文旨在完成两项主要任务。首先,本文的目的不仅在于探讨最近开发的大型语言模型(PLM),还旨在全面分析基础语言模型(LM)的核心概念、从单语言模型(CLM)向多语言模型(PLM)的演进过程、LM的最新发展动态,以及为LM初学者提供应用指导。其次,本文旨在阐明未来研究方向,并向NLP领域经验丰富的工程师和研究人员提供我们的研究展望。例如,本文在分析大型LM时涵盖了当前关注度较高的模型,这主要得益于ChatGPT新推出的服务,使得人们对大语言模型(LLM)的应用场景和研究价值愈发重视。此外,我们将高效LM作为一个独立的研究方向,因为随着模型规模的不断扩大和训练成本的持续攀升,这一问题逐渐成为研究关注的焦点。论文其余部分的结构安排如下:第二部分概述了超越单语言模型的多语言模型,第三部分介绍了分解文本序列为更小语言单元的常见方法,第四部分分析了不同模型架构的设计原理,第五部分探讨了LM训练的优化方法,第六部分详细阐述了评估LM性能的内外在指标体系,第七部分讨论了LM在文本生成任务中的实际应用,第八部分深入分析了冗余信息对LM性能的影响,并重点研究了高效LM的设计技术,第九部分总结了未来具有研究价值的方向,最后第十部分总结了全文的主要内容。

2 语言模型的类型

CLM常被定义为自回归模型,该模型基于前文信息推断后续语言单元,如公式(2)所示。LM通过链式法则评估文本序列的概率,而CLM的目标是按因果顺序解码文本序列的概率。在本节中,我们将探讨超越CLM的其他LM模型。

2.1 结构化LM

在这里插入图片描述

结构LM不是正向或逆向顺序预测语言单元,而是基于固定的语言结构模式(如依赖或成分解析树)预测语言单元。结构LMs通过语言结构使语言相关的上下文更接近要预测的语言单元。例如,给定一个解析树结构,结构LM将u_t的祖先上下文A(u_t)定义为从根节点到u_t的父节点的序列。例如,单词“strong”的祖先序列是图1中的{“bicatears”、“saw”、root}。然后,结构LM通过树中的祖先上下文来预测下一个语言单元为
\begin{equation}P(u_t|A(u_t)), \end{equation}
其中A(u_t)是语言单元u_t的祖先上下文。与CLM类似,结构LMs被设计用于对文本序列的概率进行建模。不同的是,结构LMs按照其合成结构的顺序解码序列概率。它已被成功应用于句子补全和语音识别。

2.2 双向LM

在预测过程中,双向LMs并非依赖于因果关系的上下文,而是基于来自两个方向的综合信息,如公式(4)所示。一种典型的双向LM是掩蔽LM。其基本原理是通过屏蔽特定语言单元,然后对这些单元的前后语境进行编码,以预测其被屏蔽的状态。具体而言,其预测机制可被视为对以下条件概率的估计:
\begin{equation}P(u_m|\bar S), \end{equation}
其中,u_m表示被屏蔽的语言单元,\bar S则是通过将一定数量的语言单元替换为[MASK]符号而得到的损坏文本序列。这种模型的目标是通过无监督学习方式,揭示语言单元之间的内在依赖关系。经过训练后,模型能够继承大量未标注的语料库中的语义信息。与条件语言模型(CLM)不同,双向LMs的预训练目标是不关注文本生成的概率建模,而是在各种实际应用中,通过进一步微调来传递所学知识。这种特性使得预训练的双向LMs在知识传递方面具有独特的优势。

2.3 置换LM

在这里插入图片描述

CLM和掩蔽LMs各有其独特优势与局限性。采用掩蔽策略的LMs需要引入类似于[mask]的人工标记token,这些标记token在下游任务中通常不会被使用,而CLM则仅依赖于输入上下文的前向信息。置换LM是一种近期提出的LM架构,它结合了CLM与掩蔽LM的优势。对于给定的语言输入序列,排列LMs会对输入序列的顺序进行随机打乱,并生成多种不同的排列版本。图2展示了不同排列示例。设Z为所有可能排列的集合,置换LMs通过预测一个置换Z中的下一个语言单元ut,基于公式P(u_t|u^{Z}_{t-1})来进行建模。

3 语言单元

为了计算文本序列的概率,语言模型将该序列划分为较小的语言单元,包括字符、单词、短语或句子。这个过程被称为标记化处理。划分后得到的语言单元被称为token。不同的语言和模型可能会采用不同的标记化方法。在此,我们特别关注英语,并将其作为一个具体案例。在本节中,我们将根据不同的单元划分方法,探讨语言建模中使用的典型标记化方法。

3.1 字符

语言模型能够基于字符序列构建文本的概率分布模型。与之相比,字符单元的词汇量显著减少,从而使得离散空间和模型规模更加紧凑。另一方面,预测下一个角色的挑战性较高,这导致字符级别的语言模型在性能上不及单词级别的模型。为了准确建模字符分布,输入和输出序列的长度需要相应增加,这将显著增加计算成本,尤其是对于自回归解码过程而言。为了缓解这一挑战,几种语言模型采用了字符和单词的结合策略。

3.2 单词和子单词

英语最自然的标记化是通过空格将文本序列分解为单词。许多语言模型采用基于词的标记化方法。然而,这种基于词的标记化方法存在一些局限性。第一个问题是OOV问题。由于语言模型通常具有预定义的词汇表大小,它们无法处理所有可能的词汇。因此,不太频繁出现的词汇以及具有字符级错误的词汇可能无法被包含在词汇表中,导致无法进行有效的检索。尽管可以通过扩展词汇表来缓解这一问题,但这种方法会增加模型的规模,并不能彻底解决所有OOV问题。此外,基于词的标记化方法在处理单个字符层面的语义信息时存在不足。

超过单词级别的标记化方法仍然面临OOV问题,因为单个字符本身没有独立的语义意义。为此,研究人员倾向于将无法被包含在词汇表中的词汇分解为子单词。这种方法为解决OOV问题提供了灵活且有效的解决方案。为了平衡单词级模型的性能和字符级模型的灵活性,研究人员开发了几种子词分割算法。这些算法旨在在保持较高语言模型性能的同时,兼顾字符级别的灵活性。以下将介绍两种基于统计学和语言学的子词分割方法。

3.2.1 基于统计的字词向量化

基于统计的子词标记器完全依赖语料库生成子词词汇。相关的方法是从压缩的角度推导而来。它们的工作原理是用当前词汇表中不存在的新符号替换常见的字符序列。这样,信息传输所需的字节就更少了。BPE是一种简单的数据压缩技术,它通过递归地替换序列中最常见的一对未使用的字节来实现。采用它来解决分词问题,也就是说,频繁出现的字符或字符序列被合并以生成子字。BPE也被一些高级PLM使用,如GPT-2和RoBERTa,并采用BPE合并操作算法。

  • 首先,建立一个训练语料库,并确定子词词汇的规模。
  • 接下来,将每个单词分解为单个字符。
  • 然后,基于频率分析,合并具有最高频率的一对字符或子字,以生成新的子字。
  • 最后,持续进行上述步骤,直至构建出所需词汇量。

图3给出了在一个小字典上进行的BPE合并操作的说明。

在这里插入图片描述

WordPiece是一种基于数据的子字生成方法。与BPE不同,WordPiece通过最大化P(AB)/P(A)P(B)的值来确定最佳子字分割。例如,在图3中,WordPiece算法将“u”和“g”组合为一个子字,这一操作仅在该组合的P('ug')/P('u')P('g')值高于其他可能组合时执行。在BERT、DistilBERT和Electra模型中,WordPiece被集成作为子字标记工具。除了WordPiece,还有其他基于统计的子词标记器,如Unigram。此外,SentencePiece、Huggingface标记器和OpenNMT等也是广泛采用的标记工具,它们均基于统计方法进行子词划分。研究了多种子词标记器及其性能对比。

3.2.2 基于语言学的字词向量化

基于语言学的子词标记器利用语言学知识,将单词划分为更小的语法单元,如语素或音节。这种子词标记器在不同语言间的机器翻译和语音识别中被广泛运用。例如,在机器翻译中,通过复合、词缀或屈折形成的单词,可以通过分别标记语素来方便地进行翻译。然而,由于语言分解的复杂性和基于规则的特性,基于语言学的子词标记器相较于基于统计的子词标记器并不那么受欢迎。

3.3 短语

一个单词的语义可能因上下文和搭配的不同而有所差异,这在语言学词典中未能超越单词层面,因而忽略了单词间的依赖关系。短语级别的语言模型(LMs)倾向于将短语替换为常见的、具有凝聚力的单词序列。短语级别的LMs适用于特定的应用场景。例如,研究表明,在自动语音识别(ASR)系统中,使用音节较短的短单词相较于长单词更容易出现识别错误,这是因为短语提供的电话序列长度较其实体部分更长,从而在ASR中表现出更高的鲁棒性。

3.4 句子

具有较小语言单元(例如,字符、单词、子单词和短语)的自回归语言模型(LM)基于条件概率来计算文本序列的概率,如公式(3)所示。句子级别的LMs不依赖链式法则。它们提取句子特征,然后直接计算句子概率。这是因为直接计算比通过公式(3)进行建模更为便捷。在编码句子级别的信息时,编码语句间的信息(例如对话流中上一条消息的效果)更加容易。

4 语言模型结构

在本节中,我们对几种常见的架构进行了调查,以建模文本序列的概率分布。这些架构包括N-gram、最大熵模型和神经网络模型。尽管还有其他LM架构,如高斯混合LM和隐马尔科夫LM,但由于它们在研究界广受欢迎,我们将重点讨论上述几种架构。此外,LMs可以在不同语言单元级别上运行。为了保持通用性和一致性,特别是在本文的其余部分,我们将使用“token”一词来指代各种LM所使用的语言单位。

4.1 N元模型

一个N-gram由文本序列中的连续N个标记组成。N-gram语言模型假设一个token的概率仅依赖于其前面的N-1个token,且与其他上下文无关。这就是马尔可夫假设。因此,N元语言模型仅使用前N-1个token来预测当前token,即

4.2 最大熵模型

最大熵模型(也称为指数模型)通过特征函数来估计文本序列的概率。其中,特征函数f(u,u_{<t})代表生成token u的特征及其历史上下文u_{<t}。∑u'exp(a^Tf(u',u'_{<t}))代表归一化因子,其中a是通过广义迭代缩放算法计算得出的参数向量。这些特征通常由N-grams生成。

4.3 前向神经网络模型

在这里插入图片描述

尽管采用了先进的平滑技术,N-gram模型仍存在离散性这一性能瓶颈。神经LMs通过采用连续嵌入空间(分布式表示)来有效解决数据稀疏性问题。前馈神经网络(FNN)LMs可被视为早期的神经网络模型之一。

4.4 循环神经网络模型

在这里插入图片描述

在语言模型中,明显不足的是仅依赖固定长度的历史上下文来预测下一个token。与N-gram、最大熵模型和基于有限历史的前馈神经网络语言模型(FNN LMs)相比,递归神经网络(RNN)LMs能够有效利用任意长度的历史信息来捕捉语言的长距离依赖关系。

RNN LM的结构如图5所示。在位置i处的token u(i)首先被转换为独热表示\hat u(i)。随后,通过将当前token的独热表示\hat u(i)与上一时刻的隐藏状态h(i)进行融合,计算出新的隐藏状态h(i+1)。

从理论上讲,RNN LMs不需要依赖马尔可夫假设,而是能够利用所有先前的历史信息来预测下一个token。然而,RNN模型固有的梯度消失问题限制了其学习能力。在实际应用中,模型权重主要由近期的历史信息进行更新,这使得RNN LMs难以捕捉当前token与其遥远历史信息之间的依赖关系。尽管如此,通过引入注意力机制,RNN LMs的性能得到了显著提升。然而,由于其固有的顺序性限制,基于Transformer的模型在捕捉长距离依赖方面表现更为出色。

4.5 Transformer

在这里插入图片描述

Transformer架构可以通过基于自注意机制来识别序列中的长期依赖关系和关键分量。与RNN的递归结构不同,transformer在训练和推理过程中能够实现高效的并行处理。其结构如图6所示。它由一个编码器和一个解码器组成。在输入序列被发送至编码器之前,经过嵌入层和位置嵌入处理后,输入会被转换为嵌入形式。多头注意力是多种自我注意力机制的集合,使Transformer能够在token之间捕获更稳健和多样化的注意力。Transformer编码器中的其他组件包括前馈层、残差连接和归一化层。与编码器不同,解码器额外包含掩蔽多头注意力层。这种掩蔽机制确保了解码器只能关注当前token之前的token,从而实现了自回归特性。基于不同的应用场景,Transformer有三种变体:仅编码器、仅解码器和编码器-解码器模型。仅编码器模型能够访问输入的所有位置,并通过双向上下文预测token,适用于需要理解完整句子的任务,如文本分类。仅解码器模型则只能基于前一个token进行预测,适用于文本生成任务,如故事创作。编码器-解码器模型则在编码阶段可访问所有token,在解码阶段仅关注当前token之前的token,适用于按顺序执行的任务,如翻译和摘要。

在这里插入图片描述
在这里插入图片描述

5 预训练语言模型

预训练语言模型(PLM)目前在NLP领域占据重要地位。随着深度学习的演进,相较于传统的统计LMs,PLM在训练和应用方式上发生了显著变化。在进入现实世界的应用场景之前,PLM首先在大规模语料库上进行预训练,以便它们学习掌握句法和语义知识的通用表示。在经过预训练后,PLM针对下游任务进行微调,以便将所获得的知识应用到不同任务中。在本章中,我们首先在5.1节中阐述预训练的目标,然后在5.2节中探讨如何通过微调使PLM适应各种感兴趣的领域。此外,值得注意的是关于PLM的综述论文,例如[23,24,25]等。

5.1 预训练

主流预训练任务以masking任务为主,旨在通过随机屏蔽15%的输入token来估计被屏蔽token的语义信息。此外,其他预训练任务有助于提升语言模型的语言理解能力,例如,下一句预测任务。在BERT中,下一句预测任务被设计为判断两个句子是否连续,这为后续的问答(QA)和自然语言推理(NLI)任务奠定了基础。在T5模型中,无序masking任务被引入,以增强模型对文本表示的鲁棒性。这些任务通过破坏原始序列结构,帮助模型学习更强大的语言表示能力。

5.2 微调,适配器调整和提示调整

PLM在预训练阶段学习非特定任务的语言知识。微调对模型进行特定任务的调整,以便将其应用于不同的下游任务。模型参数在微调阶段进行更新。一种方法是基于不同标签空间和不同下游任务中的损失来设计特定任务的头,然后更新整个模型和特定任务的头部。例如,GPT和BERT在他们的原始论文中添加了一个额外的线性输出层作为特定任务的头部,并对PLM中的整个参数集和各种下游任务的头部进行了微调,如自然语言推理、问答、语义相似性和文本分类。为了使微调机制更具参数效率,可以选择仅更新LM的某些层和任务专用头。
适配器调整被提出,与仅更新PLM的最后一层相比,使微调更加有效。它将额外的紧凑层(称为适配器)注入到原始的PLM中。然后,新的适配器层被更新,而原始PLM的参数在适配器调优期间被冻结。这样,原始PLM的参数可以由不同的下游任务共享。
PLM通过一个或多个预训练目标进行预训练,然后应用于不同的下游任务。预训练任务和下游任务特定微调之间的差距可能很大。提示调整用于通过在微调或推理阶段模拟预训练目标来发现PLM的潜力。随着PLM变得越来越强大,它们可以在没有任何梯度更新或微调的情况下通过查看一些示例来处理各种下游任务。这是通过基于提示的微调(或者简称为提示微调)来实现的。
提示分为离散提示(也称为硬提示)和连续提示(也称软提示)。离散提示是一种自然文本模板,可以由人类手动设计或自动方法。相反,连续提示是嵌入空间中的连续向量,与真实文本不对应。它牺牲了可解释性,但放松了离散提示约束,因为提示应该是真实的文本。
图8显示了MLM的预训练任务、微调和离散提示调整的示例。在预训练中,MLM被训练来预测掩蔽的token。假设下游任务是影评的情绪分析。在标准微调中,我们在PLM的顶部训练一个新的头,并预测情绪标签。原始输入附加了一个设计好的提示,比如“It was”,然后发送到PLM。PLM必须为设计的答案分配概率,这些答案可以是“伟大的”也可以是“可怕的”。如果“伟大”的概率更高,那么输入的标签将是正的,反之亦然。通过这种方式,提示调整将不同的下游任务转换为token预测任务,以缩小预训练和微调阶段之间的差距。

在这里插入图片描述

6 模型评估

LM评估可分为两类:一类是内部评估,另一类是外部评估。内部评估关注生成器的内部特性,而外部评估则分析其在下游任务中的表现。

6.1 内部评价

自回归LM

双向语言模型

6.2 外部评价

任何LMS的下游任务均可作为外部评估工具使用。其中两个广为人知的评估基准是GLUE(通用语言理解评估)和SuperGLUE。GLUE可作为自然语言理解领域的评估基准,该基准涵盖单句任务、相似性任务、转述任务以及推理任务。SuperGLUE被视为GLUE的增强版,它引入了更具挑战性的语言理解任务、更为多样的任务格式、优化的资源配置以及公共排行榜的完善支持。

6.3 内部评价与外部评价之间的关系

如果LM的困惑度较低,是否意味着它在下游任务中表现良好?换句话说,预训练任务(基于token预测任务)与下游任务之间是否存在相关性?关于这一问题的实证研究较多,但理论研究较少。
实证研究
研究人员设计实验以了解LM从预训练任务中学习了哪些知识。具体包括:通过词性标注、成分标注和依赖性标注来衡量句法知识的掌握程度,并通过命名实体标注、语义角色标注和语义原型角色来测试语义知识。实证研究表明,预训练任务有助于LMs学习语法和语义角色等语言知识。然而,这些实验结果仅作为支持token预测任务对下游任务有帮助的证据,无法解释其中的机制。
理论研究
一些研究人员试图从数学上建立LM的困惑度与其在下游任务中的表现之间的联系。文本分类任务中进行了研究。他们首先假设并验证了文本分类任务可以重新表述为句子补全任务。由于预训练任务本质上是一个句子补全任务,因此它确实有助于文本分类下游任务。然后,他们从数学上量化了这种联系,并表明在达到\epsilon优化的LMs特征可以线性地解决具有\mathcal{O}(\sqrt\epsilon)误差的文本分类任务。[115]中使用了一个潜在的生成模型来展示预训练任务与下游任务之间的关系。目前的理论研究较为有限,因为只考虑了一个特定的下游任务(如文本分类任务),并且在某些条件下成立。

6.4 LM评估的超越单一变量

除了在标准化评估测试集上评估LM的性能外,其在现实世界中的应用同样具有重要意义,涵盖效率、偏差、鲁棒性、可解释性和逻辑一致性等多个维度。本节中,我们重点回顾了效率、偏差和稳健性方面的评估,以期为评估工作提供全面的回顾。LM的效率可以从多个维度进行考量,包括推理时间、计算复杂度、能耗、模型规模以及训练数据量等多个方面。一些研究计算了训练PLM所涉及的计算复杂度、近似财务成本及环境影响,并提出了若干切实可行的步骤,以降低NLP研究和应用的经济负担。此外,[118]中对最近开发的PLM模型规模进行了深入探讨。在本文第8节,我们还介绍了几种实现高效LMs的具体方法。表2详细列出了近期开发的LMs在参数数量、训练数据规模、成本投入及运行时间等方面的统计数据。

在这里插入图片描述

NLP中的偏见是指由于种族主义、性别歧视和能力歧视等错误假设而对模型产生的系统偏见。偏见反映在PLM中,因为它们是在大量的真实单词数据上训练的。一些研究已经检验了PLM中的偏见。句子编码器关联测试(SEAT)是在[120]中提出的,用于研究BERT中的偏见。[122]中创建了一个数据集,用于测量多个PLM中对性别、职业、种族和宗教的偏见,包括BERT、RoBERTa、XLNet和GPT-2。[123]中证明,GPT-3在各种任务中始终表现出显著的反穆斯林偏见。[121]中的工作调查了146篇关于NLP中偏见的论文,并为分析NLP系统中的偏见提出了建议。
LMs的稳健性是指当面对不应影响系统输出的输入变化(例如打字错误和拼写错误)时,它们能够有效且一致地执行。换句话说,健壮的LM不应该轻易被对抗性文本所欺骗。最近的研究创建了一组字符或单词级别的扰动,以模拟LMs在现实世界场景中可能遇到的各种类型的噪声。他们研究了最近开发的PLM的稳健性,包括BERT、RoBERTa和XLNets。结果表明,输入扰动,即使是微小的改变,也会损害这些LMs的性能。此外,鲁棒性Gym、WildNLP和TextFlint是为鲁棒性评估而设计的工具。

7 文本生成中的语言模型

LMs的主要应用之一是文本生成,该过程旨在根据输入数据生成相应的单词序列。由于任务目标和输入数据的不同,存在多种文本生成任务类型。例如,在自动语音识别(ASR)任务中,输入为语音序列,输出为相应的文本序列。机器翻译任务基于输入的文本序列和目标语言,生成相应的翻译文本序列。故事生成任务是一种从主题到文本的生成任务。在本节中,我们介绍了文本生成中常用的技术,并详细说明了在具有代表性的任务中如何应用这些技术。

7.1 解码方法

解码器决定了生成文本中下一个输出语言单元的位置和内容。一个有效的解码器应该在给定上下文条件下生成连贯且有意义的延伸内容。随着大型语言模型(LLMs)的复杂度不断提升,解码器的作用日益重要。图9所示,即使采用强大的LLMs,若解码方法存在不足,也会导致生成文本质量下降。文本生成主要采用两种主要的解码方法。

在这里插入图片描述

基于最大化的解码。这是最常用的解码目标。假设该模型将更高的概率分配给更接近人类书写的基本事实的更高质量的文本,则基于最大化的解码策略搜索具有最高概率的token作为生成的文本。贪婪搜索以贪婪的方式选择具有最高概率的token作为下一个token。波束搜索在每个时间步长保持一定数量的最有可能的token,并最终选择具有总体最高概率的生成的token序列。它避免了丢失不具有最高概率的合理token。最近提出了可训练的解码算法。可训练贪婪解码是一种基于神经的解决方案,作为神经机器翻译解码器的一部分。它利用强化学习来找到最大化解码目标的翻译。
基于采样的解码。它从一组采样的token中选择下一个token。由于基于最大化的解码高度依赖于潜在的模型概率,并且会产生退化的重复,因此基于采样的解码通过随机采样增加了生成文本的多样性。然而,简单的纯采样可以选择具有低概率的token(来自不可靠的尾部分布)作为下一个生成的token。因此,生成的文本可能与前缀无关,从而导致语无伦次的胡言乱语。最近提出了Top-k采样和Nucleus采样来解决这个问题。Top-k采样和Nucleus采样均来自截断的LM分布(即,从最可能的token采样)。多样波束搜索是一种基于波束搜索的可训练采样(随机)解码算法。它使用强化学习来确定不同输入或任务的波束分集参数。

7.2 对话系统

对话系统模块旨在模拟与人类用户进行互动时的自然反应。近期的对话系统,如ChatGPT和LaMDA,因其在交互式聊天机器人系统中展现出的卓越性能,已引起了生成式人工智能领域的广泛关注。对话系统可分为任务导向型和开放领域型两大类。任务导向型系统专为特定任务设计,例如在线购物中的客户服务。而开放领域型系统则通常被称为聊天机器人。目前,大多数现代对话系统均基于基础语言模型进行微调构建。以ChatGPT为例,该系统基于一个拥有1750亿个参数的生成语言模型GPT-3进行构建。通过结合监督学习和强化学习的方法,对模型进行了进一步的微调优化。

7.3 自动语音识别

自动语音识别(ASR)是一种语音到文本的生成任务,旨在将原始音频输入转换为相应的文本序列。LM在ASR系统中起着至关重要的作用。首先,它有助于解决声学上模棱两可的话语。其次,它可以通过将搜索空间约束在一组概率较高的单词中来降低计算成本。传统的ASR系统包含两个独立的模型,一个声学模型和一个语言模型,它们通过以下互相关联
\begin{equation}P(word|sound)\propto P(sound|word)P(word). \end{equation}
声学模型以电话P(sound|word)为条件,而LM给出由P(word)表示的单词分布。LMs有助于在识别过程中搜索单词假设。在ASR中已经探索了不同类型的LM,如N-gram、FFNN、RNN和Transformer。
随着深度学习技术的发展,端到端(E2E)ASR系统已成为当今该领域的主导方法。E2E ASR系统不独立地训练声学模型和语言模型,而是使用单个网络架构。例如,Listen,Attend and Spell(LAS)模型包含编码器、解码器和注意力网络,它们被联合训练以预测输出文本序列。E2E ASR系统中的LM分量是从转录的语音数据中隐式学习的。为了解决LM训练的有限转录语音数据的挑战,一种解决方案是使用LM集成来集成在广泛的文本语料库上训练的外部语言模型。浅融合在解码阶段考虑来自E2E ASR模型和外部LM的分数之间的对数线性插值。深度融合通过融合外部LM和E2E ASR模型的隐藏状态来整合它们。与分别训练E2E ASR模型和外部LM的浅融合和深融合不同,冷融合和分量融合联合训练E2E ASR模型和外部LM。

7.4 机器翻译

机器翻译是一种基于文本的生成任务,将源语言文本转换为目标语言文本。在机器翻译中,语言模型(LMs)是基于源句和先前部分的翻译作为条件的。端到端(E2E)机器翻译模式已成为当前的主要应用方式。语言模型通过端到端训练隐式地掌握了语言规律。最近,基于Transformer架构的模型在机器翻译领域取得了突破性进展。与语音识别的进步模式相似,通过语言模型集成技术,可以将多个单语语料库训练的外部语言模型整合到端到端机器翻译模型中。值得注意的是,尽管许多预训练语言模型(PLMs)在经过明确的源语言和目标语言平行数据训练前从未受过这种数据,但它们在机器翻译任务中展现了良好的小样本或零样本性能。

7.5 生成文本检测

随着大语言模型(LMs)的性能逐渐逼近甚至超越人类水平,其滥用现象主要体现在生成假新闻和假产品评论。评估生成文本的真伪能力至关重要。在机器生成文本检测领域,可将其分为两类:第一类是人工编写与机器生成文本的区分,第二类是恶意文本与真实文本的辨别。目前,绝大多数数据集集中于第一类问题的研究,而第二类问题更具挑战性,需要将生成文本与事实信息建立联系,这要求模型具备高级知识推理能力。

一种检测方法基于语言模型的概率分布特性,通过比较生成文本的概率分布与已知真实文本的相似度,判断文本的真伪。另一种方法则通过监督学习训练分类器,将生成文本的分布转化为有监督的二进制分类任务。有关检测技术的详细讨论,读者可参考两篇综述论文。

8 高效模型

随着PLM的发展越来越迅速,它们在模型规模、训练成本以及对训练数据的需求方面都呈现出了显著增长的趋势。这些模型对高计算资源和高能耗有强烈的需求,这使得它们难以在实际应用中得到更广泛的推广。表2列出了最近开发的LM模型的大小、训练数据量、成本和所需时间。这一问题引起了广泛关注,高效LM的构建也成为研究热点。

8.1 数据使用

在这里插入图片描述
在这里插入图片描述

预训练数据大小。PLM训练的一个关键问题是需要多少数据。[174]中研究了预训练数据大小对RoBERTa模型的影响。作为预训练数据集大小的函数的四个模型性能度量的学习曲线如图10所示。当数据大小在100M到1B单词之间时,三条学习曲线逐渐趋于平稳,这意味着LMs编码了大多数句法和语义特征。然而,LMs需要大量的数据来获得足够的常识知识和其他技能,以在下游NLU任务中获得更好的性能。
高效的预训练。已经提出了几种方法来更有效地使用预训练数据。在掩蔽LMs的预训练中,一定百分比的token被掩蔽,并且需要通过上下文来推断。这种方法产生了大量的计算成本,因为网络只从被屏蔽的特定百分比的token中学习。为了提高训练效率,[46]中的工作使用了“替换的token检测”(而不是“屏蔽的token预测”)作为预训练任务。如图11所示,训练生成器来执行掩蔽LM并预测掩蔽token。然后,主模型作为一个鉴别器,称为ELECTRA,它学习决定原始或替换的token。通过这种方式,对所有token而不是屏蔽token的一小部分执行预训练任务。从所有输入位置学习导致ELECTRA比采用掩蔽token预测的BERT训练得快得多。此外,ELECTRA在完全训练的情况下,在下游任务上实现了更高的准确性。后来,在[175]中提出了一种使用基于能量的模型的新的预训练任务,该任务与ELECTRA密切相关。
衔接预训练和下游任务。一个典型的预训练任务是token预测,它通常与下游任务有很大的差距。为了缓解预训练和下游任务之间的差距,中对提示调整进行了研究。如图8所示,头部被训练来预测掩蔽LMs中的掩蔽token。对于下游情绪分析任务,在传统的微调中,头部被训练来预测正面或负面标签。模板(例如“It was”)及其预期的文本响应(例如“great”和“可怕”)用于提示调整。通过这种方式,预训练和提示调优共享相同的“token预测”目标。

8.2 模型大小

在提升训练效率的同时,高效的LM致力于设计更精简的模型架构。研究者们探索了多种方法以降低模型体积,从而在移动和边缘设备上实现高效的推理。模型压缩技术的研究已取得显著进展。通常,压缩过程包括两步:首先训练一个大型语言模型,然后将其精简至所需尺寸。具体方法包括模型剪枝、知识蒸馏、低秩矩阵近似以及参数共享等技术。

8.3 推断延迟

推理效率对语言模型(LM)具有重要意义,尤其是在实时应用中。在相同配置下,更小尺寸的模型通常能够实现更快的推理速度。通过蒸馏、剪枝和低秩矩阵近似技术,可以显著提升推理效率的同时减少模型规模。例如,DistilBERT作为BERT的蒸馏版本,在保持核心功能的同时,其推理速度提高了60%。此外,[177]的研究表明,通过修剪预训练语言模型(PLM),可以实现推理速度的两倍提升。在推理速度方面,另一种提升途径是采用非自回归生成模型(NAG)。这些模型能够同时预测每个token,从而显著提升了推理速度。然而,尽管NAG模型在推理速度上具有优势,但其性能通常不如自回归模型,因为未考虑输出文本中token之间的前向或后向依赖关系。

9 未来研究方向

在本节中,我们描述了语言建模中几个有前途的未来研究方向。

9.1 LM和KG的集成

知识图谱(KG)表示了人类知识的结构化形式。由于其能够表示实体之间的关系,知识图谱(KG)在多个NLP领域中得到了广泛应用,例如问答系统和文本摘要任务。在评估语言模型(PLM)在知识表示方面的性能,其中不同语义单元之间的关系通过嵌入空间和自注意层进行建模。知识图谱(KG)为评估提供了关键的基准,其中不同语义单元之间的关系通过嵌入空间和自注意层进行建模。在训练阶段,基于从训练语料库中提取的信息构建知识图谱(KG),并且可以同时训练语言模型(LM)。在推理阶段,语言模型(LM)可以作为人类知识和以知识图谱(KG)形式表示的知识之间的接口。将语义和句法处理任务分别分配给知识图谱(KG)和语言模型(LM)是有益的。例如,知识图谱(KG)处理语义理解,而语言模型(LM)处理句法生成。这种解耦促进了增量学习,允许更小的模型规模,并提高了模型的可解释性。在后续内容中,将详细阐述这一观点。

9.2 增量学习

增量学习旨在整合新信息,而无需完全重新训练现有模型。[205]中指出了与神经网络模型相关的灾难性遗忘问题。也就是说,当使用新信息进行训练时,模型已经学习到的信息可能会逐渐被遗忘。这个问题对大型LMs来说尤其关键,因为新信息不断出现。[206]中提出了一种解决灾难性遗忘的方法。它试图通过放慢对与先前重要任务更相关的权重的学习来记住这些任务。然而,很难定义LMs中的重要任务。此外,使用旧数据和新数据重新训练大型LM的成本太高。LMs的终身学习是容纳新数据以更新LMs中知识的另一种解决方案。它值得进一步探索。
为LMs开发一个令人满意的增量学习解决方案的重要性再怎么强调也不为过。增量学习对神经网络来说是一项挑战。然而,KGs很容易通过添加或删除事实三元组来向现有数据库添加新数据(或从中删除旧数据)。很明显,KGs中的当前信息不会被新收集的数据覆盖。数据库中的信息以递增方式更新。为此,KGs和LMs的集成提供了一个极好的解决方案,满足了增量学习的需求。

9.3 轻量模型

如第8节所述,基于巨大的计算资源和能源消耗的投入,PLM在性能上得到了显著提升。在大型语言模型(LLM)的开发过程中,需要认真考虑成本问题。此外,由于其高碳足迹,LLM对环境造成不利影响。绿色学习(GL)的目标是提供低碳足迹的学习解决方案。近年来,研究人员在不牺牲性能的前提下,致力于设计更小尺寸和计算复杂度更低的轻量级模型,这一趋势日益明显。绿色LMs的设计成为一个值得深入研究的重要课题。当前的PLM是基于神经架构从大量数据中学习通用语言知识的数据驱动模型。尽管在开发轻质LMs方面取得了一定进展,但现有方法仍存在局限性。模型压缩是获得小型LM的常用手段之一,例如知识蒸馏或模型修剪等技术。然而,这些方法本质上是一种绕道而行,因为它们通过训练大型模型后再进行压缩来实现目标。相反,我们可以结合语言信息和领域知识,探索一种更直接的方法来减少模型大小和训练数据需求。

9.4 通用模型与领域特定模型

开发了一个通用语言模型,旨在处理一般领域的任务。例如,像ChatGPT这样的通用对话语言模型,在多语言和通用领域语料库上进行了预先训练。它能够用多种语言进行开放领域主题的对话。相比之下,领域特定的语言模型则专注于特定任务,例如生物医学、经济学或音乐学等领域。

构建通用语言模型需要巨大的模型规模、大量标注数据以及高性能计算资源。根据神经语言模型的可扩展性原则,推理性能会随着模型规模、数据量和训练计算量的增加而呈幂律增长。到目前为止,已知的最大预训练语言模型(PLM)拥有5400亿个参数。尽管该模型在性能和多任务适应性方面表现出色,但我们可能需要评估其规模是否与其成本效益相符。

与通用LM相比,领域特定的LM通常需要较少的训练数据。研究者认为,通用PLM能够为特定领域LM的训练提供基础支持。然而,根据[217]的研究,从头开始在领域内数据上进行预训练的领域特定LMs已经在生物医学自然语言处理领域取得了坚实的基础。换句话说,在较少的特定任务场景中进行训练和推理的领域特定LMs在未来可能会受到更多的关注。

9.5 可解释模型

尽管在NLP领域,基于深度学习的方法占据主导地位,但它们本质上缺乏数学解释的黑箱特性。这种可解释性令人担忧。尽管如此,人们已经采取了一些措施来解释这些黑箱模型。例如,如第6.3节所述,进行了实证研究,以探索PLM通过实验设计学到了什么。然而,这些进展可能仅能提供部分洞见,但并不足以满足人们对这一领域的全面理解。目前,理论解释或构建可解释的LMs仍然是一个具有挑战性和开放性的问题。可解释性的一个重要方向是从零开始设计一个可解释的学习架构。例如,我们可以将知识图谱与语言模型整合在一起。众所周知,知识图谱在提升系统的可解释性和透明度方面具有显著作用,如在信息检索和推荐系统中表现突出。例如,当结合知识图谱进行推理时,可以为推理路径和数据来源提供清晰的解释。然而,语言模型在实现这一点方面面临巨大挑战。开发一种可解释的LM以避免其在自然语言生成中产生幻觉,对于提升模型的可靠性和可信度至关重要。

9.6 机器生成的文本检测

生成模型在文本生成方面具有广泛的应用。随着生成模型的性能逐渐逼近甚至超越人类的能力,这些模型可能被用于一系列恶意目的,包括学术不端行为、垃圾邮件生成、针对特定机器人系统的恶意攻击,以及假新闻或评论的生成。确定文本的生成来源,无论是由机器生成还是由人类编写,目前仍是一个重要的挑战。尽管具有高性能的机器生成文本分类器可以作为参考工具,但其存在假阳性(将人工书写的文本误判为机器生成)和假阴性(将机器生成的文本误判为人工书写)的问题。此外,用户可能更关注的是真实文本与虚假文本之间的区分,而非仅仅从技术角度进行分类。从这个角度来看,检测虚假信息的难度可能高于对未评估真实性的混合检测方法。随着时间的推移,事实本身也在不断变化。因此,开发出有效的工具来识别生成模型的恶意使用,对我们的社会具有重要意义。

10 结论

本文系统性地介绍了CLM及其后续发展PLM,涵盖了多个领域。首先,阐述了不同层级的语言单元,并探讨了基于语言单元预测的训练方法。其次,分析了语言模型所采用的标记化方法。第三,回顾了PLM的语言模型体系结构及其训练方法。第四,深入研究了语言模型的评价指标和实际应用。特别是,详细探讨了文本生成中的典型应用案例。最后,探讨了未来研究方向,强调了对可解释性、可靠性和轻量化需求的关注。

全部评论 (0)

还没有任何评论哟~