阅读前置:建议先完成深度学习入门指南神经网络架构详解:RNN与LSTM。本系列为 P3 前沿解读第二篇。


为什么你必须理解 Transformer?

AI双周速递·创刊号 里我们聊到:Kimi K3 以 2.8 万亿参数登顶全球最大开源模型,DeepSeek V4-Flash 正式版上线——这些新闻的主角,底层都是同一个架构:Transformer

2026 年的今天,从 GPT 到 Claude,从 Kimi 到 Qwen,从写代码到画图,几乎所有你能叫出名字的 AI 能力,都是 Transformer 的子孙。理解它,你就拿到了读懂整个 AI 世界的钥匙。


一、Transformer 解决了什么问题?

2017 年之前,处理序列数据(文本、语音)的主流是 RNN/LSTM。它们的问题很致命:必须一个词一个词地顺序处理,就像你读书只能一个字一个字读,而且读完前面就忘了后面(长期依赖问题)。

2017 年,Google 发表论文 《Attention Is All You Need》,提出 Transformer。它的革命性在于:

  1. 并行处理:所有词同时被处理,训练速度快了几个数量级
  2. 注意力机制:每个词可以直接”看到”序列中任意其他词,彻底解决长期依赖
  3. 可扩展性:堆更多层、更多参数就能变强——为大模型的”暴力美学”铺平了道路

一句话:RNN 是串行排队,Transformer 是全员开会——每个词都能直接和所有词对话。


二、注意力机制:Transformer 的心脏

2.1 直觉理解

想象你在读这句话:”昨天把球传给了小明,跑得真快。”

“它”指的是谁?你需要看上下文——“传给了小明”暗示”它”是一个人。注意力机制就是让模型学会这种”回看”的能力:每个词在理解自己时,会去”注意”句子中其他相关的词,并给它们分配不同的权重。

2.2 数学形式

注意力公式(这也是论文标题的由来):

1
Attention(Q, K, V) = softmax(QK^T / √d_k) × V

三个矩阵各有分工:

矩阵 角色 类比
Q(Query,查询) 我在找什么 你在搜索引擎输入的关键词
K(Key,键) 我有什么可被找到 网页的标题和标签
V(Value,值) 找到后给什么内容 网页的实际内容

计算过程三步:

  1. QK^T:每个词和所有词算相似度(关键词 vs 所有网页标题)
  2. softmax:相似度转成权重(哪些网页最相关)
  3. × V:按权重加权求和(把最相关的内容拼起来)

√d_k 是缩放因子,防止点积过大导致 softmax 梯度消失。

2.3 多头注意力:让模型”多角度”思考

一个注意力头只能关注一种关系。多头注意力(Multi-Head Attention) 把 Q/K/V 投影到多个子空间,并行计算 h 次:

  • 头 1 可能关注”谁和谁是主语关系”
  • 头 2 可能关注”哪个词修饰哪个词”
  • 头 3 可能关注”代词指向谁”

最后拼接所有头的结果。这就像让多个专家从不同角度分析同一句话,再综合结论。


三、Transformer 完整架构拆解

一个 Transformer 层 = 多头注意力 + 前馈网络 + 残差连接 + LayerNorm。

1
输入序列 → [词嵌入 + 位置编码] → 多头注意力 → 残差+归一化 → 前馈网络 → 残差+归一化 → 输出

3.1 词嵌入(Embedding)

把每个词映射成向量。比如 “AI” → [0.3, -0.1, 0.8, …]。”猫”和”狗”的向量距离近,”猫”和”汽车”距离远——语义相近的词在向量空间里靠得近。

想深入?看看 NLP入门:文本预处理与词向量,我们用 Word2Vec 手把手实现过。

3.2 位置编码(Positional Encoding)

注意力机制本身不感知顺序——“猫追狗”和”狗追猫”对它来说一样。所以需要给每个词加位置信息。原始论文用正弦/余弦函数生成位置向量:

1
2
PE(pos, 2i)   = sin(pos / 10000^(2i/d))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d))

现代大模型多用 RoPE(旋转位置编码),Kimi K3 就用了自研的 KDA 注意力 + RoPE 的变体。它让模型不仅能感知位置,还能外推到更长的序列。

3.3 前馈网络(FFN)

每个位置经过注意力后,再过一个两层的全连接网络(通常中间层是 4 倍宽度):

