🏠 总目录📚 本教程 主线 2 · 模型怎样看懂一句话 ← →
📑 本页目录(点开跳转)

主线 2 · 模型怎样看懂一句话

⏱ 12 分钟 | ⭐ 主线第二站


🎯 一句话

Transformer 的一层只反复做两件事:先看别人,决定谁和我有关;再自己加工,把得到的信息变得更有用。 堆很多层以后,每个 token 的向量就带上了整句话的语境。

每个 token 的向量注意力和相关 token 交流残差连接保留原来的自己FFN每个 token 自己加工更懂上下文的新向量原信息绕过来相加
箭头就是信息真正走的路径。注意力负责“交流”,FFN 负责“加工”,残差让信息能安全地往深层走。

先看注意力解决什么问题

猫猫追追老鼠老鼠,,它它跑跑查询被看的词(Key)「它」把注意力分给了「猫」和「老鼠」—— 指代消解不是规则写出来的,是学出来的
颜色越深=注意力越高。看「它」那一行:模型把注意力分给了「猫」和「老鼠」。⭐ 这种指代关系没有人写规则告诉它,是从数据里学出来的 —— 这就是注意力的价值。

读“猫没抓到老鼠,因为它跑得太快”时,“它”到底指谁?只看“它”自己没有答案;要回头看“跑得太快”与“没抓到”这些线索。

注意力做的正是这件事:当前 token 对句中所有可见 token 打分,把更相关的信息拿得更多。 这里的“注意力”不是人类意识,而是一种可学习的加权取信息方法。

处理“它”时:不是找最近的名词,而是给线索分配权重猫老鼠它跑得太快
粗线 = 更多信息;“老鼠”和“跑得太快”共同让“它”带上正确语境。

Q、K、V:不是三个神秘新概念

输入向量 xQ 查询我在找什么×WK 键我能提供什么×WV 值我实际的内容×WQ·Kᵀ → 谁该看谁加权求和 V → 输出同一个输入,乘三个不同的矩阵,得到三个不同角色⭐ 一个查字典的类比:Q 是你要查的词,K 是词条标题,V 是词条内容Q·Kᵀ 算出「和每个词条有多匹配」,再按匹配度把 V 混起来 —— 这就是注意力
同一个输入乘三个不同矩阵,得到三个不同角色。⭐ 一个查字典的类比:Q 是你要查的词,K 是词条标题,V 是词条内容 —— Q·Kᵀ 算出和每个词条有多匹配,再按匹配度把 V 混起来。

同一个 token 向量会被三套不同的线性变换投影成 Q、K、V。可以暂时这样理解:

名字 人话角色 在“它”这个例子里的问题
Q(Query) 当前 token 想找什么 “我是代词,我可能指谁?”
K(Key) 每个 token 可以被怎样匹配 “我是名词、动作还是线索?”
V(Value) 真正被取走的内容 “如果你关注我,我能提供什么信息?”

“它”的 Q 会分别和所有可见 token 的 K 打分。打分大,说明这次更值得关注;Softmax 再把一组分数变成总和为 1 的权重。最后不是直接复制“老鼠”,而是按权重把所有 token 的 V 混合起来,所以“它”的新向量会同时带上“老鼠”“逃跑”“太快”等线索。

想知道公式在说什么?

常见写法是 softmax(QKᵀ / √d) V。QKᵀ 是“当前 token 和每个候选 token 的匹配分数”;除以 √d 是避免维度大时分数过于极端;Softmax 把分数变成比例;最后乘 V 就是按比例取信息。公式没有额外魔法,正是上面四步的压缩写法。

一层里另外两个零件

LayerNorm多头自注意力每个位置去看所有位置LayerNorm前馈网络 FFN逐位置独立变换残差残差输入输出(喂给下一个完全一样的块)「看别人」位置之间交换信息「想自己」每个位置各算各的⭐ 一个块只做两件事堆几十个,就是大模型
一个块只做两件事:「看别人」(注意力,位置之间交换信息)和「想自己」(FFN,每个位置各算各的)。⭐ 两条蓝色残差旁路是深层能训起来的关键 —— 把这个块堆几十个,就是大模型。

多头不是“多个人格”

一次注意力只是一种看关系的角度。多头注意力相当于同时开几条小通道:有的更容易学到指代,有的可能更关注句法或远距离线索。人不会给每个头分配任务;它们从数据里自己学出来。

多头的价值不是“多算几遍取平均”,而是让模型能在同一层里同时保留几种关系。随后它们的结果会拼回去再混合。某一个头不必永远负责一种清晰的人类概念;真正有用的语义往往分散在许多头和许多层里。

✅ 检查点

点开核对

注意力横向地从其他 token 取信息;FFN 纵向地加工当前 token;残差把旧信息直接保留下来,三者一起让层能叠得很深。

🔗 想再深一层,去哪一套

去哪 为什么
ML 基础 14 · 通往 Transformer 这一页把注意力讲成「该从谁那里拿信息」;那一章把它写成矩阵乘法和 Softmax,从 RNN 一步步推过来
ML 基础 附录C · 手撕代码速查 ⭐ 想动手:第 2、3 题用纯 numpy 写缩放点积注意力和多头注意力,一段一段能跑
AI 基础设施 08 · FlashAttention 序列一长,那个 n×n 的中间矩阵就写不回显存 —— 工程上是怎么绕开的

🛑 可以停在这里

你已经掌握了理解后续章节必需的骨架。Q/K/V 的矩阵乘法、Softmax、头维度属于第二遍再学的内容。

⚡ 走神救援

Transformer 不会一次“看懂整句”。它让每个 token 反复向其他 token 取信息,再更新自己的向量。下一页看:生成时为什么它不能偷看后面的答案。

👉 02c-为什么都是Decoder-only.md

打卡记录保存在你的浏览器里,首页能看到总进度