Week 2 — 走进机器内部
Sign in
The Visible LLM · 第 2 课 / 共 6 课
Week 2 — 走进机器内部
Tokens、Embeddings、Attention、Transformers

Adventure 8

我们上次讲到哪了
Week 1 快速回顾一下
  • LLM 就是一台「预测下一个词」的机器 — 就这么简单
  • 它每次从一个概率分布里挑一个 token
  • 所谓「智能」,是把这件事做到巨大规模后涌现出来的副作用
  • 如果还有哪里模糊,现在就停下来问

Adventure 8

今天的目标
3 小时后你会掌握什么
这是技术密度最高的一周。第一次听有些地方没跟上很正常 — Week 3 我们会再回过头来用一次。
Tokens
讲清楚一句话怎么变成 tokens — 以及为什么不是「单词」
Embeddings
把 embeddings 描述成一张「意义地图」上的坐标
Attention
走一遍 attention 是怎么让模型「回头看」前面的词的
Transformers
画出 Transformer 一层的内部结构 — 这个水平大部分成年人都做不到

Adventure 8

热身
先让我看看你带来了什么
讲技术内容之前 — 先看你上周带来的 5 个项目想法。
每一个,问三个快速的问题:
输入是什么?
用户提供什么、输入什么?
输出是什么?
系统返回什么?
真的会有谁来用?
说出一个真实的人,不要说「随便谁都行」

我们 还不 要淘汰任何想法。只是先把它们说清楚。

Adventure 8

Part 1 — Tokens
「Apple」是怎么进到机器里的?
如果 你 要从零开始教一台电脑读英文 — 你会让它看什么?
三个显而易见的方案,每个都有大问题:
整个单词
词表爆炸;处理不了「ungoogleable」这种新词
单个字符
太慢;模型每次都要重新学一遍「the」
介于两者之间
这就是真实 LLM 的做法 — 它叫 token

Adventure 8

Tokens 就像乐高积木
今天会一直用这个比喻:一大盒乐高积木。
  • 有些积木是常用的整个单词(「the」「cat」「and」)
  • 有些是词的碎片(「ing」「tion」「un」)
  • 有些是单个字符或标点
  • 模型把这些积木拼起来,就读懂了你的句子

Adventure 8

Tokenizer 会「贪心地」拼
构建 token 词表的算法叫做 Byte-Pair Encoding (BPE).
01
从单个字符开始
02
找最常出现的一对
比如「t」+「h」=「th」
03
把它合并成一个新 token
04
重复几千次
最后得到大约 5 万到 20 万个可复用的小块

模型通过读几十亿份文档,自己「发现」了一套属于它的乐高积木。

Adventure 8

Knowledge Check — 现场试一下
platform.openai.com/tokenizer
在浏览器里打开 OpenAI 的 tokenizer。输入下面这些,看看会发生什么。
从简单的开始 — 先猜,再看结果:
输入
Tokens
hello
1 token
Hello, world!
4 tokens
unbelievable
2 tokens
antidisestablishmentarianism
先猜一下 ❓

Adventure 8

Knowledge Check — 再难一点
混合不同语言,看看会怎样
数一数每个的 token 数 — 有些结果会让你意外:
输入
语言
Tokens
「hello」
英文
1
「你好」
中文
?
「こんにちは」
日文
?
「مرحبا」
阿拉伯文
?
"🎉🚀"
Emoji
?

非英文语言通常会用 更多的 tokens 来表达每个字符。同一个意思,API 账单会贵不少。

Adventure 8

为什么 ChatGPT 数不清字母
一个著名的难题:问 LLM 「strawberry 里有几个 R?」
很多模型会说 2 而不是 3。这不是笨 — 这是架构决定的。
  • 模型看到的 straw + berry 是 两个 tokens
  • 它从来没看到过单个字母
  • 它数的是积木,不是字符

Adventure 8

Tokens 就是你为 AI 付费的方式
每一次 API 调用都是按 token 计费的。到这一刻,tokens 不再抽象。
模型
输入费用(每 100 万 tokens)
Claude Sonnet 4
$3
GPT-4o
$2.50
GPT-4o-mini
$0.15

