Transformer 解剖:从 Attention 到推理系统

Transformer 解剖:从 Attention 到推理系统

一本写给工程师的 Transformer 专著:既讲数学,也讲它在 GPU 上每一秒钟在做什么。

打开任何一篇关于大语言模型的论文,最底下的 backbone 大概率都是这张图:

flowchart LR
  X[输入 token 序列] --> EMB[Embedding + 位置编码]
  EMB --> B1[Transformer Block × N]
  B1 --> NORM[Final LayerNorm]
  NORM --> HEAD[LM Head / 分类头]
  HEAD --> Y[输出 logits]

GPT、Llama、DeepSeek-V3、Claude、Gemini——它们的差异藏在每个 Block 内部的细节里:注意力是不是分组共享(GQA / MQA)、FFN 是不是稀疏激活(MoE)、位置编码是 RoPE 还是 ALiBi、归一化放前面还是后面(Pre-LN / Post-LN)、激活函数是 GELU 还是 SwiGLU。但「Transformer Block × N」这个骨架本身,已经九年没变过了。

九年没变过的东西,值得彻底解剖一次。

这本书在解剖什么

这本书有三条主轴,对应你看到一段大模型代码时心里会冒出来的三类问题。

第一条:Attention 到底是怎么算的。 Q、K、V 三个矩阵从哪来,缩放点积里的 √d 为什么不能省,softmax 把分布拉宽还是压窄,Multi-Head 是把同一件事做 N 遍还是把 N 件事做一遍。位置编码为什么从 sinusoidal 一路演化到 RoPE,每一次演化解决了什么具体问题。这是数学层。

第二条:Transformer 在工程上长什么样。 Encoder / Decoder / Decoder-only 各自的归宿,BERT 与 GPT 的范式之战,Tokenizer 选 BPE 还是 SentencePiece,词表多大算够用,从零写一个 mini-GPT 训练它写古诗——读者会在这部分动手把整个 Transformer 跑起来。这是工程层。

第三条:推理系统是怎么榨干这台机器的。 这是本书最厚的部分,也是大多数 Transformer 教程不讲的部分。你的显卡在跑一次推理时,时间到底花在了哪里?为什么 Prefill 阶段是计算密集、Decode 阶段是访存密集?KV Cache 凭什么能让一次推理快几百倍、又凭什么会把显存打满?PagedAttention 解决了 KV Cache 的什么病?INT4 量化为什么能省 75% 显存却几乎不掉点?投机解码是怎么用一个小模型替大模型「赌」出加速的?Flash Attention 为什么不是「更聪明的算法」而是「更懂内存层级的实现」?TP / PP / EP 三种并行各自适合多大的模型?

读完这三条主轴,你会建立一种很具体的能力:看到一段大模型代码、一段推理日志、一张 GPU 利用率曲线,能立刻在心里把它对应到 Transformer 的某个组件、某段计算、某个显存区域——而不是停留在「这是个黑盒」。

这本书面向谁

前置知识:本书假设读者熟悉 Python、PyTorch(能看懂 nn.Linear / nn.Module / 反向传播),具备线性代数基础(矩阵乘法、向量内积、softmax),了解神经网络训练的基本概念(损失函数、优化器、梯度下降)。不要求读者读过 Attention 论文,也不要求懂 CUDA 或者并行计算——这些会在用到的章节随讲随用。

目录

第一部分 · 为什么是 Transformer

第二部分 · 注意力机制

第三部分 · 架构家族

第四部分 · 从零实现

第五部分 · 规模化

第六部分 · 推理系统

终章

与其他书的关联

引用与版本

本书涉及的论文与代码版本(2026 年 5 月锁定):

来源 版本 / 提交
Attention Is All You Need arXiv:1706.03762v7(2023 修订版)
GPT-2 / GPT-3 / GPT-4 OpenAI 公开技术报告
Llama 1 / 2 / 3 Meta 官方论文与 meta-llama/llama 仓库主分支
DeepSeek V2 / V3 DeepSeek 官方技术报告
Flash Attention 1/2/3 Tri Dao et al. 三代论文
vLLM v0.6.x 主分支
Karpathy nanoGPT 主分支(用于第 8、9 章实操)

每一条引用都会在出现处给出文献编号或仓库路径,读者可逐项核对。

版权声明

本书采用 CC BY-NC 4.0 许可协议。转载或引用请署名 杨艺韬 并附原文链接,禁止商业用途。