大模型数学速成(00):读 Transformer 前需要哪些数学?
你可能已经读过「Attention Is All You Need」的科普版,知道 Transformer 靠「注意力」连接 token;也可能看过 LLM 是「预测下一个词」的接龙游戏。但一旦打开技术文章或论文,公式里突然出现 $QK^\top$、LayerNorm、RoPE、KV Cache——矩阵维度对不上、符号各说各话,读几段就想关掉页面。
这一篇不讲任何具体公式,只回答一件事:接下来 11 篇数学速成,各自解决什么困惑、该怎么读。 把它当成进入 Transformer 计算世界的地图。
这是「大模型数学速成」系列的第 0 篇。本系列与「现代 C++ 实战」并行日更:同一天还会有一篇 C++ 文章,两线互不干扰。下一篇我们从最基础的约定说起——张量、维度,以及为什么「列 = token」。
一、为什么需要这个系列?
「小白讲 AI」系列刻意零公式:用图书馆、接龙、投票来类比 Transformer 和 LLM,降低入门门槛。那套讲法足够建立直觉,但不足以回答下面这类问题:
| 困惑 | 典型场景 |
|---|---|
| $Q \cdot K^\top$ 到底在算什么? | 读论文或框架文档里的注意力公式 |
形状 [768, 1024] 哪个是特征维、哪个是 token 数? |
对照推理引擎或 ggml 类布局 |
| LayerNorm 和 RMS Norm 差在哪? | ViT 用前者、LLM 常用后者 |
| 为什么推理时要 KV Cache? | 理解 Prefill / Decode 与显存占用 |
| GQA 是什么,和多头注意力什么关系? | 读 LLaMA、Qwen 等模型结构说明 |
本系列填补的,正是从直觉到算式之间的那一层:允许 KaTeX 公式,但坚持生活类比 + 手算小例子 + 表格对照,不推泛函、不证收敛。目标读者是:能写代码、读过 AI 科普、想在训练/推理里「算得明白」的开发者。
二、与「小白讲 AI」怎么衔接?
建议先具备以下直觉(本站均已发布,可跳转复习):
| 文章 | 你会带走什么 |
|---|---|
| 通俗理解 Transformer | Self-Attention、Encoder-Decoder 整体图景 |
| 什么是神经网络 | 权重、层叠、反向传播(本系列不展开训练) |
| 大语言模型是怎么工作的 | Next Token、Temperature、上下文窗口 |
若你完全没接触过 Transformer,请先读上表前两篇,再回来按本系列顺序阅读。若你已经在用 PyTorch / ONNX / llama.cpp 等工具跑模型,可以直接从第 01 篇的维度约定读起。
三、12 篇路线图
全系列共 12 篇(00–11),分三阶段。遇到不懂的概念,按表跳转即可,不必一次读完。
阶段 A:基础(第 01–03 篇)
| 篇号 | 标题 | 解决的核心问题 |
|---|---|---|
| 01 | 张量、维度与「列 = token」 | [n_embd, n_tokens] 怎么读;运算后形状怎么变 |
| 02 | 矩阵乘法:神经网络的基本变换 | 「握手规则」、手算例子;线性层在算什么 |
| 03 | Q/K/V 投影:同一输入,三种角色 | 为什么要乘三次 $W$;权重 vs 激活 |
阶段 B:Transformer 一块(第 04–07 篇)
| 篇号 | 标题 | 解决的核心问题 |
|---|---|---|
| 04 | LayerNorm、RMS Norm 与残差连接 | 数字量级稳定;深层网络为何能训 |
| 05 | 注意力机制与 Softmax | 检索类比;分数如何变成「概率选票」 |
| 06 | 前馈网络 FFN:GELU 与 SwiGLU | 注意力之后每个 token 如何「内部加工」 |
| 07 | RoPE:用旋转编码位置 | 模型如何知道 token 的先后顺序 |
阶段 C:推理专题(第 08–11 篇)
| 篇号 | 标题 | 解决的核心问题 |
|---|---|---|
| 08 | ViT 层 vs LLM 层:概念对照总表 | 视觉编码器与语言模型同一骨架的不同填法 |
| 09 | 多头注意力:多个专家各看各的 | 768 维如何拆成 12 个头再拼回 |
| 10 | GQA:分组查询注意力 | 为何 K/V 头数可以少于 Q;显存怎么省 |
| 11 | KV Cache:推理加速的关键 | Prefill / Decode;为何自回归离不开 Cache |
读完后,你应该能对照任意一篇 Transformer 结构说明,把符号和维度对上号,而不是死记公式。
四、阅读约定(读后续篇目前请先扫一眼)
4.1 张量布局:列 = token
本系列默认采用与 ggml / 部分 C++ 推理栈 一致的写法:
1 | [n_embd, n_tokens] |
PyTorch 训练代码里更常见 [batch, seq_len, hidden_dim](token 在中间)。不要死记括号位置,先看清当前段落采用的是哪一种,再对照行/列含义。第 01 篇会专门用图讲透这件事。
4.2 公式与符号
| 符号 | 含义 |
|---|---|
| $x$, $y$ | 向量(一列 token 的特征) |
| $W$, $b$ | 权重矩阵、偏置 |
| $Q, K, V$ | Query / Key / Value 投影结果 |
| $d$, $d_{\text{head}}$ | 特征维、每个注意力头的维度 |
| $\odot$ | 逐元素相乘 |
| $\text{softmax}$ | 把实数变成和为 1 的概率分布 |
行内公式用 $...$,独立公式块用 $$...$$(Hexo + Butterfly 主题支持 KaTeX)。
4.3 训练 vs 推理
| 侧重点 | 本系列覆盖 |
|---|---|
| 前向计算(张量怎么乘、形状怎么变) | 每篇都有 |
| 反向传播 / 优化 | 不展开;默认权重已训练好 |
| 推理优化(KV Cache、GQA) | 第 10–11 篇重点讲 |
五、和「现代 C++ 实战」并行读?
从 2026-07-04 起,博客同一天会发两篇:
- 现代 C++ 实战:语言特性、CMake、并发——偏工程与语言
- 大模型数学速成:矩阵与张量——偏模型结构理解
两系列没有前置依赖。你可以只追一条线,也可以交替读:上午看 C++ 移动语义,晚上看矩阵乘法——大脑换换频道,反而记得牢。
六、可选:用 NumPy 跟练(5 分钟)
后续第 02 篇会有一个 3 维 × 2 个 token 的手算例子。如果你想提前热身,可以在 Python 里验证「矩阵乘法不改变 token 列数」:
1 | import numpy as np |
两列输入、两列输出——列数不变,只是每个 token 的 3 维特征被重新混合。第 02 篇会逐步解释为什么 $W$ 的列数必须等于 $x$ 的行数。
七、本篇小结
| 要点 | 内容 |
|---|---|
| 系列目的 | 把 AI 科普里的直觉,落到可对照的公式与维度 |
| 前置阅读 | Transformer + LLM 科普;无则先补再读 |
| 结构 | 00 导言 → 01–03 基础 → 04–07 Transformer 块 → 08–11 推理 |
| 约定 | 本系列默认「列 = token」;公式用 KaTeX |
| 节奏 | 12 天发完;与 C++ 系列并行,可只追一条 |
系列导航
- 上一篇:无(系列起点)
- 下一篇:大模型数学速成(01):张量、维度与「列 = token」(计划 2026-07-05 发布)
- 相关:通俗理解 Transformer · 大语言模型是怎么工作的