一本 500 页的书 ≈ 20 万 tokens ≈ 喂给 Claude 一次大约 0.6 美元。要做产品?token 数学 = 利润数学。

Adventure 8

✓ 要点
Tokens — 要点回顾
进入 embeddings 之前,先把这几条锁定:
子词级别的小块
tokens 不是「单词」 — 它们是「碎片」
5 万到 20 万的词表
BPE 通过合并常见组合来构建词表
非英文更贵
同一个意思,token 更多,账单更高
看不到单个字母
模型从来看不到一个 token 内部长什么样
API 账单就是 token 账单
token 数 = 费用

Adventure 8

Part 2 — Embeddings
然后呢?从 tokens 到数字
模型现在有了带 ID 的 tokens — 比如 [15496, 11, 995] 代表「Hello, world!」
但这些只是 ID。它们识别一个 token,就像球衣号码识别一个球员 — 它们不带 意义.
我们怎么教模型「cat」更像「dog」而不是更像「rocket」?

Adventure 8

想象一张巨大的地图 — 每个词都住在上面
想象一张地图 — 不是 2D 的,而是有 几百个维度.
你的大脑想象不出这个。我的也想象不出。所以画图我们用 2D。但原理是一样的:
  • 每个 token 在这张地图上都有一个坐标
  • 意思相近的 tokens 会聚在一起
  • 距离 = 语义相似度
  • 这个坐标就叫做 embedding

Adventure 8

「看一个词怎么跟别的词混,就知道它是什么意思」
这是语言学家 J.R. Firth 在 1957 年的一个想法 — 现代 LLM 是这个想法最成功的实现。
模型通过读几十亿句话,关注这些信号,就学会了 embeddings: 上下文:
哪些词常和哪些词出现在一起
几十亿句话里的共现模式
邻居相似 → 坐标相似
经常待在一起的词,在地图上也会挨得近
没人给任何东西打标签
全是数据自己干的活

Adventure 8

King − Man + Woman = ???
这件事在 2013 年左右真的把 AI 研究者们震惊了。
取 King的 embedding,减掉 Man的 embedding,再加上 Woman.
地图上最近的那个点是: Queen.
模型从来没学过这条规则。地图的几何形状自己……就长成了这样。

这叫做 向量算术(vector arithmetic) — 而且对几十种关系都成立。

Adventure 8

它对很多种关系都成立
King–Queen 不是偶然。同样的算术对几十种关系都成立:
算式
结果
Paris − France + Germany
≈ Berlin
Walking − Walk + Swim
≈ Swimming
Bigger − Big + Small
≈ Smaller
这张地图捕捉的不只是意思,还有 意思之间的关系.

Adventure 8

地图映射的是数据
Doctor − Man + Woman ≈ Nurse
这不是随机的。这是一个被反复记录下来的偏见 — 对真实产品来说,它很重要。
训练数据里有什么,地图就反映什么
好的、坏的模式 — 都会被编码进来
语料里的刻板印象 → embeddings 里的刻板印象
不是故意的,但真实存在、可以量化
这就是为什么会有「偏见缓解」这件事
真实的产品必须主动去修正这一点

Adventure 8

✓ 要点
Embeddings — 要点回顾
进入 attention 之前,先把这几条锁定:
高维地图
现代 LLM 每个 token 用 1,000 到 12,000 个维度
意思相近就聚在一起
距离 = 语义相似度
向量算术真的成立
King − Man + Woman = Queen — 几何就是这样自然长出来的
偏见也一并带进来
地图映射训练数据 — 优点缺点都包括

Adventure 8

Part 3 — Attention
AI 是怎么理解「她」的?
「Mike gave the book to his sister because she wanted to read it.」
你的大脑瞬间就搞清楚了。我们慢动作回放一下:
词
指的是
she
his sister — 不是 Mike
it
the book — 不是 sister
his
Mike — 不是 book
模型是怎么做到的?

Adventure 8

