ChatGPT 是由 OpenAI 开发的一种大语言模型(Large Language Model, LLM),其核心基于深度学习中的 Transformer 架构。
ChatGPT 的全称为
(
Chat Generative Pre-trained Transformer)
Chat:
就是聊天的意思,意思你可以通过
聊天的形式和它对话
Generative:
生成式,意思是它的回答内容都是生成的
Pre-trained:
预训练,它通过学习大量的文字资料,学会了人类语言的基本用法规律。
Transformer:
是一种使用
自注意力
(Self-Attention)机制的神经网络结构,也就是它的“大脑”,它通过
自回归
(Auto-regressive)的方式来预测下一个词(token)。这种结构能让它在处理文字时,更好地理解前后文的关系。
这些名词都太过专业...
下面我们将以
「交互演示」
方式:
尝试帮你在 10 分钟内,来让你理解大模型的基本原理和专业名词。
在阅读的过程中,请注意这些词汇...
大模型的“生成”,不过是续写
大模型,能够写一篇很长的内容:不过是“文字接龙”的小游戏。
简单来说,就是:
根据前面的内容,预测下一个词是什么,然后把这个词接上,再预测,再接上,循环往复
。(你也可以管这个叫:
自回归
)
这里有一个简单的演示,可以点击下面图像中的
天气
来试试
大模型就这么一个个词的猜,直到猜完一整篇文章。
不过这里就有了一个新问题:
AI 是如何判断哪个词可能性最大?又是如何理解我们写的内容呢?
大模型自己“划重点” :所谓的“注意力”
AI 在“续写”时,不会对所有词都一视同仁,
它会“划重点”!
这项能力叫做
“注意力机制”
:把注意力更多地放在重要的词语上。
在下面的演示中,请分别点击
阳光
花香
人们
微风
感叹
或者
今天
,
来看看大模型都关注到了什么。
通过注意力机制,AI 能够理解句子中词语之间的关系,从而更好地“续写”出通顺的内容。
但问题又来了:AI 是怎样去辨别,哪些内容彼此更相似呢?
AI 眼中文字,是一串串数字
我们能看懂文字,但 AI 看见的却是一串串数字。
因为 AI 会先把每个词变成一个数字编号,这个过程叫做 “词嵌入” (Word Embedding),也叫“词向量”。
在 GPT 中,每个词或符号(Token)都会被转换成一个向量(“Embedding”)。
这些向量就像是 GPT “理解”文字的基石,因为计算机只能理解数字,通过它们来进行各种计算、理解上下文并最终生成答案。
简单来说,当 GPT 读进一段文字时,会先把这段文字转换成一个个最小的符号(称为 Token)。然后,
模型会为每个 Token 分配一个向量,用数字来表示这个 Token 的含义、语气等信息。
文字→Token→向量
-
比方说,英语里的一个单词,中文中的一个字或词,或者标点符号等,都会被看作一个 Token。
-
每个 Token 都会被映射到一个“向量”,你可以想象它是一个包含许多数字的列表(例如 768 个数字或者更多),每个数字代表这段文字在某个“方向”上的特征。
-
这些特征的数值最开始是随机的,后来通过大量训练,“让句子读起来更通顺、更有意义”的向量会被慢慢调节成合适的数值。
为什么要把文字变成向量?
举个例子:比如“猫”和“狗”这两个词,我们知道它们都是动物,也都很可爱,但在叫声上有所不同。而 AI 却不懂这些,它看到的一切信息,都是被从不同纬度标记的。假设标记数字的取值范围是 -1 到 1:
这像这样,
AI 在一通数值比较后,就知道“猫”和“狗”一样可爱,但叫声不同。
大模型不认识文字
它把每个词都变成数字
每个词都有个专属的数字编码
这样它才能计算和理解
所有词都有数字编号
这编号代表着词的意思
意思差不多的那些词
它们的编号也会更接近
词语被转换成数字代码
这种代码叫作词向量
向量之间距离的远近
表示了词语意思相关度
于是,通过大量的 “词嵌入” ,AI 就能“理解”词语的含义,然后开始干活了。
塞数据,然后吸收 - 大模型是这样训练的
那么,
词嵌入的值,是如何得到的呢?答案是:“预训练”
。你可以把它想象成 AI 在正式工作前,先进行大量的“阅读”学习。而这个学习过程中,也诞生了我们之前提到的“数字身份证” (词嵌入)。
但这个“阅读”过程,不仅仅是“塞”数据,还包含了 AI 的“消化吸收”,就像星之卡比一样。