既然是数学模型,那应该如何计算呢?
最简单的方法,当然就是用统计学的方法去计算了,简单说来,就是靠输入的上下文进行统计,计算出后续词语的概率,比如「你吃了晚饭了吗」,「你吃了」后面按照概率,名词如「饭」或「晚饭」等概率更高,而不太可能是动词,如「睡」「睡觉」。
这是语言模型的第一阶段,模型也被称为是统计语言模型(Statistical Language Model,SLM),其基本思想是基于马尔可夫假设建立词语测模型,根据最近的上下文预测下一个词。
后续语言模型的发展又迭代了三个版本。
第二阶段是神经网络语言模型(Neural Language Model,NLM),是一个用神经网络来训练模型,学习单词之间的关联性和概率关系。它能够利用大量的数据进行深度学习,从而捕捉到词汇之间更加复杂的关系。NLM 模型采用的是分层的结构,把输入的文本数据空间投射到高维的语义空间中并进行学习。通过不断地更新神经网络模型参数,NLM 的神经网络逐渐学会了文本数据的语义并能够生成连贯自然、语义准确的文本。
与前面提到的 SLM 相比,由于深度神经网络的学习能力更强,NLM 在学习语言模型时具有更好的泛化能力和适应性。比如能生成更长的文本等。但 NLM 相对来说也比较依赖更大的数据集,并且需要花很多人力在数据标注上。
第三阶段是预训练语言模型(Pre-trained Language Model,PLM),是一种使用大量文本数据来训练的自然语言处理模型。相对 NLM 来说,PLM 使用无监督学习方法,因此不需要先标注数据或注明文本类型等信息。各位可能听过的 Transformer 架构就是一种预训练语言模型。
第四阶段是大预言模型(Large Language Model),你可以将现在的 LLM 理解为一个训练数据特别大的 PLM,比如 GPT-2 只有 1.5B 参数,GPT-3 则到了惊人 175B,尽管 LLM 只是拓展了模型的大小,但这些大尺寸的预训练语言模型表现出了与较小的预训练语言模型不同的行为,并且在解决一些复杂任务上展现了惊人的能力(俗称涌现能力,注意这个涌现能力目前还存在争议),所以学术界为这些大型预训练语言模型命名为大语言模型 LLM。
上面这四个阶段可能比较难理解,你可以简单理解:
- 语言模型本质上都是在计算自然语言每个句子的概率的数学模型。当你输入一个问题给 AI 时,AI 就是用概率算出它的回答。
- 另外,当今的语言模型,并不是一个问题对一个答案,实际上是一个问题,多个答案,然后根据答案的概率进行排序,最后返回一个最可能的答案。