第七章:为什么"预测下一个 Token"可以产生智能?
目录
零基础认识大语言模型(LLM)工作原理目录 - GuZhenYin - 博客园
本章导读
如果只用一句话概括大语言模型:
给定前文,预测下一个 Token
听起来非常简单,甚至有点过于低级。
但现实却是大模型确实会:
-
会写代码
-
会推理
-
会总结
-
会解数学题
-
会做方案设计
这确实是一个很神奇的现象
于是一个困扰很多人的问题出现了:
为什么这么简单的训练目标,能产生如此复杂的能力?
这一章我们通过自己的理解来解释这个问题。
7.1 先跳出一个很容易出现的误区
很多人都错误的认为:
模型是"学会了任务"
比如:
-
学会写代码
-
学会翻译
-
学会推理
但真实情况是:
模型没有"学任务",它也不能真实的理解这些任务.
模型只学了一件事:语言分布
这些产生的所有能力,都是"预测下一个 Token"的副产品(请一定要记住这句话)
7.2 我们换一个视角:世界被压缩成语言
我们先想一个问题:
人类的互联网里有什么?
-
代码
-
数学
-
论文
-
对话
-
逻辑推理
-
操作步骤
-
知识解释
....等等内容
这些东西有什么共同点?
都是用文本(文字)表达的!
所以可以认为:
互联网本身就是一个"超大规模语言分布样本"
所以科学家们的训练目标就变成:
学习这个世界"所有文本出现的概率规律"
7.3 下一词预测 ≠ 文字接龙
很多人理解为就是简单的续写句子.
但我们通读了本系列前面的内容,其实就应该知道.
模型在学习的是token的"条件概率分布"
从数学层面描述一下:
模型学的是,在当前上下文下.所有可能的下一个 token 的概率
举个例子:
text
"水的沸点是"
模型不会只知道一个答案,而是:
| Token | 概率 |
|---|---|
| 100°C | 高 |
| 一百摄氏度 | 高 |
| 约100度 | 中 |
| 香蕉 | 低 |
所以它学的是:
"世界上的文本如何自然延续"
7.4 为什么这件事会变成"智能"?
这是最神奇的一点,其实很多科学家也还在探讨.
我们先按我们的理解拆成三层:
第一层:语言 = 知识压缩格式
我们熟悉的所有知识:
-
科学规律
-
逻辑关系
-
人类经验
最终其实都被写进文本,所以我们可以认为:
文本 = 知识的载体
第二层:预测 = 反推结构(Transformer做的事情)
要预测下一个 token,你必须理解:
-
语法结构
-
语义关系
-
因果逻辑
-
世界知识
第三层:优化目标逼迫模型学会"结构" (训练)
模型为了降低损失,会自动学会:
哪些 token 之间存在结构关系
结果就是:
模型被迫学习"世界的统计结构"
7.5 用比喻来描述一下
可以这样理解:
我们在训练模型时,其实是在做:
给一个人无限做"完形填空"
但这个填空是:
-
全互联网级别
-
全语言
-
全领域
所以会产生一个长期结果:
这个人会逐渐学会:
-
语法
-
逻辑
-
常识
-
专业知识
-
推理模式
虽然没有人教"推理",但他会自己学出来了
7.6 为什么"能力会涌现(Emergence)"?
这是非常关键和神奇的核心现象。
什么说是涌现?
因为模型的参数在达到某个规模之前,是不会做数学题的.
当它的规突破到某个点之后,就突然会做了.
所以这也是为什么模型越大,能力越多 越完善.
为什么会涌现?
因为小模型只能记模式,然而大模型则大量的开始学结构
关键转折点:
当模型容量足够大:
可以同时表示"语言 + 逻辑 + 知识组合"
于是出现:
-
推理能力
-
代码能力
-
规划能力
它的本质不是"突然学会",而是:
从"记忆"升级为"结构建模"
7.7 为什么模型会写代码?
回到我们程序员最关心的问题.
很多人错误的认为,是因为GPT训练了 整个GitHub的资料
但是这是不完整或者说从抽象层面来说 是错误的理解.
作为程序员, 我们知道代码本质是一种高结构语言.
它的特点就是语法严格、逻辑明确、模式重复、上下文强约束.
模型通过训练GitHub学到的是:
"代码 Token 的统计规律"
举例:
java
if (x > 0) {
后面高概率是:
java
return ...
}
模型不是"理解代码",而是:
学会了代码世界的语言分布结构
7.8 为什么模型会"推理"?
推理在模型世界其实不是一种能力,而是:
语言结构的一种形式
例如:
text
如果 A > B,并且 B > C,那么 A > C
这种结构在训练数据中出现过无数次:
-
数学证明
-
教科书
-
解释文本
模型学到的是:
"这种 token 组合通常如何延续"
所以,在模型层面, 推理 = 高结构文本续写
7.9 非常重要的结论
这一节,我们先记住一个概念:
模型没有"理解世界",它只是学会了"世界如何被描述"
但是为什么在普通人看来像理解?
那是因为 人类语言本身就是"世界压缩后的表达"
7.10 为什么一个目标能统一所有任务?
我们把所有任务统一抽象理解:
写代码:
预测代码 token
翻译:
预测目标语言 token
总结:
预测压缩版本 token
推理:
预测逻辑延续 token
可以看出来,上面的所有任务,本质都是同一个问题的不同数据分布
7.11 一个更深层的抽象概念
LLM 本质不是分类器也不是推理机.
而是一个超大规模条件概率函数逼近器
它一直在做一件事:
学习函数:
P(token_{t+1} \| token_{1:t})
7.12 为什么这种函数会变成智能?
因为现实世界本身就通过人类语言形式,变成了"可压缩的结构"
模型则是在做:
-
继续压缩世界
-
学习规律
-
重建分布
最终就得到了: 语言能力 ≈ 智能能力的投影
7.13 总结
大模型的智能,不是来自"理解",而来自对人类语言分布的极致拟合,而语言本身已经编码了世界结构。
本章总结
我们了解了三个核心问题:
① 为什么 "预测下一个token"是有效的?
因为它迫使模型学习语言 + 世界结构
② 为什么会涌现能力?
因为模型规模足够大后开始学习结构,而不是记忆
③ 为什么一个目标能统一所有任务?
因为所有任务都可以被表达为"文本分布延续问题"
下一章预告
第八章:为什么大模型会"胡说八道"(幻觉的本质)
我们来理解:
LLM 为什么既强大,又不可靠