你可能已经读过「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
2
3
[n_embd, n_tokens]
↑ ↑
特征维 token 个数(每一列是一个 token 的向量)

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
2
3
4
5
6
7
8
9
10
11
12
13
14
import numpy as np

W = np.array([[2, 0, 1],
[0, 1, 0],
[1, 1, 1]], dtype=float)
x = np.array([[1, 4],
[2, 5],
[3, 6]], dtype=float) # 3 行 2 列:2 个 token

y = W @ x
print(y)
# [[ 5. 14.]
# [ 2. 5.]
# [ 6. 15.]]

两列输入、两列输出——列数不变,只是每个 token 的 3 维特征被重新混合。第 02 篇会逐步解释为什么 $W$ 的列数必须等于 $x$ 的行数。

七、本篇小结

要点 内容
系列目的 把 AI 科普里的直觉,落到可对照的公式与维度
前置阅读 Transformer + LLM 科普;无则先补再读
结构 00 导言 → 01–03 基础 → 04–07 Transformer 块 → 08–11 推理
约定 本系列默认「列 = token」;公式用 KaTeX
节奏 12 天发完;与 C++ 系列并行,可只追一条

系列导航