本附录为速查手册风格,面向有一定编程基础但需要复习数学的读者。每个概念配有公式和一句话直觉解释。
A.1 线性代数
向量(Vector)
v=v1v2⋮vn∈Rn
向量是有方向的数组,在 LLM 中用于表示 token embedding——每个词对应一个高维向量。
点积(Dot Product)
u⋅v=∑i=1nuivi=∥u∥∥v∥cosθ
点积衡量两个向量的相似程度;cosθ 越接近 1,方向越一致。Attention 机制中 QK⊤ 本质就是大批量点积。
矩阵乘法(Matrix Multiplication)
C=AB,Cij=∑kAikBkj
A∈Rm×k,B∈Rk×n,结果 C∈Rm×n。线性变换的组合等于矩阵相乘。
转置(Transpose)
(AB)⊤=B⊤A⊤
行列互换;Attention 公式中 K⊤ 把 key 矩阵转置以便与 query 做矩阵乘法。
逆矩阵(Inverse Matrix)
AA−1=I,仅方阵且行列式非零时存在
逆矩阵用于"撤销"线性变换;深度学习中很少直接求逆,通常用梯度下降代替。
特征值与特征向量(Eigenvalue & Eigenvector)
Av=λv
矩阵 A 作用于特征向量 v 时,方向不变,仅缩放 λ 倍。特征值越大,该方向携带的"信息量"越多。
奇异值分解 SVD(Singular Value Decomposition)
A=UΣV⊤,A∈Rm×n
- U∈Rm×m:左奇异向量(正交)
- Σ∈Rm×n:对角奇异值矩阵(非负,降序排列)
- V∈Rn×n:右奇异向量(正交)
低秩近似:取前 r 个最大奇异值,A≈UrΣrVr⊤,用 r(m+n) 个参数近似原矩阵。LoRA 正是利用这一思想:冻结原权重 W,只训练低秩扰动 ΔW=BA(B∈Rm×r,A∈Rr×n,r≪min(m,n))。
A.2 微积分与梯度
导数与偏导数
f′(x)=dxdf=limh→0hf(x+h)−f(x)
∂xi∂f:固定其他变量,只对 xi 求导
偏导数衡量"单独改变某个参数时,损失如何变化"。
链式法则(Chain Rule)
dxdz=dydz⋅dxdy
多层复合函数求导时,逐层相乘。反向传播(Backpropagation)本质是对整个计算图自动应用链式法则。
梯度下降(Gradient Descent)
θ←θ−η∇θL
- θ:模型参数
- η(learning rate,学习率):步长大小
- ∇θL:损失 L 对 θ 的梯度(指向上坡方向,取负号故向下走)
沿着梯度的反方向更新参数,损失函数逐步减小。
计算图(Computation Graph)直觉
将计算过程表示为有向无环图(DAG):节点是操作,边是数据流。前向传播从输入到输出;反向传播从输出到输入,沿每条边传递梯度。PyTorch 的 autograd 自动构建并反向传播此图。
:::tip 记忆技巧
链式法则 = "路径上所有斜率相乘"。计算图中从损失到某参数的每条路径,都贡献一份梯度。
:::
A.3 概率与统计
概率分布与条件概率
P(A∣B)=P(B)P(A∩B)
LLM 生成文本的本质:P(next token∣context)——在给定上下文的条件下,预测下一个 token 的概率分布。
Softmax
softmax(zi)=∑jezjezi
将任意实数向量(logits)转换为和为 1 的概率分布。温度参数 T 可调节分布锐度:softmax(zi/T),T→0 趋向 argmax,T→∞ 趋向均匀分布。
交叉熵损失(Cross-Entropy Loss)
L=−∑iyilogy^i
- yi:真实标签(one-hot,正确类别为 1,其余为 0)
- y^i:模型预测概率
对于语言模型的 next-token prediction,简化为 L=−logy^correct——正确 token 的概率越高,损失越小。
KL 散度(Kullback-Leibler Divergence)
DKL(P∥Q)=∑iP(i)logQ(i)P(i)≥0
衡量分布 Q 与参考分布 P 的差异;等于 0 当且仅当两分布完全相同。RLHF 中用于约束策略模型不偏离参考模型过远:LRLHF=r(x)−β⋅DKL(πθ∥πref)。
:::info 交叉熵与 KL 散度的关系
H(P,Q)=H(P)+DKL(P∥Q)。最小化交叉熵等价于最小化 KL 散度(当真实分布 P 固定时)。
:::
A.4 信息论基础
熵(Entropy)
H(X)=−∑ipilog2pi(单位:bits)
衡量随机变量的不确定性。pi 越均匀,熵越高(越不确定);某一事件概率趋近 1,熵趋近 0(完全确定)。
| 分布示例 | p | H(X) |
|---|
| 确定事件 | [1,0] | 0 bits |
| 均匀二值 | [0.5,0.5] | 1 bit |
| 均匀八值 | [1/8,…] | 3 bits |
困惑度(Perplexity)
PPL=2H(X)=2−N1∑i=1Nlog2P(wi∣w<i)
困惑度是语言模型的核心评估指标,直觉上等于"模型在每个位置平均需要从多少个候选中猜测下一个词"。
- PPL=1:模型完全确定(完美预测)
- PPL=V(词表大小):模型完全随机猜测
- 典型 GPT-2 在 WikiText-103 上约 18–29;GPT-4 级别约 5–10
与熵的关系:PPL=eH(使用自然对数时),即困惑度是熵的指数。熵每减少 1 bit,困惑度减半。
:::warning 注意
困惑度依赖测试集和 tokenizer,不同模型之间的 PPL 只有在相同条件下才可比较。
:::
| 概念 | 核心公式 | 在 LLM 中的作用 |
|---|
| 点积 | u⋅v | Attention 相似度计算 |
| SVD / 低秩 | A≈UrΣrVr⊤ | LoRA 参数高效微调 |
| 链式法则 | dxdz=dydzdxdy | 反向传播基础 |
| 梯度下降 | θ←θ−η∇θL | 参数更新规则 |
| Softmax | ezi/∑ezj | logits → 概率分布 |
| 交叉熵 | −∑yilogy^i | 语言模型训练损失 |
| KL 散度 | ∑Plog(P/Q) | RLHF 约束项 |
| 困惑度 | eH | 语言模型质量评估 |
掌握以上数学工具后,正文各章中出现的公式推导将不再是障碍——它们都是这些基础积木的组合。