好奇心会不会害死猫?
我们上篇讲了 是什么决定AI大模型的输出,那么当我们输入一段话时,AI大模型又是怎么读懂我们的人类语言的? 我们无论是使用ChatGPT,还是DeepSeek、豆包、通义等AI智能助手,无论是我们输入中文还是英文德语,AI要作答第一步就必须理解。
抛砖引玉
人类怎么理解人类词汇
理解这个问题,我第一时间想到了人类对语言的学习。当一个婴儿从呱呱坠地不会言语到能理解语言的阶段,回顾一下是不是经历了几个阶段:
-
听音绑定阶段。婴儿接收的是原始的、连续的语音流。他们并不能对话语的每个词有真正的理解。最早就是绑定式记忆,由于母亲长时间哺乳、安抚期间可能多次说到“Mama”,父亲说到“Baba”。这些早期在关键事务频繁出现的词优先被婴儿和父母绑定。直到慢慢地自己能说出“Mama”、“Baba”。
-
识物映射阶段。随着大脑发育和婴儿能接触到的空间更大,开始逐渐和活动空间内的物体映射。看到客厅的桌子,同时听到父母指代性地说“桌子”,大脑快速建立了“这个物体 = ‘桌子’”的映射,并在后续的活动中不断修正和加强这种映射关系。后
-
意图推理阶段。当大脑到足够阶段,映射的词汇量达到一定数量,量变引起质变。从“词汇识别”迈向“语言理解”。先是敏感于次序,对同样词汇组合下不同顺序的组合开始尝试区分,“妈妈亲一口”和“亲一口妈妈”类似语境通过多次试错和记忆正确理解。后面对整个句子的理解能力日渐提高。同样这种理解也是在不断修正和强化的。
那么,一个没有生命冷冰冰的机器在理解语言上和婴儿学语会有相似吗?
我觉得显然答案是肯定的,因为AI大模型基于深度学习,深度学习本身受生物神经网络启发,由多层的**“神经元”(节点)**相互连接而成。“深度”指的是网络的层次非常多。这个思路启发于人类大脑,那么原理是否也会有所相似呢?
一探究竟
假设我们现在给定一个输入,要求AI续写。
- 输入:我有一个苹果,它很好
- AI:我有一个苹果,它很好xx
人类很好理解“我有一个苹果,它很好”这句里每一个字以及整体的意思,我们程序员都知道计算机最终只认识1、0啊,他怎么理解这句话呢?
人是这样理解的
我们先拆解下人类的理解过程:主谓宾定状补,主干枝叶分清楚(上学学的理解句子口诀还记得吗?😄)
- 主语:我(名词),表示陈述的主体
- 谓语:有(动词),表示主体发出的动作或状态
- 定语:一个(量词),苹果的数量 不是2个3个是1个
- 宾语:苹果(名词),动作或状态的承受者
- 状语:很(副词),一般修饰补语表示程度
- 补语:__ (没有),那正常思维续写的着手点就是这了
主谓宾定状补是人类的语言规则,主要负责:
1. 主谓宾定状补是6个维度的分类
2. 将句子按这个维度拆解为词,每个词有特定的特征
3. 规则定义了每个词的位置,宾语在主语之后
4. 结合词的意义,最后得出理解
记住这4点,这是人类理解句子的核心。别说你一看就理解,反而不知道“主谓宾定状补”区分。这也没错,骨子里的DNA和我们的生长环境早已让我们把这种基本规则内化到骨子里。
AI是怎样理解的?
好了,终于可以步入正题。前面啰嗦了一大堆,不过放心没有一步路是白走的。 AI大模型本身是深度学习,深度学习又依赖多层神经网络。AI大模型目标是像人一样思考,那么我们就按人类理解的思维去试图解释。
- 输入:我有一个苹果,它很好
- AI:我有一个苹果,它很好xx
首先,理解输入按人类的理解过程,AI需要人类主谓宾定状补这样一个规则。
- 分词。将句子分解成“我”、“有”、“一个”、“苹果”、“它”、“很”、“好”。这就是Token。
- 每个词对应具体意思取决于其特征分布,AI需要维护一个很大的矩阵来存储特征分布。这个矩阵就是词向量。
- 词嵌入,是指根据Token得到对应的词向量的过程。
- 而词向量之间的顺序,依赖于位置编码。这个依赖Transformer架构,后续再讲。
- 根据这些AI大体有一个初步理解,具体还需要Transformer架构的自注意力机制,后续会再细讲。
词向量
这里需要着重理解的就是词向量,词向量矩阵存储了一个词在各个特征维度的分布。有了这种特征分布,AI就能理解不同词之间的相关性,也能具体记录这个词意义。以OpenAI为🌰:
OpenAI的词向量维度为12288(d_model),什么意思呢?大体就是OpenAI将所有的词分为了12288种特征,一个词向量矩阵的长度为12288,每一位是一个浮点型,代表了和这个特征的相关性。
同样以这个case里“苹果”这个词为例(毕竟这里它歧义最大),那么在OpenAI标准下“苹果的”词向量将是: Vector["苹果"] = [0.88,0.4,0.8,0.1,0.6,0.8,0.7,xxx,i_12288]
| 维度 | AI语义 | "苹果"取值 | 人类理解相关分类 |
|---|---|---|---|
| 1 | 水果/食物 | 0.88 | 香蕉/草莓等 |
| 2 | 圆形/球体 | 0.4 | 地球/乒乓球等 |
| 3 | 甜味 | 0.8 | 糖/蜂蜜等 |
| 4 | 牛顿 | 0.1 | 引力/物理学等 |
| 5 | 科技 | 0.6 | 微软/谷歌等 |
| 6 | 手机 | 0.8 | 华为/小米等 |
| 7 | 乔布斯 | 0.7 | 创新/发布会等 |
| ... | ... | ... | ... |
| 12288 | xxx | xxx | xxx |
这里需要知道几点:
-
一般一个大模型的词向量维度(d_model)是固定的,eg:OpenAI为12288,Deepseek为7168
-
Vector["苹果"]这个矩阵值是大模型在预训练时就确定的,AI没有人类这种明确的逻辑。通过这些特征分布识别一个词。
-
矩阵中12288个浮点数,都在为“定义苹果”贡献一份力量。
-
AI怎么能想出12288?这些是怎么出现的?我们可以理解上表列出的几个维度,但是要12288之多,第9999个代表的意义人类能理解吗?答案是不一定,因为这里的维度概念都是在预训练过程中自动涌现,相互纠缠的抽象特征,是机器语言。
正是有了词向量机制,能让AI大模型能理解每个词的意义。这篇核心就是为了引出词向量,理解AI是怎么读懂人类词汇。至于AI是靠怎么将每个词连起来的,下一篇有时间再继续讲。
AI视角看婴儿学语
理解AI之后,在回过头来我们用深度学习的视角看待婴儿学语这件事。
-
听音绑定阶段。声学信号处理,“海量”数据无监督学习。视觉-语言简单跨模态对齐。
-
识物映射阶段。视觉-语言跨模态的加强训练,注意力机制连接不同词汇。
-
意图推理阶段。句法爆炸,不断地训练中开始涌现理解能力,初步出现语法引擎。更多地使用和学习,相当于在一个持续、动态的强化学习环境里进行模型微调,最终具备优秀沟通能力。