Attention = 打一束聚光灯
模型每处理一个词,就有一束聚光灯,按相关性照亮前面的词。
🔆 亮
「注意这个词」
🔅 暗
「大致可以忽略这个词」
模型的「思考」就是: 在前面的词之间重新分配注意力.

Adventure 8

模型有不止一束聚光灯
模型不是只有一束聚光灯。它有很多束 — 通常是 12 到 128 束。
  • 每一束聚光灯专门负责一种关系
  • 一束追踪主语 → 动词
  • 一束追踪代词 → 它指的是谁
  • 一束追踪形容词 → 名词
  • 所有的聚光灯并行运行;结果合在一起
这叫做 multi-head attention(多头注意力).

Adventure 8

为什么这套机制干掉了老方法
更早的神经网络处理文本是 顺序的 — 就像用手指头一个一个字地读。
1
顺序处理(旧)
慢 — 没法并行。会忘掉远处的指代。嵌套层数多的句子读不下来。
2
Attention(新)
一次性读完所有内容。每个词都能看到每个其它词。并行、快、远距离也准。

Adventure 8

藏起来的代价
每个词都要看每个其它词,意味着 N×N 次比较.
句子长度
比较次数
100 个词
10,000
1,000 个词
1,000,000
100,000 个词
10,000,000,000

这就是为什么长 context window 贵 — 也是为什么每个模型都有一个硬上限。

Adventure 8

Knowledge Check — 现场看一遍
BertViz Demo — Google Colab
在 Google Colab 里打开一个 BertViz notebook。我们要真的亲眼看 attention 在发生。
01
挑一句话
02
跑模型
03
看 notebook 画线
这些线把词连起来,显示哪一个 head 在看哪里

有些 head 可以解释。大多数又奇怪、又漂亮。

Adventure 8

Attention 也会出错
Attention 不是魔法。它有几种典型的失败方式:
远距离指代
「The book that the man who lived next to the woman with the cat picked up...」 — 嵌套太多
干扰词
附近不相关的词会把注意力从相关的词那里抢走
位置混淆
当很多相似的词紧挨着出现
重复循环
模型注意自己刚生成的输出,然后卡住

搞懂这些失败方式 = Week 3 你能写出更好的 prompt。

Adventure 8

✓ 要点
Attention — 要点回顾
进入 Transformers 之前,先把这几条锁定:
聚光灯打在相关性上
attention 指向当下重要的、前面的词
多个 head 并行
12 到 128 束聚光灯,每一束追踪一种不同的关系
取代了顺序处理
更快,远距离也更准
代价按 N×N 增长
长 context window 贵 — 这是设计决定的
也会出错
远距离指代、干扰词、重复 — 知道它的弱点

Adventure 8

Part 4 — Transformers
Transformer 就是把 attention 一层一层叠起来
我们已经看过:
Tokens — 阶段 1:输入
句子 → 带 ID 的子词小块
Embeddings — 阶段 1:意义
ID → 高维地图上的坐标
Attention — 阶段 2:思考
每个词把聚光灯打在前面相关的词上
Transformer 把这些叠成很多层 — 就像一座 多层工厂 ,你的句子坐电梯一层层往上,每一层都把它打磨得更细。

Adventure 8

工厂的一层长什么样
Transformer 的每一层内部结构都一样。三个子组件,完全一致地重复:
1
Multi-head attention
聚光灯 — 所有 head 并行运行
2
Feed-forward network
一个对每个 token 都跑一遍的小神经网络
3
Layer norm + residual
保持数值稳定,不让计算炸掉

魔法不在任何一层里。魔法在于模型 跨所有层学到的东西.

Adventure 8

Encoder vs Decoder
2017 年最早那篇论文里两者都有。后来的模型把它们拆开,各自专精。
类型
做什么
用在哪
Encoder-only (BERT)
读 & 理解
搜索、分类、embeddings
Decoder-only (GPT、Claude)
读 & 生成
ChatGPT、Claude,所有的聊天机器人
Encoder-decoder (T5)
读一种,生成另一种
翻译、摘要

