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))=∑ilog(P(wi∣wi−k,wi−k+1,...,wi−1))
3、chatGPT的语言模型
1、ChatGPT 的建模公式
ChatGPT 是利用成千上万的文本语料训练得来的。每一篇语料都是一条文本,可以抽象成w1,w2,...,wn这样的一串字符序列,假设这个大的语料为 U,则我们的建模公式又可以表示成:
log(P(U))=∑ilog(P(wi∣wi−k,wi−k+1,...,wi−1))
2、语言模型中的最大似然概率
在 ChatGPT 的语言模型公式中,左半边是log(P(w1,w2,...,wn)),它其实就是一种最大似然的建模方式。在概率论中,最大似然概率是一种最为简单,也最为广泛应用的近似估计方法。
我们利用采样的数据分布去估计整体的数据分布。它假设了一个前提,就是认定采样的数据非常具有代表性。
当我们取到这样一个成规模的语料数据集之后,需要先假定一点,这些有限的语料数据,充分代表了人类语言文字全量总集。