第二章总结
从 Bit 到 AGI · 第二章:数学(Math) · 第二章总结
第一章把世界读成 Bit 与浮点数组;第二章把这些数组放进可计算的数学框架。本篇串联向量→矩阵→GEMM→梯度→概率→点积→Softmax 的知识链,给出「读代码 / 读论文时该想起什么公式」的速查表,并指向第三章:信息论。
我们学了什么
核心公式速查
| 主题 | 公式 | 代码里常见 |
|---|---|---|
| 向量存储 | tensor.numel() * element_size | |
| 矩阵乘 FLOPs | @, matmul, cuBLAS | |
| 梯度 | loss.backward() | |
| SGD | optimizer.step() | |
| 链式法则 | autograd 计算图 | |
| 点积 | a @ b | |
| L2 范数 | torch.norm(g, 2) | |
| Softmax | F.softmax(logits, -1) | |
| Cross-Entropy | F.cross_entropy(logits, y) | |
| 贝叶斯 | weight decay |
量化心智模型
读 LLM 配置时,用本章数字快速估算:
| 问题 | 心算方法 |
|---|---|
| 一个 hidden 向量占多少显存? | 字节(bf16) |
| 线性层参数量? | |
| Attention 算力随 context 怎么变? | |
| 反向比前向贵多少? | FLOPs ≈ 2× |
| 词表输出层多大? | 参数 |
| PPL 30 意味着什么? | ,平均相当于 30 选 1 |
7B 模型 bf16 权重: GiB。梯度 + optimizer states(Adam 再 ×2–3)→ 训练显存远超推理。
章节文章索引
- 向量是什么 — ,embedding 的基本单位
- 矩阵是什么 — batch 与权重的容器
- 为什么矩阵乘法这么重要 — GEMM 占 >90% 算力
- 梯度是什么 — 最陡上升方向,训练用负梯度
- 导数为什么可以学习 — 局部线性近似
- 偏导数是什么 — 每个参数一个偏导
- 链式法则是什么 — 反向传播数学基础
- 为什么损失函数可以下降 — 泰勒一阶 + 学习率
- 概率是什么 — LLM 输出分布
- 贝叶斯是什么 — 先验、MAP、weight decay
- 点积是什么 — attention 得分
- 范数与距离 — 裁剪、检索、正则
- 特征值的直觉 — 稳定性与初始化
- Softmax 与 Logits — 输出层与 CE loss
与后续章节的衔接
| 本章概念 | 后续用到 |
|---|---|
| 概率、 | 第三章:熵、交叉熵、KL 散度 |
| 向量、点积 | 第四章:神经元、MLP |
| 矩阵、Softmax | 第五章:Self-Attention、Transformer |
| 梯度、链式法则 | 第七章:预训练、优化器、学习率 schedule |
| GEMM FLOPs | 第八章–第九章:推理与 GPU |
动手复盘
用 5 分钟跑通「最小训练环」,巩固本章概念:
import torch
import torch.nn.functional as F
# 数据:10 类,输入 784 维
X = torch.randn(32, 784)
y = torch.randint(0, 10, (32,))
# 一层线性 = 矩阵乘 + logits
W = torch.randn(10, 784, requires_grad=True)
logits = X @ W.T # GEMM
loss = F.cross_entropy(logits, y) # log-softmax + CE
loss.backward() # 链式法则 → 梯度
print(W.grad.shape) # (10, 784) 与 W 同形
print(f"loss={loss.item():.3f}, grad_norm={W.grad.norm():.2f}")学习路径建议
若时间有限,按依赖顺序精读:
- 必读(打地基):向量 → 矩阵 → GEMM → 梯度 → 链式法则 → Softmax
- 训练必读:偏导 → loss 下降 → 概率 / CE
- 进阶直觉:点积(attention)→ 范数(clip)→ 特征值(稳定)→ 贝叶斯(正则)
每篇的 Python 片段建议本地跑一遍;改数字观察 gradient、loss、softmax 输出变化——比死记公式有效。
自测清单
读完本章,你应能口头回答:
- 、bf16 的一个向量占多少 KiB?
- 线性层 多少参数?
loss.backward()后W.grad的 shape?- 为什么 attention 算力 ?
- CE = 2.3 对应正确类概率多少?
- 为什么
F.cross_entropy要 logits 不要 softmax 后的 ?
若有任一卡住,回到对应篇章复习。
与代码库的映射(本仓库)
本专栏站点 daiw 后续章节实现 Transformer、训练脚本时,本章公式会反复出现:site-config 不管数学,但 content/manual/bit-to-agi/ 各章 MDX 即你的「公式索引」。读 PyTorch 源码或 HuggingFace modeling_*.py 时,对照本章 shape 表逐行 trace。
术语对照(中英)
| 中文 | 英文 | 本章篇章 |
|---|---|---|
| 向量 | vector | what-is-a-vector |
| 矩阵 | matrix | what-is-a-matrix |
| 梯度 | gradient | what-is-gradient |
| 偏导数 | partial derivative | what-is-partial-derivative |
| 链式法则 | chain rule | chain-rule |
| 点积 | dot product | dot-product |
| 特征值 | eigenvalue | eigenvalues-intuition |
| 对数几率 | logit | softmax-and-logits |
下一章预告
第三章 信息论 回答:为什么 cross-entropy 是「天然」loss?熵 、KL 散度、互信息与压缩、预测的统一视角——把本章「概率 + 」升维到比特语言。读 cross-entropy.mdx 前,确保本章 Softmax 与概率篇已读。
本章 15 篇构成最小数学闭环:数据结构(向量、矩阵)→ 运算(GEMM、点积)→ 优化(梯度、链式法则)→ 输出(概率、softmax)。不必一次背熟;写代码、读 config、看 loss 曲线时回来查表即可。
时间投入建议
零基础:2–3 天,按 meta.json 顺序通读 + 跑每篇代码块。有 ML 基础:当公式索引,重点读 GEMM、链式法则、Softmax 三篇。复习:只看本章总结速查表 + 自测清单。
读者备忘
本章是公式索引,不是一次考试。写训练脚本时回来查 FLOPs 与 shape;读论文时回来查符号定义。下一章信息论把 解释成比特——与第一章 Bit 闭环。建议 bookmark 本章总结速查表;第四章起会反复引用向量、矩阵、梯度与 softmax。
本章内容面向程序员:公式可手推,数字可心算,代码可运行。遇到符号不熟时,先查本篇定义表,再查总结篇速查表,不必一次背熟全部细节。
小结
第二章建立了 AI 数学的最小完备集:数据结构(向量、矩阵)→ 核心运算(GEMM、点积)→ 优化(梯度、链式法则、下降)→ 输出(概率、Softmax)。不必成为数学家;看到论文公式时,能对应到「shape、FLOPs、backward 在算什么」即可。下一章进入信息论——从「预测 = 压缩」理解 cross-entropy 为何是天然 loss,并与第一章 Bit 形成闭环。
→ 下一章:第三章:信息(Information)