1.3.1 大语言模型
大语言模型是自然语言处理中的重要概念之一,用于对语言的概率分布进行建模,以便生成新的文本或评估给定文本的合理性。大语言模型的基本原理是基于已观察到的文本数据,学习其中的规律和概率分布,从而能够对未知文本进行预测和生成。
首先,为了进行语言建模,计算机需要一种方法来表示语言符号,也就是语言表示。词向量(Word Embedding)是一种常用的表示方法,通过将一个词映射为一个固定长度的数字向量来捕捉其语义信息。例如,“猫”的词向量可以表示为[0.2,0.5,0.8,…],而“狗”的词向量可以表示为[0.3,0.1,0.7,…]。词向量的设计使得相似词之间的向量距离较近,从而使大语言模型能够通过对词向量进行运算来捕捉词语之间的关系。其次,计算机需要利用这些词向量来建模语言的规则,以使机器能够真正理解语句的语法和语义,而不仅仅是单个词的含义。在这个过程中,大语言模型发挥着关键作用。大语言模型通过学习已有文本数据中的语言规律和概率分布,能够对给定的文本序列的合理性进行评估,并利用这些规律来生成新的文本。通过大语言模型的建模和应用,计算机能够更好地理解和处理自然语言,使得自然语言处理任务,如机器翻译、语音识别、文本生成等取得了显著的进展。大语言模型的发展也推动了自然语言处理领域的研究和应用的不断演进。
大语言模型实质是一个概率模型,它定义了在给定前面词语的条件下,后面词语出现的概率。比如,在句子“我喜欢吃苹果”中,模型可能学到在“我喜欢吃”后面出现“苹果”的概率很大(如图1-2所示)。
图 1-2
语义信息可以用1000~10000次元的词向量表示,即使在只有1000个维度而且每个维度只能取−1或1两个值的情况下,也可以表示约21000≈10300个不同的词向量。相似词词向量之间数值距离较近(如图1-3所示)。
图 1-3
统计语言模型是最早提出的大语言模型之一,它基于统计学原理,通过计算词语在给定上下文中出现的概率来建模语言。常见的统计语言模型包括n-gram模型,其中n表示模型中考虑的上下文的长度。n-gram模型假设当前词出现的概率只与前n−1个词相关,忽略了更长的上下文依赖关系。
讯飞星火
随着深度神经网络的不断发展,神经网络的语言模型展示出了比n-gram模型更强大的学习能力。神经网络的先进结构使其能够有效地建模长距离的上下文依赖关系。以词向量为代表的分布式表示语言模型对自然语言处理领域的其他模型和应用产生了深远的影响,几乎取代了传统的n-gram模型。类似于传统的n-gram模型,前馈神经网络语言模型也采用了马尔可夫假设,即下一个词只与前n−1个词相关。然而,在实际场景中,固定长度的历史词并不能始终提供充分的信息。对于信息较为复杂的长文本,大语言模型需要依赖更长的历史才能做出准确的预测。为了解决这个问题,循环神经网络被广泛应用于处理序列结构的数据。循环神经网络具有一个特点,即上一时刻的隐藏层状态会作为当前时刻模型的输入,每个时刻的隐藏层状态都会维持过去所有词的信息。循环神经网络语言模型不再基于马尔可夫假设,而是每个时刻的词都会考虑到过去所有时刻的词。词之间的依赖关系通过隐藏层状态来获取,从而能够捕捉到更长期的上下文信息。这正好解决了大语言模型需要动态依赖的问题(如图1-4所示)。
基于变换器(Transformer)架构的大语言模型,如GPT(Generative Pre-trained Transformer),通过自注意力机制对文本中的各个位置进行建模,取得了显著的性能提升。通过在大规模数据上进行预训练,Transformer能够构建一个庞大而全面的词共生关联网络图,其中包含了词与词之间的共生关联关系,这种关联关系也被称为注意力。相对于传统基于循环神经网络的序列模型,基于Transformer架构的大语言模型的设计使其能够处理更长的文本序列,并且能够以并行化的方式高效地训练模型。注意力机制解决了词与词之间的长距离依赖问题,使得大语言模型能够像人类一样准确地提取出生成下一个词所需的关键词汇,从而生成流畅且自然的文本。基于Transformer架构的大语言模型的关键创新在于通过计算每个词与句子中的所有其他词之间的相关度,确定该词在句子中更准确的语义表示。这种自注意力机制使得模型能够更好地理解全局上下文信息,而不仅仅局限于局部的上下文。
图 1-4
注:EOS为End of Sentence的缩写,在自然语言处理中通常指句子结束的标识符。
文心一言
基于Transformer架构的大语言模型在自然语言处理领域取得了重大突破。通过自注意力机制和对海量数据的预训练,Transformer能够捕捉长距离的依赖关系,生成更准确和连贯的文本。这种模型架构设计的成功应用使得大语言模型能够更好地理解和生成自然语言,推动了自然语言处理领域的发展。