chatGPT是一个语言模型·第二课笔记整理 | 豆包MarsCode AI刷题

58 阅读3分钟

chatGPT是一个语言模型

1、语言模型是什么?

语言模型,就是由计算机来实现类似于人的语言交流、对话、叙述能力,它集中体现在模型能够依赖上下文进行正确的文字输出

把上述这些预测空格内容的问题交给计算机建模来完成,就实现了语言模型的训练。换句话说,语言模型就是由上述的方式来进行训练的。

2、chatGPT语言模型的数字建模

1、语言模型基础建模

最经典的语言建模就是根据上文,输出下文,也就是例 2 的形式,这也是 GPT 模型的建模形式。

2、N-gram 语言建模

通常情况下,语言模型的建模公式采用 n-gram 模型,这个词没有对应的中文翻译,其含义是就近原则,距离第 i 个字符相隔 n 个字符距离以上的,就不在考虑范围内了。

公式来讲,就是将条件概率 P(wi​∣w1​,w2​,...,wi−1​) 近似为 P(wi​∣wi−n+1​,wi−n+2​,...,wi−1​),其中 n 为 n-gram 模型中的 n 值。这样可以简化模型的计算,并且在一定程度上保持模型的准确性。

3、语言模型的log化

随着句子长度越来越长,概率值会越来越小。在实际的语言模型建模过程中,往往上下文联系多达上百个字,按照上述方法计算下去,其结果会逐渐趋近于 0。但是,这里这存在一个问题。

按照上述语言模型建模,对于计算机的系统和结构来说,都是无法实现计算的,很容易导致语言模型计算溢出计算机数据存储范围。

考虑 n-gram 模型建模,我们只取 k 个字符范围的上文进行建模,可以得到最终的语言建模公式为:

log(P(w1​,w2​,...,wn​))=∑i​log(P(wi​∣wi−k​,wi−k+1​,...,wi−1​))

3、chatGPT的语言模型

1、ChatGPT 的建模公式

ChatGPT 是利用成千上万的文本语料训练得来的。每一篇语料都是一条文本,可以抽象成w1​,w2​,...,wn​这样的一串字符序列,假设这个大的语料为 U,则我们的建模公式又可以表示成:

log(P(U))=∑i​log(P(wi​∣wi−k​,wi−k+1​,...,wi−1​))

2、语言模型中的最大似然概率

在 ChatGPT 的语言模型公式中,左半边是log(P(w1​,w2​,...,wn​)),它其实就是一种最大似然的建模方式。在概率论中,最大似然概率是一种最为简单,也最为广泛应用的近似估计方法。

我们利用采样的数据分布去估计整体的数据分布。它假设了一个前提,就是认定采样的数据非常具有代表性

当我们取到这样一个成规模的语料数据集之后,需要先假定一点,这些有限的语料数据,充分代表了人类语言文字全量总集