1
FFN(x) = max(0, xW1 + b1)W2 + b2

max(0, ·) 是 ReLU 激活。它给模型提供非线性变换能力——注意力负责”找关系”,FFN 负责”加工信息”。

3.4 残差连接与 LayerNorm

  • 残差连接x + Attention(x),让梯度能直接流过深层网络,解决”网络越深越难训练”的问题
  • LayerNorm:对每个样本的特征做归一化,稳定训练

这两个设计让 Transformer 能堆到几十上百层而不崩。


四、从 Transformer 到大模型:现代进化路线

理解了基础架构,再看 2026 年的前沿就轻松多了:

4.1 稀疏注意力(Sparse Attention)

原始注意力复杂度是 O(n²)——序列翻倍,计算量翻四倍。处理 100 万 token 的上下文(Kimi K3 的招牌)时这是天文数字。解决方案:

  • 局部窗口注意力:每个词只看附近 2048 个词(如 Mistral、Qwen)
  • LongCat 稀疏注意力(美团 LongCat-2.0,2026):真实 Agentic 编程场景优化

4.2 混合专家(MoE):Kimi K3 的核心秘密

我们在创刊号里说过 Kimi K3 是 896 个专家、每次激活 16 个。MoE 的思路:

  • 把 FFN 层拆成很多”专家”(子网络)
  • 每来一个 token,路由器(Router) 只挑最擅长的几个专家干活
  • 结果:总参数 2.8 万亿,但每次推理只激活约 1040 亿——容量是巨人的,算力成本是普通人的
1
MoE层输入 → 路由器选择 top-16 专家 → 16个专家并行计算 → 加权合并 → 输出

这就是”大模型的容量 + 小模型的效率”。

4.3 GQA 与混合注意力

  • GQA(分组查询注意力):多个 Q 头共享 K/V 头,显著减少 KV 缓存、降低推理成本——DeepSeek V4、Llama 3 都在用
  • 混合注意力:线性注意力 + 全注意力的组合(如 Qwen3.5 的 Gated DeltaNet + Gated Attention),在长上下文和效率间找平衡

五、动手:20 行代码看注意力(PyTorch)

理论讲完,直接看代码。这段代码实现单头注意力的核心计算:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import torch
import torch.nn.functional as F

def attention(query, key, value):
"""
query: (batch, seq_len, d_k) — 查询
key: (batch, seq_len, d_k) — 键
value: (batch, seq_len, d_v) — 值
"""
d_k = query.size(-1)
# 1. 计算相似度:Q·K^T
scores = torch.matmul(query, key.transpose(-2, -1))
# 2. 缩放:除以 sqrt(d_k)
scores = scores / (d_k ** 0.5)
# 3. softmax 转权重
weights = F.softmax(scores, dim=-1)
# 4. 加权求和
output = torch.matmul(weights, value)
return output, weights

# 示例:3个词的序列,每个词8维
batch, seq, d_k = 1, 3, 8
q = torch.randn(batch, seq, d_k)
k = torch.randn(batch, seq, d_k)
v = torch.randn(batch, seq, d_k)

output, weights = attention(q, k, v)
print("输出形状:", output.shape) # (1, 3, 8)
print("注意力权重:\n", weights) # 每个词对其他词的关注程度

试试:把 weights 打印出来,观察每行(每个词)对其他词的权重分布——这就是模型”注意力”的可视化。想更完整地训练模型,先看 PyTorch实战(一):张量操作与自动微分


六、总结与下一步

核心记忆点

  1. Transformer 用注意力机制取代 RNN,实现并行 + 长距离依赖
  2. 注意力公式 softmax(QK^T/√d_k)V:Q 找、K 被找、V 给内容
  3. 多头注意力让模型多角度理解;位置编码补上顺序信息
  4. MoE 让 Kimi K3 做到 2.8 万亿参数但推理便宜
  5. 残差 + LayerNorm 是深层网络的稳定器

学习路径建议

读懂 Transformer,你就读懂了 90% 的 AI 新闻。下一期速递,我们再聊 Kimi K3 的 MoE 和 DeepSeek V4 时,你已经是”内行”了。


思考题(欢迎在评论区讨论):如果注意力是”全员开会”,那 MoE 路由器像什么?为什么说”容量大、激活少”是未来的方向?