★ 这门课我们重点讲 decoder-only — Claude、GPT-4、Gemini 都是这个形状。

Adventure 8

架构之争的简短历史
2018 年前后,BERT 和 GPT-2 几乎同时发布。AI 圈分成了两派。
阵营 1 — BERT 派(2018–2020)
「理解才是难点。把 encoder 做好。」
阵营 2 — GPT 派(2019–现在)
「就预测下一个 token。规模够大,其它一切都会自然涌现。」
阵营 2 赢了。Decoder-only 模型扩展得更好。ChatGPT 就是证明。

Adventure 8

「涌现能力」的惊喜
一个让研究者震惊的发现:当你把 Transformer 做得更大时,能力会 突然涌现 — 在某些特定规模上。
规模
算术能力
100 亿 parameters 以下
算术很差
~500 亿 parameters 以上
算术突然就行了

这个转变是陡峭的,不是渐进的。这件事到今天还是很奇怪,没人完全搞懂。这就是为什么没有人能预测 GPT-6 会做出什么。

Adventure 8

✓ 要点
Transformers — 要点回顾
你现在已经知道了 2025 年所有商业 AI 系统背后的基本架构。
层层堆叠
Transformer = 很多层 attention + feed-forward
Decoder-only 是主流
GPT、Claude — 你用过的每一个聊天机器人都是这种
80–120 层深
现代前沿模型
涌现能力
能力会在某个规模上突然出现 — 至今没完全搞懂

大部分成年人 — 包括大部分软件工程师 — 都讲不清楚这个。上完 6 小时课,你能。

Adventure 8

动手时间
三道筛子 — 5 个想法 → 2 个
该收窄了。你那 5 个想法,每一个都过这三道筛子。要诚实。
1
输入/输出测试
你能用一句话把输入和输出都说清楚吗?
2
「谁在乎?」测试
你能说出一个真实的人会用它吗?
3
3 小时测试
3 小时内能不能做出一个能跑的原型?
目标:找出 通过全部三道筛子的 2 个想法.

Adventure 8

让每个想法依次过筛
我们一起,把你那 5 个想法一个一个过一遍。
对每一个想法:
01
大声读出来
02
依次过筛子 1、筛子 2、筛子 3
03
标记结论
存活 / 淘汰 / 调一下还能救

慢慢来。这是整门课里最重要的一次决策练习。

Adventure 8

Week 2 回顾
3 小时浓缩成一页
六个概念。我们再过一遍:
01
Tokens
子词级别的乐高积木;5 万到 20 万词表;BPE;费用 = token 数
02
Embeddings
每个 token = 高维地图上的一个坐标;距离 = 相似度
03
向量算术
King − Man + Woman = Queen — 几何就是这样自然长出来的
04
Attention
模型把聚光灯打在前面相关的词上
05
Multi-head
很多聚光灯并行;每一束追踪一种不同的关系
06
Transformer
很多层 attention + FFN 叠起来

Adventure 8

下周 — Week 3
Generation & Prompts
Week 3 讲 阶段 3:模型实际是怎么挑下一个词的。这一周会立刻升级你日常用 AI 的方式。
  • 🎲 Autoregressive generation(自回归生成) — 一次一个 token
  • 🌡️ Temperature — 创造力的旋钮
  • 🎯 Top-k / Top-p — 截断的旋钮
  • 🎭 System vs user prompts — ChatGPT 没告诉你的那部分
  • 🛠️ 5 个套路 永远管用 + 5 个要避开的反套路

这也是我们把你那 2 个想法收窄到 1 个的那一周。

Adventure 8

Week 3 之前
从现在到 Week 3 之间
下次课前做三件事。没有一件是难的。
🧠 和你的 2 个想法待一会儿
先别急着选。想象一下分别去做每一个。想象 6 个月后给朋友看每一个。
🔍 去玩 platform.openai.com/tokenizer
输入 10 个奇怪的字符串。观察其中的规律。
📖 把 Attention 那一节再读一遍
第二遍读会更通。
下周见。

Adventure 8