LLM系列相关文章,针对《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 语言模型结构
- 4.1 N元模型
- 4.2 最大熵模型
- 4.3 前向神经网络模型
- 4.4 循环神经网络模型
- 4.5 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 LM和KG的集成
- 9.2 增量学习
- 9.3 轻量模型
- 9.4 通用模型与领域特定模型
- 9.5 可解释模型
- 9.6 机器生成的文本检测
- 10 结论
摘要
语言建模研究文本串上的概率分布。它是自然语言处理中最基本的任务之一。它已被广泛用于文本生成、语音识别、机器翻译等。传统的语言模型(CLM)旨在以因果方式预测语言序列的概率,而预训练语言模型(PLM)涵盖了更广泛的概念,可用于因果序列建模和下游应用的微调。PLM有自己的训练范式(通常是自我监督的),并作为现代NLP系统的基础模型。本文从语言单元、结构、训练方法、评估方法和应用五个方面介绍了CLM和PLM。此外,我们还讨论了CLM和PLM之间的关系,并阐明了预训练时代语言建模的未来方向。
1 引言
语言建模研究一系列语言单元(如单词)上的概率分布。它是自然语言处理中最基本的任务和长期存在的研究课题之一。所开发的语言模型在许多计算语言学问题中得到了应用,如文本生成、机器翻译、语音识别、自然语言生成、问答系统等。
语言建模有两种主要方法:1)基于相对较小语料库集的统计方法,以及2)基于明显较大语料库集的数据驱动方法。传统的语言模型以因果方式预测语言序列的概率。它们可以通过两种语言建模方法来学习。数据驱动方法已成为当今的主流。它利用大量的语料库来训练神经网络模型,从而产生预训练语言模型(PLM)。然后使用特定任务的数据集和下游应用程序的目标对PLM进行微调。在这篇综述文章中,我们将CLM定义为以因果方式预测语言序列概率的语言模型。相比之下,PLM指的是针对广泛的语言任务和目标预先训练的语言模型。需要注意的是,这两个概念并非排他性的。一个LM可以分为两类。例如,GPT模型可以以因果方式预测语言序列的概率。他们还接受了各种下游任务的预先训练。我们对CLM和PLM进行了概述,并从五个角度对其进行了研究:1)语言单元,2)架构,3)训练方法,4)评估方法和5)应用。最后,我们指出了未来的几个研究方向。
CLM的目标是对语言单元序列上的概率分布进行建模:
P ( u 1 , u 2 , ⋯ , u t ) , \begin{equation}P(u_1,u_2,\cdots,u_t), \end{equation} P(u1,u2,⋯,ut),
其中 u i u_i ui可以是字符、单词、短语或其他语言单位。CLM试图在给定其先前上下文的情况下预测文本序列中的下一个语言单元:
P ( u t ∣ u < t ) , \begin{equation}P(u_t|u_{<t}), \end{equation} P(ut∣u<t),
CLM也称为自回归语言模型,因为单位是以因果方式预测的。如等式(1)所示估计文本序列的概率直接遇到数据稀疏性问题。CLM通常通过将文本序列分解成更小的单元来估计文本序列的联合概率。例如,CLM利用链式规则和条件概率来估计以下形式的联合概率
P ( u 1 , u 2 , ⋯ , u t ) = P ( u 1 ) P ( u 2 ∣ u 1 ) P ( u 3 ∣ u 1 , u 2 ) ⋯ P ( u t ∣ u 1 , u 2 , ⋯ , u t − 1 ) . \begin{equation}P(u_1,u_2,\cdots,u_t)=P(u_1)P(u_2|u_1)P(u_3|u_1,u_2)\cdots P(u_t|u_1,u_2,\cdots,u_{t-1}). \end{equation} P(u1,u2,⋯,ut)=P(u1)P(u2∣u1)P(u3∣u1,u2)⋯P(ut∣u1,u2,⋯,ut−1).
在预训练时代之前,CLM通常是用训练语料库从头开始训练的,然后通过各自的应用预测文本序列的概率。代表性模型包括N-gram LM、指数LM和早期神经LM。CLM为在现实世界中频繁出现的自然文本序列提供了很高的概率。因此,它们在文本生成、语音识别和机器翻译中发挥着基本作用,直到PLM的出现。如今,高性能PLM是许多NLP系统的主干。它们不限于CLM的因果预测功能,并提供更多不同类型的LM。
预训练时代之前的CLM和PLM之间的差异可以总结如下。
- 训练方法。随着深度学习的发展,具有神经网络结构的PLM通过大量未标记语料库的集合进行预训练,以学习通用知识,然后通过特定任务的微调将其转移到下游任务。
- 因果关系约束。PLM在预测语言单位时不一定遵循CLM,如等式(2)所示。例如,双向LM通过概率估计使用先前和后续上下文来预测缺失的语言单元:
P ( u t ∣ u < t , u > t ) . \begin{equation}P(u_t|u_{<t},u_{>t}). \end{equation} P(ut∣u<t,u>t).
双向LMs不遵循等式(3)中的因果关系约束和链式规则,访问文本序列的概率,这使其与CLM本质上不同。 - token表示。除了训练范式和概率建模的差异外,PLM对称为token的基本单元采用了不同的表示。PLM通过将它们嵌入到高维连续空间中来表示token,例如单词嵌入和句子嵌入。新的表示提供了一个灵活而强大的工具,使PLM能够处理广泛的任务。
本概述文章有两个目的。一方面,我们的目标不是只关注最近开发的PLM,而是全面概述LM的基本概念、从CLM到PLM的过渡、LM的最新发展以及对该领域初学者的应用。另一方面,我们希望阐明未来的研究方向,并向NLP领域经验丰富的工程师和研究人员提供我们的展望。例如,我们在调查中涵盖了大型LMs,因为由于ChatGPT提供的新服务,人们对LLM的兴趣越来越大。此外,我们将高效LM作为一个新兴的主题,因为人们越来越担心LLM的大模型规模和高训练成本。
论文的其余部分组织如下。我们在第2节中介绍了几种超越CLM的LMs,并在第3节中概述了将文本序列分解为较小语言单元的常见方法。第4节介绍了不同的模型体系结构。我们在第5节中讨论了LMs的训练程序。第6节介绍了常见的评估方法,包括内在评估方法和外在评估方法。第7节讨论了LMs在文本生成中的应用。我们在第8节中评论了LMs的冗余问题,并分析了高效LMs的技术。第9节指出了未来有希望的研究方向。结论见第10节。
2 语言模型的类型
CLM通常指的是自回归模型,该模型在给定先前上下文的情况下预测下一个语言单元,如等式(2)所示。LM可以使用链式规则来访问文本序列的概率。CLM的目标是以因果方式解码文本序列的概率。在本节中,我们将介绍更多超越CLM的LM。
2.1 结构化LM
结构LM不是按顺序或反向顺序预测语言单元,而是基于预定义的语言结构(如依赖或成分解析树)预测语言单元。结构LMs利用语言结构使语言相关的上下文更接近要预测的语言单元。例如,给定一个解析树结构,结构LM可以将 u t u_t ut的祖先上下文 A ( u t ) A(u_t) A(ut)定义为从根节点到 u t u_t ut的父节点的序列。例如,单词“strong”的祖先序列是图1中的{“bicatears”、“saw”、root}。然后,结构LM使用树中的祖先上下文来预测下一个语言单元为
P ( u t ∣ A ( u t ) ) , \begin{equation}P(u_t|A(u_t)), \end{equation} P(ut∣A(ut)),
其中 A ( u t ) A(u_t) A(ut)是语言单元 u t u_t ut的祖先上下文。与CLM类似,结构LMs被设计用于对文本序列的概率进行建模。不同的是,结构LMs按照其合成结构的顺序解码序列概率。它已成功应用于句子补全和语音识别。
2.2 双向LM
双向LMs不是使用因果上下文来进行预测,而是使用来自两个方向的上下文,如等式(4)所示。掩蔽LM是一种代表性的双向LM。它屏蔽了文本序列中的语言单元,然后对其前后上下文进行编码,以预测被屏蔽的语言单元。形式上,预测可以定义为对以下条件概率的估计
P ( u m ∣ S ˉ ) , \begin{equation}P(u_m|\bar S), \end{equation} P(um∣Sˉ),
其中 u m u_m um是掩蔽的语言单元, S ˉ \bar S Sˉ是通过用[MASK]符号替换一定数量的语言单元而损坏的文本序列。双向LMs的目标是以无监督的方式学习语言单元之间的内部依赖关系。训练后的模型可以继承大规模未标记语料库的语义。与旨在对文本序列的生成概率进行建模的CLM不同,在各种下游应用中,预训练的双向LMs被用作通过进一步微调来传递所学知识的骨干。
2.3 置换LM
CLM和掩蔽LMs有各自的优点和缺点。掩码LM需要创建诸如[mask]之类的人工token,这些token从不出现在下游任务中,而CLM仅以前面的上下文为条件。置换LM是最近提出的LM,它利用了CLM和掩蔽LM。给定语言单元的输入序列,排列LMs将输入语言单元的顺序随机化,并构造输入序列的不同排列。图2显示了给定输入文本序列的不同排列的示例。设 Z \mathbb{Z} Z是所有可能排列的集合。置换LMs预测序列的一个置换 Z Z Z中的下一个语言单元 u t u_t ut,基于
P ( u t ∣ u < t Z ) , Z ∈ Z . \begin{equation}P(u_t|u^Z_{<t}),Z\in\mathbb{Z}. \end{equation} P(ut∣u<tZ),Z∈Z.
3 语言单元
为了估计文本序列的概率,LM将文本序列划分为小的语言单元,如字符、单词、短语或句子。这个过程被称为标记化。由此产生的语言单位被称为token。不同的语言和模型可能具有不同的适当标记化方法。在这里,我们关注英语,并将其作为一个例子。在本节中,我们将根据单元大小检查语言建模中使用的典型标记化方法。
3.1 字符
LM可以基于字符对文本序列概率进行建模。与其他语言学单元相比,使用字符的词汇量要小得多,导致离散空间和模型大小更小。另一方面,预测下一个角色也很有挑战性。通常,它需要一个长期的历史背景。这使得字符级LMs的性能比单词级LMs差。此外,输入和输出长度必须更长,才能准确地对字符分布进行建模。这导致更高的计算成本,特别是对于自回归解码。几种LM方法使用单词和字符的组合来缓解这个问题。
3.2 单词和子单词
英语最自然的标记化是通过空格将文本序列分解为单词。许多LM应用单词标记化。然而,朴素的单词标记化存在几个问题。第一个问题是词汇外(OOV)问题。因为LM具有预定义的词汇表大小,不能任意大。不太频繁的单词和具有字符级错误的单词可能不会存储在预定义的词汇表中。因此,它们无法从字典中检索到。尽管可以扩展词汇大小来缓解这个问题,但它会增加模型大小,并且仍然无法处理所有可能的单词。
超过单词级别的LM仍然存在OOV问题,而单个字符本身就没有语义意义。最近,研究人员倾向于将字典中没有的单词分解为子单词。这为OOV问题提供了一个灵活有效的解决方案。为了提高LMs的性能,开发了几种子词分割算法。它们在单词级模型的良好性能和字符级模型的灵活性之间取得了平衡。下面介绍了两种基于统计学和语言学的子词分割方法。
3.2.1 基于统计的字词向量化
基于统计的子词标记器纯粹基于语料库生成子词词汇。相关的方法是从压缩的角度推导出来的。它们的工作原理是用当前词汇表中不存在的新符号(单词)替换常见的字符序列。那么,信息传输所需的字节就更少了。
字节对编码(BPE)。BPE是一种简单的数据压缩技术,它递归地用一个未使用的字节替换序列中最常见的一对字节。采用它来解决分词问题。也就是说,频繁字符或字符序列被合并以生成子字。BPE也被一些高级PLM使用,如GPT-2和RoBERTa,并使用以下算法,称为BPE合并操作。
- 1.准备一个训练语料库,并定义子词词汇的大小。
- 2.将所有单词拆分成字符。
- 3.通过合并具有最高频率的一对字符或子字来生成新的子字。
- 4.重复步骤3,直到达到所需的词汇量。
图3给出了在一个小字典上进行的BPE合并操作的说明。
WordPiece。WordPiece是另一种数据驱动的子字算法。WordPiece和BPE之间的区别在于,如果A和B在每个迭代步骤中具有最高分数 P ( A B ) / P ( A ) P ( B ) P(AB)/P(A)P(B) P(AB)/P(A)P(B)(而不是最高频率 P ( A B ) P(AB) P(AB))。例如,WordPiece合并图3中的“u”和“g”对,只有当它们与其他对相比具有最高值 P ( ′ u g ′ ) / P ( ′ u ′ ) P ( ′ g ′ ) P('ug')/P('u')P('g') P(′ug′)/P(′u′)P(′g′)时。在BERT、DistilBERT和Electra中,WordPiece被用作标记化方法。
还有其他基于统计的子词标记器,如Unigram。SentencePiece、Huggingface标记器和OpenNMT都是流行的标记器。它们的实现包含基于统计的子词标记化。研究了不同的子词标记器及其性能比较。
3.2.2 基于语言学的字词向量化
基于语言学的子词标记器利用语言学知识,将单词分解为更小的语法单元,如语素或音节。这种子词标记器广泛用于不同语言之间的机器翻译和语音识别。例如,在机器翻译中,通过复合、词缀或屈折形成的单词可以通过分别翻译语素来方便地翻译。然而,由于语言分解的复杂性和基于规则的性质,基于语言学的子词标记器不如基于统计的子词标记器受欢迎。
3.3 短语
一个单词的语义可能由于上下文和搭配的不同而模糊不清。由于语言学词典没有超越单词层面,因此忽略了单词间的依赖关系。短语级别的LMs用短语取代常见的和有凝聚力的单词序列。短语级别的LMs适用于某些应用。例如,在[58]中观察到,在自动语音识别(ASR)中,音节较少的短单词比长单词更容易被误认。由于短语提供的电话序列比其组成部分更长,因此它们对ASR的识别错误更具鲁棒性。
3.4 句子
具有较小语言单元(例如,字符、单词、子单词和短语)的自回归LM依赖于条件概率来估计文本序列的概率,如等式(3)所示。句子级别的LMs避免使用链式规则。它们生成句子特征,然后直接对句子概率进行建模。这是因为直接对句子概率进行建模比等式(3)中的建模更方便。在对句子级信息进行编码时。对语句间信息(例如对话流中先前话语的效果)进行编码也更容易。
4 语言模型结构
在本节中,我们对几种常见的架构进行了调查,以对文本序列的概率分布进行建模。它们是N-gram、最大熵和神经网络模型。虽然还有其他LM架构,如高斯混合LMs和隐马尔可夫LMs,但由于它们在研究界很受欢迎,我们将重点放在上述架构上。此外,LMs可以在不同级别的语言单元上运行。为了与最近的文献保持通用性和一致性,在本文的其余部分中,我们使用“token”一词来指代不同LMs所使用的所有语言单位。
4.1 N元模型
一个N-gram由一个文本序列中的N个连续标记组成。N-gram LM假设一个token的概率仅取决于其前面的N-1个token,并且它独立于其他上下文。这就是所谓的马尔可夫假设。因此,N元LMs不使用所有历史上下文,而是仅使用先前的N-1个token来预测当前token;即
P ( u t ∣ u < t ) = P ( u t ∣ u t − N + 1 : t − 1 ) . \begin{equation}P(u_t|u_{<t})=P(u_t|u_{t-N+1:t-1}). \end{equation} P(ut∣u<t)=P(ut∣ut−N+1:t−1).
N-gram LMs通过计算给定训练语料库的N-gram的出现时间来计算条件概率
P ( u t ∣ u t − N + 1 : t − 1 ) = C ( u t − N + 1 : t ) C ( u t − N + 1 : t − 1 ) . \begin{equation}P(u_t|u_{t-N+1:t-1})=\frac{C(u_{t-N+1:t})}{C(u_{t-N+1:t-1})}. \end{equation} P(ut∣ut−N+1:t−1)=C(ut−N+1:t−1)C(ut−N+1:t).
N-gram LMs简化了基于先前N-1个token的token概率计算,但它们遇到了两个稀疏性问题。首先,如果训练语料库中从未出现N-gram ( u t − N + 1 : t ) (u_{t-N+1:t}) (ut−N+1:t),则下一个token为 u t u_t ut的概率为零。其次,如果分母中的(N-1)gram ( u t − N + 1 : t − 1 ) (u_{t-N+1:t-1}) (ut−N+1:t−1)从未发生,我们就无法计算任何token的概率。这些稀疏性问题可以通过平滑技术来缓解。一种简单的平滑方法,称为加法平滑,是在每N-gram的计数上加一个小值,以避免等式(9)中分子和分母为零。然而,这种简单的平滑仍然是不足的,因为它为训练语料库中从未出现的N-grams分配了相同的概率。
有更先进的平滑技术,如后退和插值,可以实现更好的概率估计。在退避中,如果没有出现高阶N-gram,则使用低阶N-gram进行概率估计。例如,如果 C ( u t − 3 : t − 1 ) = 0 C(u_{t-3:t-1})=0 C(ut−3:t−1)=0,则我们回退到计算 P ( u t ∣ u t − 2 : t − 1 ) P(u_t|u_{t-2:t-1}) P(ut∣ut−2:t−1)。在插值中,条件概率计算考虑了不同的N-grams。从数学上讲,N-gram概率由
P ( u t ∣ u t − N + 1 : t − 1 ) = λ N P ( u t ∣ u t − N + 1 : t − 1 ) + λ N − 1 P ( u t ∣ u t − N : t − 1 ) + λ N − 2 P ( u t ∣ u t − N − 1 : t − 1 ) + ⋯ + λ 1 P ( u t ) . \begin{gather}P(u_t|u_{t-N+1:t-1})=\lambda_NP(u_t|u_{t-N+1:t-1})+\lambda_{N-1}P(u_t|u_{t-N:t-1}) \notag \\ +\lambda_{N-2}P(u_t|u_{t-N-1:t-1})+\cdots+\lambda_1P(u_t). \end{gather} P(ut∣ut−N+1:t−1)=λNP(ut∣ut−N+1:t−1)+λN−1P(ut∣ut−N:t−1)+λN−2P(ut∣ut−N−1:t−1)+⋯+λ1P(ut).
其中 λ i \lambda_i λi是每一个n-gram的权重,同时 ∑ i = 1 N λ i = 1. \sum^N_{i=1}\lambda_i=1. ∑i=1Nλi=1.
4.2 最大熵模型
最大熵模型(也称为指数模型)使用以下形式的特征函数来估计文本序列的概率
P ( u ∣ h ) = e x p ( a T f ( u , u < t ) ) ∑ u ′ e x p ( a T f ( u ′ , u < t ′ ) ) , \begin{equation}P(u|h)=\frac{exp(a^Tf(u,u_{<t}))}{\sum_{u'}exp(a^Tf(u',u'_{<t}))}, \end{equation} P(u∣h)=∑u′exp(aTf(u′,u<t′))exp(aTf(u,u<t)),
其中 f ( u , u < t ) f(u,u_{<t}) f(u,u<t)是特征函数,生成token u u u的特征和它的历史上下文 u < t u_{<t} u<t, ∑ u ′ e x p ( a T f ( u ′ , u < t ′ ) ) \sum_{u'}exp(a^Tf(u',u'_{<t})) ∑u′exp(aTf(u′,u<t′))是归一化因子,同时 a a a是通过广义迭代缩放算法导出的参数向量。这些特征通常是由N-grams生成的。
4.3 前向神经网络模型
即使使用先进的平滑技术,N-gram模型的离散性也是其性能瓶颈。神经LMs采用连续嵌入空间(分布式表示)来克服数据稀疏性问题。前馈神经网络(FNN)LMs是早期的神经网络模型之一。
FNN LM以历史上下文为输入,并输出token的概率分布。如图4所示,前面上下文中的每个token都通过投影层(即嵌入矩阵)表示为向量。token的这些向量被发送到具有H个隐藏单元的隐藏层,随后是非线性激活。然后,使用softmax函数来获得候选token的后验概率 P ( u t = i ∣ u t − N − 1 : t − 1 ) P(u_t=i|u_{t-N-1:t-1}) P(ut=i∣ut−N−1:t−1),其是给定由语言模型预测的特定历史的token的概率。
FNN LM使用固定窗口来收集固定长度的上下文。它本质上是N-gram LMs的神经版本。FNN-LM通过将token投影到连续空间中而比N-gram LM具有几个优点。首先,它可以通过将每个token表示为具有密集向量空间的N-gram来处理看不见的N-gram。其次,它是存储高效的,因为它不需要计算和存储传统N-gram模型的转移概率。
4.4 循环神经网络模型
使用固定长度的历史上下文来预测下一个token显然是不够的。与N-gram、最大熵和FNN LMs中使用的有限历史上下文相反,递归神经网络(RNN)LMs可以利用任意长的历史来预测下一个token。
朴素RNN LM的结构如图5所示。位置 i i i中的token u ( i ) u(i) u(i)首先被转换为独热表示 u ^ ( i ) \hat u(i) u^(i)。然后,使用先前的隐藏状态 h ( i ) h(i) h(i)和token u ( i ) u(i) u(i)的独热表示 u ^ ( i ) \hat u(i) u^(i)来计算当前的隐藏状态 h ( i + 1 ) h(i+1) h(i+1)
h ( i + 1 ) = f ( W u ^ ( i ) + U h ( i ) ) , \begin{equation}h(i+1)=f(W\hat u(i)+Uh(i)), \end{equation} h(i+1)=f(Wu^(i)+Uh(i)),
其中 f ( ⋅ ) f(\cdot) f(⋅)是非线性激活函数,W是从输入层到隐藏层的连接的权重矩阵,U分别是先前和当前隐藏层之间的连接。通过迭代计算隐藏状态,RNN LMs可以对不同长度的历史上下文进行编码。最后,输出层给出了toekn y ( t ) = g ( V h ( t ) ) y(t)=g(Vh(t)) y(t)=g(Vh(t))的条件概率,其中V是连接隐藏层和输出层的权重矩阵, g ( ⋅ ) g(\cdot) g(⋅)是softmax激活函数。
在理论上,RNN LMs不需要马尔可夫假设。他们可以使用所有先前的历史来预测下一个token。然而,RNN固有的梯度消失问题阻碍了模型的学习。由于梯度在长距离内可能会变得非常小,因此在实践中,模型权重实际上是由附近的上下文更新的。通常,RNN LMs无法了解当前token与其遥远的历史上下文之间的依赖关系。尽管可以在RNN中引入注意力机制来缓解这个问题。RNN固有的顺序性使其不如具有自注意机制的基于Transformer的LMs强大。
4.5 Transformer
Transformer架构可以通过利用自注意机制来捕获长期依赖关系和重要的序列分量。与RNN的递归结构不同,transformer在训练和推理中都很容易并行化。其结构如图6所示。它由一个编码器和一个解码器组成。在被发送到编码器之前,输入文本序列首先通过嵌入层加上位置嵌入被转换为嵌入。
多头注意力是多种自我注意力机制的集合,使Transformer能够在token之间捕获更稳健和多样化的注意力。Transformer编码器中的其他部分包括前馈层、残差连接和归一化层。Transformer编码器和解码器之间的区别在于Transformer解码器具有额外的掩蔽多头注意力层。掩码确保解码器只能访问当前token的先前token,这使得解码器自回归。
基于不同的目的,Transformer有仅编码器、仅解码器和编码器-解码器三种变体,如表1和图7所示。仅编码器模型可以访问给定输入的所有位置,并利用双向上下文来预测token。它们适用于需要理解完整句子的任务,例如文本分类。仅Transformer解码器模型只能使用以前的token来预测当前token(即自回归模型)。他们擅长文本生成任务,例如故事生成。Transformer编码器-解码器模型可以在编码阶段访问所有token,在解码阶段访问当前token之前的token。它们适用于按顺序执行的任务,如翻译和摘要。
5 预训练语言模型
预训练语言模型(PLM)目前在NLP领域占据主导地位。随着深度学习的发展,与传统的统计LMs相比,PLM的训练和使用发生了很大变化。在应用于现实世界的任务之前,PLM首先在大量语料库集合上进行预训练,以便它们学习携带句法和语义知识的通用表示。在预训练之后,PLM针对下游任务进行微调,以便将获得的知识转移到不同的任务中。在下文中,我们首先在第5.1节中解释预训练目标,然后在第5.2节中讨论如何通过微调使PLM适应各种感兴趣的任务。还值得指出几篇关于PLM的好的综述论文,例如[23,24,25]。
5.1 预训练
最常用的预训练任务是“缺失token预测”。还有其他用于不同目的的预训练任务,例如,下一个句子预测,这允许LM学习句子关系。
Token预测。自回归语言LM被训练为使用先前的token来预测下一个token。而双向LM屏蔽样本中的token子集,并学习使用上下文的其余部分来预测这种屏蔽的token。对于后者,最流行的目标是BERT中提出的掩蔽语言模型(MLM)目标。MLM的目标是预测掩蔽token时的交叉熵损失。它随机屏蔽掉15%的输入token,然后预测屏蔽的token。基于实验验证,屏蔽token的数量设置为15%。如果掩蔽率太小,则模型仅从有限数量的掩蔽token中学习。另一方面,如果它太大,就没有足够的上下文来进行合理的预测,模型也无法很好地学习。
其他预训练任务。还有其他的预训练任务可以让LMs学习更好的语言知识,比如句子关系。例如,在BERT中,下一句预测被用作预训练任务。下一个句子预测被形式化为二元预测任务,该任务决定两个句子是否是两个连续的句子。这样,PLM可以用于需要理解两句之间关系的下游任务,例如问答(QA)和自然语言推理(NLI)。BART采用了其他预训练目标。它们包括token删除、文本填充、句子排列和文档旋转,以破坏原始序列进行重建。在T5中使用无序token来增加学习表示的鲁棒性。
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评价有两种类型:内在评价和外在评价。内在评估考察LM的内部特性,而外在评估研究其在下游任务中的表现。
6.1 内部评价
自回归LM。LM估计文本序列的概率。好的LM为自然文本序列分配更高的概率,为不真实或随机文本序列分配更低的概率。困惑是一个常见的评估指标。给定一个测试文本序列,困惑(由P P L表示)被定义为通过token数量归一化的序列的逆概率。从数学上讲,我们有
P P L ( S ) = 1 P ( u 1 u 2 ⋯ u N ) , N \begin{equation}PPL(S)=\sqrt[N]{\frac{1}{P(u_1u_2\cdots u_N)},} \end{equation} PPL(S)=NP(u1u2⋯uN)1,
其中 S = u 1 u 2 ⋯ u N S=u_1u_2\cdots u_N S=u1u2⋯uN是测试文本序列。困惑度可以被重写为
P P L ( S ) = ∏ i = 1 N 1 P ( u i ∣ u 1 ⋯ u i − 1 ) . N \begin{equation}PPL(S)=\sqrt[N]{\prod^N_{i=1}\frac{1}{P(u_i|u_1\cdots u_{i-1})}.} \end{equation} PPL(S)=Ni=1∏NP(ui∣u1⋯ui−1)1.
一个好的LM应该最大化文本集的概率。这相当于最大限度地减少了困惑。困惑越低,LM越好。
双向语言模型。为了计算等式(13)中的逆概率,自回归LM可以使用条件概率序列。然而,这种方法不适用于双向LMs(或屏蔽LMs)。已经为双向LMs提出了几个内在的评估指标。伪对数似然分数(PLL)定义为
P P L ( S ) = ∑ i = 1 ∣ S ∣ log P ( u i ∣ S \ i ) , \begin{equation}PPL(S)=\sum^{|S|}_{i=1}\log P(u_i|S_{\backslash i}), \end{equation} PPL(S)=i=1∑∣S∣logP(ui∣S\i),
其中 log P ( u i ∣ S \ i ) \log P(u_i|S_{\backslash i}) logP(ui∣S\i)是句子S中的token u i u_i ui与所有剩余token的条件概率。一个好的双向LM应该在给定其他token的情况下最大化文本序列中每个token的概率,而不是最大化整个文本序列的联合概率。基于PLLs,语料库C的伪困惑(PPPL)定义为
P P P L ( C ) = e x p ( − 1 N ∑ S ∈ C P L L ( S ) ) . \begin{equation}PPPL(C)=exp(-\frac{1}{N}\sum_{S\in C}PLL(S)). \end{equation} PPPL(C)=exp(−N1S∈C∑PLL(S)).
PLL和PPPL都为双向LM提供了测量句子自然度的有效手段。例如,[105]中显示,PLL和PPPL与LM在下游任务(如自动语音识别和机器翻译)上的性能密切相关。
6.2 外部评价
LMs的任何下游任务都可以用于外部评估。有几个常见的下游任务被选为外部评估基准。两个流行的是GLUE(通用语言理解评估)和SuperGLUE。GLU是自然语言理解的一个评估基准。它包括单句任务、相似和转述任务以及推理任务。SuperGLUE是GLUE的增强版。它包括一组新的更具挑战性的语言理解任务、更多样的任务格式、改进的资源和公共排行榜。
6.3 内部评价与外部评价之间的关系
如果LM的困惑程度较低,这是否意味着它也可以在下游任务中表现良好?换句话说,预训练任务(基于token预测)和下游任务之间是否存在相关性?关于这个问题的实证研究很多,但理论研究很少。
实证研究。研究人员设计实验来了解LM从预训练任务中学到了什么样的知识。实例包括。他们使用词性标注、成分标注和依赖性标注来衡量句法知识学习的程度,并命名实体标注、语义角色标注和语义原型角色来测试语义知识。实证研究表明,预训练任务有助于LMs学习语法和语义角色等语言知识。然而,这些实验结果只能用作支持token预测任务有利于下游任务的证据。它们无法解释潜在的机制。
理论研究。一些研究人员试图从数学上建立LM的困惑与其在下游任务中的表现之间的联系。文本分类任务在中进行了研究。他们首先假设并验证了文本分类任务可以重新表述为句子完成任务。由于LM预训练任务本质上是一个句子补全任务,它确实有助于文本分类下游任务。然后,他们从数学上量化了这种联系,并表明在日志困惑中实现 ϵ \epsilon ϵ优化的LMs特征可以线性地解决具有 O ( ϵ ) \mathcal{O}(\sqrt\epsilon) O(ϵ)误差的文本分类任务。[115]中使用了一个潜在的生成模型来显示预训练任务和下游任务之间的关系。目前的理论研究是有限的,因为只考虑了一个特定的下游任务(比如文本分类任务),并且证明在某些条件下成立。
6.4 LM评估的超越单一变量
除了在标准评估测试集上评估LM的性能外,LM在其他方面的性能在现实世界的应用中也很重要,如效率、偏差、鲁棒性、可解释性和逻辑一致性。在本节中,我们讨论了对效率、偏差和稳健性的评估,以提供对评估方面的全面回顾。
LMs的效率可以从几个方面进行评估,如推理时间、计算复杂度、能耗、模型大小和训练数据大小。一些工作计算了训练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)任务要求输入是语音序列,而输出是相应的文本序列。机器翻译任务基于输入文本序列和目标语言生成翻译文本序列。故事生成是一个主题到文本的生成任务。在本节中,我们介绍了文本生成中使用的常见技术,然后解释了如何在每个具有代表性的任务中应用LM。
7.1 解码方法
解码决定生成文本的下一个输出语言单元。一个好的解码方法应该在给定上下文的情况下生成相干延拓。随着LMs变得越来越复杂,解码方法发挥了越来越重要的作用。如图9所示,即使使用强大的LM,不足的解码方法也会导致生成的文本不好。文本生成有两种主要的解码方法。
基于最大化的解码。这是最常用的解码目标。假设该模型将更高的概率分配给更接近人类书写的基本事实的更高质量的文本,则基于最大化的解码策略搜索具有最高概率的token作为生成的文本。贪婪搜索以贪婪的方式选择具有最高概率的token作为下一个token。波束搜索在每个时间步长保持一定数量的最有可能的token,并最终选择具有总体最高概率的生成的token序列。它避免了丢失不具有最高概率的合理token。最近提出了可训练的解码算法。可训练贪婪解码是一种基于神经的解决方案,作为神经机器翻译解码器的一部分。它利用强化学习来找到最大化解码目标的翻译。
基于采样的解码。它从一组采样的token中选择下一个token。由于基于最大化的解码高度依赖于潜在的模型概率,并且会产生退化的重复,因此基于采样的解码通过随机采样增加了生成文本的多样性。然而,简单的纯采样可以选择具有低概率的token(来自不可靠的尾部分布)作为下一个生成的token。因此,生成的文本可能与前缀无关,从而导致语无伦次的胡言乱语。最近提出了Top-k采样和Nucleus采样来解决这个问题。Top-k采样和Nucleus采样均来自截断的LM分布(即,从最可能的token采样)。多样波束搜索是一种基于波束搜索的可训练采样(随机)解码算法。它使用强化学习来确定不同输入或任务的波束分集参数。
7.2 对话系统
对话系统旨在模拟与人类用户交谈时的人类反应。最近的对话系统,如ChatGPT和LaMDA,由于其作为交互式聊天机器人系统的卓越性能,在生成人工智能领域引起了很多关注。对话系统可分为面向任务系统和开放领域系统。前者是为特定任务而设计的,例如在线购物的客户服务。后者也被称为聊天机器人。大多数现代对话系统都是生成性语言的微调版本。以ChatGPT为例,ChatGPT是基于一个具有1750亿个参数的生成LM GPT-3构建的。通过对标记数据的监督学习和强化学习,对其进行了进一步的微调。
LMs在对话系统中发挥着重要作用,尤其是在其自然语言理解(NLU)和自然语言生成(NLG)组件中。NLU负责理解和识别用户的意图。如今,对于编码器-解码器PLM’,编码器为NLU提供信息表示,而相关的解码器负责生成适当的响应。后者包括构建回应文本,选择合适的单词,并确定正确的措辞和语气。对对话任务中PLM表示的有效性进行了研究。PLM评估目标包括BERT和GPT-2。[147]中评估了PLM在NLU和NLG等对话任务中的小样本能力。总的来说,对话系统中的LMs在理解用户的输入和产生适当和自然的反应方面发挥着关键作用。
7.3 自动语音识别
自动语音识别(ASR)是一种语音到文本的生成任务,旨在将原始音频输入转换为相应的文本序列。LM在ASR系统中起着至关重要的作用。首先,它有助于解决声学上模棱两可的话语。其次,它可以通过将搜索空间约束在一组概率较高的单词中来降低计算成本。传统的ASR系统包含两个独立的模型,一个声学模型和一个语言模型,它们通过以下互相关联
P ( w o r d ∣ s o u n d ) ∝ P ( s o u n d ∣ w o r d ) P ( w o r d ) . \begin{equation}P(word|sound)\propto P(sound|word)P(word). \end{equation} P(word∣sound)∝P(sound∣word)P(word).
声学模型以电话 P ( s o u n d ∣ w o r d ) P(sound|word) P(sound∣word)为条件,而LM给出由 P ( w o r d ) P(word) 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机器翻译模式已成为当今的主流。语言模型是通过E2E训练隐式学习的。最近,基于Transformer的模型在机器翻译方面取得了巨大成功。与ASR的进步类似,通过LM集成技术,可以将由大量单语语料库训练的外部LM合并到E2E机器翻译模型中。此外,尽管许多PLM从未受过源语言和目标语言之间翻译并行数据的明确训练,但它们在机器翻译方面表现出了小样本或零样本的能力。
7.5 生成文本检测
随着LMs的性能越来越接近甚至超过人类,LMs的滥用,如假新闻和假产品评论的生成,已经成为一个严重的问题。检测机器生成的文本的能力很重要。有两种类型的检测问题:1)人工编写与机器生成,以及2)恶意与真实。大多数数据集,例如,都是为第一种类型收集的。第二类问题比第一类问题要困难得多,因为需要将生成的文本与事实联系起来,这需要高级知识推理能力。
下面介绍了检测机器生成文本的两种常见方法。一种是利用LM的概率分布。如果与已知的机器生成文本相比,文本序列的概率分布更接近人类书写文本的概率分布,则该文本序列被归类为人类书写。另一种是通过监督学习来训练分类器。它将分布转换为有监督的二进制分类任务。关于机器生成文本检测的更多细节,读者可以参考两篇综述论文。
8 高效模型
随着最近的PLM变得越来越强大,它们的模型大小、训练成本和对训练数据的需求都急剧增加。它们需要高计算资源和高能耗,限制了它们在现实世界中的应用。表2显示了最近开发的LM的模型大小、训练数据、成本和时间。这个问题引起了许多人的关注,高效LMs的构建也受到了关注。
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还专注于设计更小尺寸的模型。研究了许多方法来减小模型大小,从而可以在计算资源有限的移动或边缘设备上实现模型。模型压缩是一个广泛研究的课题。压缩方法首先训练一个大LM,然后将其压缩成目标大小。示例包括模型修剪、知识蒸馏、低秩矩阵近似和参数共享。
8.3 推断延迟
推理效率对LM非常重要,尤其是在实时应用中。在相同的设置下,较小尺寸的模型通常具有更快的推理速度。可以采用知识蒸馏、修剪和低秩矩阵近似来实现更快的推理时间,同时减小模型大小。例如,DistilBERT是BERT的蒸馏版本,与原始模型相比,其推理速度提高了60%。[177]中通过修剪PLM实现了超过2倍的推理加速。
快速的推理速度也可以通过快速的解码方法来实现。非自回归生成(NAG)模型同时预测每个token。由于并行计算,它们的推理速度比自回归模型更快。另一方面,NAG模型的性能通常比自回归模型差,因为它们没有考虑输出文本中token之间的前向或后向依赖关系。
9 未来研究方向
在本节中,我们描述了语言建模中几个有前途的未来研究方向。
9.1 LM和KG的集成
知识图谱(KG)提供了人类知识的结构化表示。由于其能够表示实体之间的关系,它已被广泛用于许多NLP应用,如问答和文本摘要。人们对评估在PLM中学习的知识越来越感兴趣,其中不同语义单元之间的关系被捕获在嵌入空间和自注意层中。中提出了一些想法,以利用KGs进行LM训练。因此,在模型中学习的知识可以得到极大的改进。因此,值得仔细研究将KGs与LMs结合起来,并了解它们是如何相互作用的。
看来KG可以作为LMs查询的信息数据库。LMs在自然语言理解和生成方面具有强大的功能,而KGs可以组织和存储从训练语料库中提取的知识信息。换句话说,我们可以将知识源分解为语义和句法两个部分,这两个部分可以分别由KGs和LMs处理。
具体来说,大多数推理都是由KGs处理的,因此预测是基于事实的,是可以解释的。另一方面,LM作为理解和解释语言输入的接口,提高语言输出的流畅性、全面性、简洁性等。中提出了类似的概念。在训练阶段,基于从训练语料库中提取的信息构建KG,并且可以同时训练LM。在推理阶段,LM可以作为人类和以KGs形式表示的知识数据库之间的接口。将语义和句法处理任务分别分配给KGs和LM是有优势的。例如,解耦促进了增量学习,允许更小的模型大小,并提高了可解释性。它们将在下文进一步阐述。
9.2 增量学习
增量学习旨在整合新信息,而无需完全重新训练现有模型。[205]中指出了与神经网络模型相关的灾难性遗忘问题。也就是说,当使用新信息进行训练时,模型已经学习到的信息可能会逐渐被遗忘。这个问题对大型LMs来说尤其关键,因为新信息不断出现。[206]中提出了一种解决灾难性遗忘的方法。它试图通过放慢对与先前重要任务更相关的权重的学习来记住这些任务。然而,很难定义LMs中的重要任务。此外,使用旧数据和新数据重新训练大型LM的成本太高。LMs的终身学习是容纳新数据以更新LMs中知识的另一种解决方案。它值得进一步探索。
为LMs开发一个令人满意的增量学习解决方案的重要性再怎么强调也不为过。增量学习对神经网络来说是一项挑战。然而,KGs很容易通过添加或删除事实三元组来向现有数据库添加新数据(或从中删除旧数据)。很明显,KGs中的当前信息不会被新收集的数据覆盖。数据库中的信息以递增方式更新。为此,KGs和LMs的集成提供了一个极好的解决方案,满足了增量学习的需求。
9.3 轻量模型
如第8节所述,PLM以巨大的计算资源和能源消耗为代价变得更加强大。在大型LMs(LLM)的开发过程中,必须认真面对成本问题。此外,LLM由于其高碳足迹而对我们的环境不友好。绿色学习(GL)以低碳足迹的学习解决方案为目标。近年来,在不牺牲性能的情况下设计更小尺寸和更低计算复杂度的轻量级模型受到了越来越多的关注。绿色LMs的设计是一个值得认真研究的重要课题。
当前的PLM是使用神经架构从大量数据中学习通用语言知识的数据驱动模型。已经在开发轻质LMs方面做出了努力。模型压缩是获得小型LM的常用方法之一。例子包括知识蒸馏或修剪。然而,这种方法似乎是一种迂回,因为它训练大型模型,然后通过压缩缩小它们的大小。相反,我们可以结合语言信息和领域知识,以提供一种更直接的方法来减少模型大小和训练数据量。
9.4 通用模型与领域特定模型
开发了一个通用LM来处理一般领域中的任务。例如,ChatGPT是一个在多语言和通用领域语料库上预先训练的通用对话LM。它可以用多种语言就开放领域主题进行对话。相反,领域特定的LM被设计用于处理领域特定的任务,例如生物医学、经济学、音乐学等。
通用LM需要巨大的模型大小、大量的训练示例和大量的计算资源。基于神经语言模型的缩放定律,推理性能随着模型大小、数据集大小和用于训练的计算量而缩放为幂律。到目前为止,最大的PLM包含5400亿个参数。尽管具有卓越的性能和适应多种任务的灵活性,但我们可能想知道一个巨大的通用LM是否具有成本效益。
对于领域特定的LM,需要的训练数据量要低得多。人们认为,一般领域的PLM有利于特定领域的LM的训练。然而,据[217]报道,从头开始在域内数据上预先训练的域特异性LMs可以为生物医学NLP提供坚实的基础。换句话说,训练特定领域的LM可能不需要大量的通用语料库和标记数据。在训练和推理较少的特定任务场景中部署的特定领域LMs预计在未来会受到更多关注。
9.5 可解释模型
尽管基于深度学习的LMs在NLP领域占据主导地位,但它们本质上是没有数学透明度的黑盒方法。它的可解释性令人担忧。已经作出努力来解释黑匣子LMs。如6.3所述,进行了实证研究,以了解PLM通过实验设计学到了什么。然而,这方面的进展可能会提供见解,但不是一个令人满意和明确的答案。提供理论解释或建立可解释的LMs仍然是一个具有挑战性和开放性的问题。可解释性的一个方向是从头开始设计一个可解释的学习模型。例如,我们可以将KGs与LMs合并。众所周知,KG能够在许多推理任务中提高系统的可解释性和透明度,如信息检索和推荐系统。例如,当结合KGs进行推理时,可以为推理路径和数据源提供预测。LM做到这一点很有挑战性。开发一种可解释的LM以避免其在自然语言生成中的幻觉至关重要。
9.6 机器生成的文本检测
LM最常见的应用是文本生成。随着生成LM的性能越来越接近甚至超过人类,这些LM可能被用于恶意目的,如学术不诚实、垃圾邮件、有针对性的机器人攻击和假新闻/评论生成。如何确定文本是由LMs生成还是由人类编写是当今的一大挑战。高性能的机器生成文本分类器只能在现实世界的应用中作为参考,因为它有假阳性(即被归类为机器生成的人工书写文本)和假阴性(即被分类为人工书写的机器生成的文本)。此外,人们可能对检测真实和不真实的文本更感兴趣。他们更关心文本是否真实。检测虚假信息可能比在不评估真实性的情况下检测机器/人工生成的文本更困难。此外,随着时间的推移,事实可能会发生变化。开发有效的工具来识别生成LMs的恶意使用对我们的社会至关重要。
10 结论
本文对CLM及其继任者PLM进行了全面概述,涵盖了广泛的主题。首先,介绍了不同层次的语言单元,并研究了如何使用语言单元预测来训练语言模型。其次,讨论了语言模型所采用的标记化方法。第三,回顾了PLM的语言模型体系结构和训练范式。第四,我们研究了语言模型的评价和应用。特别是,详细介绍了文本生成中的几个应用。最后指出了未来的几个研究方向。强调了对可解释、可靠、特定领域和轻量级语言模型的需求。