FOUNDATIONS / 02 TRANSFORMER

注意力,不是让模型
“更专心”那么简单

它把序列建模从“一步一步传话”改成“每个位置直接检索相关位置”。 这一变化解决了长距离依赖,也把训练变成高度并行的矩阵计算。

LEVEL
L0 直觉 → L2 公式
PREREQ
只需基础概率概念
CORE
Q · K · V · Softmax
TIME
约 55 分钟
STATUS
首版可读 · 继续补图

00 MENTAL MODEL

读完以后,你应该能画出一个 Token 的完整旅程

文本先被切成 Token,Token 变成向量;自注意力让每个位置从其他位置收集信息, 前馈网络在每个位置内部加工;残差和归一化让几十上百层能够稳定堆叠。

K3 的复杂架构仍然没有离开这张图:KDA 与 MLA 替换“位置之间交流”的具体机制, Stable LatentMoE 替换 FFN,Attention Residuals 改变层与层之间的传递,MoonViT 把图像也转成可进入主干的表示。

01 LANGUAGE MODELING

大模型最底层的训练题:根据前文猜下一个 Token

一段文本的联合概率可以用链式法则拆开: 第一个 Token 的概率 × 在第一个已知时第二个的概率 × 在前两个已知时第三个的概率……。 语言模型只要不断学会这些条件概率,就能给整段文本分配概率。

P(x₁, x₂, …, xₙ) = ∏ₜ P(xₜ | x₁, …, xₜ₋₁)这只是概率链式法则,本身不规定用 N-gram、RNN 还是 Transformer 计算条件概率。

训练时,我们已知句子后面的正确 Token,因此可以把一段文本整体右移一位做标签,所有位置并行产生损失。 模型对正确 Token 给出的概率越低,负对数损失越大。

L = − Σₜ log Pθ(xₜ | x<ₜ)交叉熵训练不会直接写入“事实库”或“推理规则”;这些结构是模型为降低大量预测误差而在参数中形成的。

为什么这样简单的任务会学到很多东西

要准确补全“牛顿在 1687 年出版了……”,模型需要吸收事实;要补全一段代码,需要跟踪变量和语法; 要补全论证,需要建模前提与结论。下一个 Token 预测没有显式要求“理解”,但数据中的各种规律都会降低预测损失。 模型容量和数据足够大时,许多规律共享同一套内部表示,因此出现广泛迁移。

但不要反过度解释

预测目标能诱导知识与能力,不保证事实永远准确、推理过程忠实或目标与人类一致。 这正是检索、后训练、验证器和安全对齐仍然必要的原因。

02 DISTRIBUTED REPRESENTATION

Token ID 没有意义;Embedding 才是模型能计算的语义坐标

Tokenizer 把文本分成词、子词或字节片段,并映射为整数 ID。ID 只是目录编号: 42 比 17 大,不代表第 42 个 Token 语义更强。Embedding table 根据 ID 查出一个可训练向量, 后续网络只处理这些连续数值。

TOKEN小猫ID = 4821
lookup
EMBEDDING[0.18, −0.42, 0.07, …, 0.31]d 个可学习维度

“分布式表示”的要点是:一个概念不放在单个神经元里,而分散在许多维度; 一个维度也参与表示许多概念。相似用法的 Token 在训练中往往形成相近或具有稳定关系的向量。 Bengio 2003 的神经概率语言模型和 2013 年 Word2Vec,是这条历史线的关键节点。

同一个词在不同句子里怎么办

初始 embedding 对同一个 Token 固定不变,但经过 self-attention 后会变成 contextual representation。 “苹果发布手机”和“吃一个苹果”里的“苹果”起点相同,周围 Token 通过注意力写入不同上下文后,深层表示会分开。

03 SEQUENTIAL BOTTLENECK

Transformer 之前:信息像传话游戏一样逐步穿过 RNN

RNN 每读一个 Token,就把旧隐藏状态和新输入合成新状态。理论上最后状态可以包含全部历史; 实际上,遥远信息必须经过许多次变换,梯度也必须沿时间反向穿过这些步骤。 LSTM/GRU 用门控缓解遗忘与梯度问题,但训练仍然按时间顺序,难以把序列位置全部摊到 GPU 上并行。

RNN / 顺序传递
x₁h₁h₂h₃h₄

x₁ 的信息要到 h₄,必须走过每一个中间状态。

SELF-ATTENTION / 直接检索
x₁x₂x₃x₄↘ ↓ ↙x₄′

x₄ 可以在一层内直接读取 x₁、x₂、x₃。

2014 年 Seq2Seq 用 encoder 把源句压进固定向量,再由 decoder 生成目标句。长句表现受限时, Bahdanau Attention 让 decoder 每一步不再只依赖最后一个 encoder state,而能对全部 encoder states 加权读取。 注意力最初是一座跨 encoder—decoder 的桥;Transformer 的突破是让桥本身成为主体。

04 ATTENTION

注意力本质上是一次可学习的“软检索”

每个位置提出一个 Query;所有位置提供 Key 和 Value。Query 与 Key 的匹配度决定从相应 Value 读取多少信息。 因为权重是连续概率,而不是只选择一个位置,所以称为“软”检索。

INTERACTIVE / SELF-ATTENTION

