项目地址:github.com
第一章:引言
一、什么是大语言模型
语言模型可以被看作一个预测的机器,他根据已知的单词来预测下一个单词出现的概率。这个预测基于大量文本数据的学习,使得模型能够理解哪些单词组合在一起有意义
想象一下,如果我们有一个包含‘ate’、‘ball’、‘cheese’、‘mouse’、‘the’的词汇表。语言模型的任务是判断不同的单词组合或者序列出现的可能性有多大,例如,对于句子‘the mouse ate the chesse’,模型可能会认为这是一个很有可能出现的序列,因此会给它一个较高的概率值。相反,对于‘chesse ate the mouse’,模型会认为这个序列不太可能出现,因此会给它一个较低的概率值
这个过程听起来简单,但实际上很复杂,语言模型不仅需要理解词汇的字面意思,还需要理解他们如何结合在一起形成有意义的句子,这就意味着模型必须具有对语言的深刻理解,包括语法规则和单词的常见用法。
此外,语言模型还可以用于生成文本。基于已有的词汇以及语法规则,模型可以创建新的句子。这通常会通过从模型预测的概率分布中选择单词来完成。简单来说,就像是抽奖:有些单词被抽中的机会更大,因为模型认为他们在特定的上下文中出现的可能性会更高
生成‘最佳’序列:在某种情况下,我们不仅想要任何一个概率上可行的序列 ,而是想要最能代表某个特定风格或者内容的‘最佳’序列。为此,我们可以采用各种技术来调整采样过程,使得生成的文本更加符合特定的要求或者标准
总之,语言模型在生成任务中的应用 相当于一个能够根据概率创造新文本的过程,这个过程既可以是完全随机的,也可以是受控的,取决于我们对生成文本的具体要求。通过这种方式,语言模型可以被采用创造各种风格和类型的文本,从诗歌到故事,甚至是新闻报道
二、自回归语言模型
基本原理
链式法则:自回归模型使用概率的链式法则来表示一个序列的联合概率分布。意味着序列中的每个单词出现的概率都依赖于它之前所有单词的联