Transformer 与扩散模型

机制、推导与可交互实验

作者

穆盼盼

发布于

2026年10月14日

前言

本书讲的是机制,不是用法。

市面上讲 Transformer 与扩散模型的材料大致分两类:一类告诉你”这是什么、怎么调 API”, 另一类直接给你论文与公式。中间缺了一层——为什么这个式子长这样、哪一项在解决什么问题、 把它拿掉会具体怎么坏。这一层恰恰是想自己动手改模型的人最需要的。

本书面向已具备微积分、线性代数与概率论基础、会写一点 Python,但尚未系统学过深度学习的读者。 每一章从一个真实的技术困境切入,把核心推导在正文里一步步推完, 并用可在浏览器里改参数的交互实验把机制变成能看见、能拨动的东西。

全书地图

这本书讲两条技术线。它们共享同一套零件,但走的是相反的方向。

  • 上篇(第 1–4 章)· Transformer:文本进,下一个 token 的概率出。
  • 下篇(第 5–8 章)· 扩散模型:噪声进,数据出。
图 1  全书地图。左栏是一个 Transformer 从输入到输出,右栏是一个扩散模型从噪声到数据;每个环节标注了负责它的章节。

两条线各自在讲什么

上篇把一个 Transformer 拆开看:注意力怎么算(第 1 章)、 一个 Block 里还有什么(第 2 章)、它是怎么训出来和怎么推理的(第 3 章)、 训练完之后能不能从里面读出东西(第 4 章)。

下篇换一个生成范式:先定义一条”把数据逐步破坏成噪声”的前向过程, 再学它的逆过程(第 5 章);然后处理”怎么用更少的步数采样”(第 6 章)、 “怎么让生成听条件的话”(第 7 章)、“文字是怎么进入图像的”(第 8 章)。

两篇的交界在图的底部:第 1 章的多头注意力, 在第 8 章会以交叉注意力的形式再出现一次—— 那时它的 K、V 来自文本,Q 来自图像。 同一个运算,两种用法。 这也是把两篇放进同一本书的理由。

章节依赖

章 主题 需要先读
1 注意力:从加权平均到缩放点积 —
2 一个 Transformer Block 的解剖 1
3 训练与推理的两副面孔 1、2
4 注意力里能读出什么 1、2
5 从加噪到去噪:扩散的数学骨架 1、2(第 3、4 章不必读)
6 训练目标与采样器 5
7 条件生成:CFG 到底是什么 5、6
8 文字如何进入图像 5、6、7;以及第 1 章的注意力

第 4 章是旁支:它不依赖第 3 章,第 5 章也不需要它。 想尽快进下篇,读完第 1、2 章就可以跳过去。

三条阅读路线

只关心大语言模型:第 1 → 2 → 3 → 4 章,读完附录 B(术语表)即可。 这条路线回答的是”一个 GPT 到底在做什么”。

只关心图像生成:第 1 → 2 → 5 → 6 → 7 → 8 章。 第 1、2 章不能跳——第 8 章的交叉注意力就是第 1 章的多头注意力, 而第 7 章的 CFG 要用第 5、6 章的采样公式。 只读下篇会卡住,这不是保守说法。

完整读一遍:按顺序 1 → 8。 第 4 章读起来最轻松,可以放在任何位置当作休息。

每一章开头都有一张”本章地图”

从这一版起,每一章的第一段都是一个四行的定位块:

你在这里 · 本章解决 · 前置 · 读完能做

它的作用是让你在任何一个地方翻开书,都知道自己站在整张图的哪一格。 如果你只记得住一件事,记住这个:这本书的每一节,都能在这张图上找到位置。

怎么用这本书

  • 交互实验:每章 2–3 个,是独立的 HTML 文件(experiments/ 目录), 可单独打开、全屏投影。HTML 版书里已内嵌;PDF 版里是同一实验的静态快照 + 本地文件路径。
  • 配套 notebook:notebooks/ 目录。书里给出可运行的最小实现, notebook 里是可改、可跑的完整版本,全部能在纯 CPU 的笔记本上跑完。
  • 推导的分工:正文推完关键结论;冗长的完整展开(ELBO 逐项、重参数化证明、 score matching 的等价性)放在附录 A,正文只给路标。

一点约定

书里的每一个量化断言都应当是可复现的。凡是给出具体数值的地方, 都注明了它的来源(实测、论文、还是本机预计算)。 如果发现哪一处对不上,那是错误,请以你的复现结果为准。