点一个词,看它“回头看”谁

示意权重不是训练模型的真实输出;它只帮助理解一次注意力查询的流程。

QUERY / 我正在理解

Query 是当前词提出的问题:“为了更新我的表示,我应该从哪些词取信息?”

小猫
7%
坐在
15%
柔软的
5%
垫子
55%
18%
图 02 单个注意力头的教学示意。真正的模型会在每一层、每个头上并行进行类似计算,权重由 QKᵀ 经缩放和 softmax 得到。

为什么相似度之后要除以 √dₖ

若 Q、K 的每个分量方差相近,维度越高,点积的典型幅值越大。softmax 输入过大时会接近 one-hot, 梯度变得很小。除以 √dₖ 把数值尺度拉回较稳定范围,这就是 Scaled Dot-Product Attention 的“scaled”。

Attention(Q, K, V) = softmax(QKᵀ / √dₖ) · V先得到每个 Query 对所有 Key 的相似度,经 softmax 变成和为 1 的权重,再对 Value 做加权和。

05 QUERY · KEY · VALUE

Q、K、V 不是三份词义,而是三个可学习角色

同一个输入向量 x 乘三个不同矩阵,得到 Q、K、V。模型可以让“用于匹配的特征”和“匹配后真正搬运的内容”分开。 例如代词位置的 Query 可以强调性别/单复数线索,名词位置的 Key 暴露这些线索, Value 则携带更丰富的实体表示。

Q / QUERY

我在找什么?

当前位置为了更新自己,需要哪类上下文信号。

K / KEY

我能被怎样找到?

每个来源位置公开哪些匹配特征。

V / VALUE

找到后带走什么?

一旦获得权重,真正汇入目标位置的信息内容。

Multi-Head 的意义

单个注意力分布必须把多种关系挤在一起。Multi-Head 将表示投影到多个较小子空间: 不同 head 可以学习局部搭配、指代、结构边界、长距离依赖等不同模式,最后拼接并线性投影。 “某个头一定是语法头”并没有保证;head 的功能是训练中形成的,常常混合且可替代。

Causal Mask 为什么不可少

训练 decoder-only 模型时,位置 t 的输入序列里同时存在后续 Token。若不遮住未来位置, 模型会直接偷看答案。Causal mask 把 QKᵀ 右上三角设为负无穷, softmax 后未来权重变成 0;这样所有位置仍可并行训练,却遵守生成时只能看过去的约束。

06 TRANSFORMER BLOCK

Attention 只负责交流;FFN 才负责每个位置内部加工

一个现代 decoder block 通常由两类子层组成:Attention 在位置之间混合信息; FFN 对每个位置独立应用相同的非线性变换。残差让子层学习“在现有表示上改多少”, Normalization 则控制数值尺度。

Pre-Norm 与 Post-Norm

原始 Transformer 在残差相加后做 LayerNorm(Post-Norm)。更深模型常把 Norm 放到子层之前(Pre-Norm), 让主残差路径更接近恒等映射,梯度传播更稳定。许多现代模型使用 RMSNorm,省去均值中心化, 并用 SwiGLU 替代简单 ReLU FFN。K3 进一步把 FFN 替换为 Stable LatentMoE,并用 AttnRes 重做跨深度信息流。

07 TRAINING & GENERATION

训练能并行看完整答案;生成却必须一次走一步

TRAINING / TEACHER FORCING

一段文本同时产生许多训练题

输入“今 天 天 气”,标签右移为“天 天 气 好”。因果 mask 阻止偷看,四个位置可并行算损失。

INFERENCE / AUTOREGRESSIVE

新 Token 不存在,必须逐个生成

先产生第一个,再把它放回输入产生第二个。KV Cache 避免每一步重算全部旧 Token 的 K/V。

这个差异解释了为什么训练吞吐和线上生成速度是两套系统问题,也解释了 K3 为什么同时关心 KDA state、MLA KV Cache、推测解码 draft model 和 fleet scheduling。

Logits 怎样变成一个 Token

最后一层表示经 LM head 投影到词表大小,得到每个 Token 的 logits。temperature 调整分布尖锐程度, top-p/top-k 截断候选,再采样或取最大值。它们改变选择策略,不会给模型增加知识,也不能修复错误推理。

08 COMMON MISCONCEPTIONS

六个最容易带进后续论文的误解

误解 01

Attention 权重就是模型解释

权重只描述某层某头的 value 混合比例;它不必等价于最终预测的因果解释。

误解 02

上下文越长就记得越好

窗口是容量上限;检索、位置偏差、干扰和训练分布决定模型是否会用。

误解 03

参数越多,每次计算一定越贵

Dense 模型大致如此;MoE 可让总参数远大于激活参数,但引入路由和通信成本。

误解 04

Tokenizer 只影响输入长度

它还决定模型看到的基本单位,影响跨语言效率、数字/代码规律与词表输出。

误解 05

模型在数据库里查答案

预训练知识分布在参数计算中;显式检索需要外接索引、工具或上下文。

误解 06

CoT 是模型真实内心记录

生成的推理文本可用于求解和检查,但不保证完整、忠实地暴露内部因果过程。

LANDMARK PAPERS

从问题到 Transformer 的关键论文链