🏠 总目录📚 本教程 15 · 数学地基 ← →
📑 本页目录(点开跳转)

15 · 数学地基:只补真正必需的

⏱ 22 分钟 | 🎁 看你要挖哪块才需要


🎯 一句话

大模型需要的数学,比劝退帖说的少得多。 这一章告诉你:挖哪一块需要什么数学,以及哪些可以彻底不学。


🚫 先划掉不需要的

打勾 = 可以彻底不管(除非你要发论文):

「学大模型要先学完高数线代概率论」是劝退,不是建议。 你在推荐算法教程里已经验证过这一点了。


📊 按方向对照:你需要什么

你想挖的方向 需要的数学 难度
RAG(第 8 章) 向量、点积、余弦相似度 ⭐ 你已经会(推荐算法附录C)
推理优化(第 6 章) 几乎不需要,会算显存乘法就行 ⭐ 极低
本地部署(第 7 章) 不需要 ⭐ 无
Transformer 原理(第 2 章) 矩阵乘法、softmax、向量维度直觉 ⭐ 低
微调 LoRA(第 5 章) 上面 + 「低秩」的直觉 ⭐ 低
训练与对齐(第 4 章) 上面 + 概率分布、交叉熵、梯度下降直觉 ⭐⭐ 中
图像生成(第 10 章) 概率分布、马尔可夫链、变分推断的直觉 ⭐⭐ 较高
可解释性研究(第 12 章) 线代较扎实 + 实验统计 ⭐⭐ 高

🔑 关键结论:实用价值最高的两块(RAG、推理优化)数学要求几乎为零。 数学门槛高的(图像生成、可解释性)恰好是最偏研究的。


🧮 核心工具箱(够 80% 场景)

① 向量与点积 —— 你已经会了

关键信息

a · b = a₁b₁ + a₂b₂ + ·
衡量两个向量"对不对得上"
出现在:Attention 的 QK^T、RAG 的相似度检索、Embedding 匹配

🔗 推荐算法教程附录 C 已经讲透,直接复用。

💡 一个能立刻用上的直觉:

因果链

点积大→两个向量【方向接近】→语义相似
点积 0→两个向量【互相垂直】→没关系
点积负→方向相反
⭐ 但点积会被【向量长度】影响:
长向量和谁点积都大→所以检索时通常用【余弦相似度】
cos(a,b) = a·b / (‖a‖·‖b‖) ← 先归一化,只看方向

⚠️ 一个真实的坑:有些 embedding 模型的输出没有归一化。 直接用点积做检索,会系统性偏向那些"长度大"的向量—— 先 normalize 再检索,这一行代码能修掉一类莫名其妙的召回问题。

② 矩阵乘法 —— 只需知道形状怎么变

关键信息

(m×k) × (k×n) = (m×n)
↑ 中间必须相等
看模型代码时,90% 的困惑是"这个张量形状对不对"
会推形状,就能看懂大部分实现

💡 实用技巧:读代码时在注释里标形状(# (B, L, D)),比任何数学推导都有用。

大模型代码里最常见的三个形状记号:

记号 含义 典型值
B batch size(一次处理几条) 1 ~ 64
L sequence length(多少个 token) 512 ~ 128k
D hidden dim(每个 token 的向量维度) 768 ~ 8192

关键信息

⭐ 记住这一条,你能看懂一半的模型代码:
注意力矩阵的形状是 (B, L, L)
↑↑ 两个 L 相乘
这就是【长上下文为什么贵】的全部原因:
L 翻倍,注意力矩阵变【4 倍】大 ⭐

🔗 一个数字感受:L=1000 时注意力矩阵有 100 万个元素; L=100,000 时是 100 亿个。这就是第 6 章推理优化存在的理由。

③ Softmax —— 把数字变成概率

$$\text{softmax}(x_i) = \frac{e^{x_i}}{\sum_j e^{x_j}}$$

信息关系

[2.0, 1.0, 0.1]→[0.66, 0.24, 0.10] 和 = 1
出现在:Attention 权重、下一个词的概率分布
温度 T:softmax(x/T)
T 小→分布尖锐→输出确定、保守
T 大→分布平坦→输出随机、有创意

💡 这就是你调 temperature 参数时在动的东西。

三个和你日常调参直接相关的推论:

现象 数学解释
T=0 时输出完全确定 分布退化成 one-hot,永远选概率最大的那个
T 很大时输出变胡言乱语 分布趋于均匀,低概率的怪词也可能被选中
top_p / top_k 在做什么 先砍掉长尾再归一化——避免那 0.001% 的怪词被抽中 ⭐

💡 实用建议: 需要稳定/可复现 → T=0;需要多样性 → T=0.7~1.0 配合 top_p=0.9。 单独调大 T 而不限 top_p,是输出崩坏最常见的原因。

🔗 这一节讲的是 softmax 那个公式;落到 API 参数上的后果在 06b · 解码策略。

⭐ 去那里能补上这三行表格没说的:T、top_k、top_p 同时开时谁先生效(顺序不同结果不同), T=0 严格说不是把 T 代进公式(会除零),而是直接退化成 argmax, 以及三个 penalty(repetition / frequency / presence)算法上的区别,还有一条能直接省你半天的:

⚠️ 代码 / JSON / 工具调用场景这三个参数一律留 0——{ } " : 和 for return 本来就该反复出现,惩罚会间歇性打坏输出,最难查。

④ 交叉熵 —— 模型训练的损失函数

$$\mathcal{L} = -\sum_i y_i \log(\hat{p}_i)$$

💡 人话:真实答案是「猫」,模型说猫的概率是 0.9 → 惩罚小;说 0.01 → 惩罚极大。 它狠狠惩罚「很自信但错了」。 语言模型的训练目标就是它(预测下一个词的交叉熵)。

🔗 推荐算法教程附录 C 讲过,完全一致。

⑤ 梯度下降 —— 不用会推导,理解比喻即可

信息关系

蒙眼下山:感受哪边是下坡(梯度)→朝那迈一小步(学习率)→重复
参数 = 参数 - 学习率 × 梯度
你需要知道的三件事:
· loss 不降→学习率太小
· loss 变 NaN / 剧烈震荡→学习率太大(除以 10)
· loss 降但验证集变差→过拟合

求导交给框架:loss.backward() 一行搞定。


🎓 进阶:只有挖特定方向才需要

概念 用在哪 要不要现在学
低秩分解 LoRA 为什么有效(第 5 章) 有直觉就够:「改变量的有效维度很低」
KL 散度 ⭐ DPO / RLHF 的约束项(第 4 章)、知识蒸馏的损失、变分推断 「两个分布差多远」这个直觉能撑一阵子。但只要你真去调 RLHF 或蒸馏,就必须补一件事:KL 不对称,$\mathrm{KL}(p\|q)\ne\mathrm{KL}(q\|p)$,写反了模型行为完全不同(一个逼你铺开、一个逼你钻进一个峰)。那一章还证了最小化交叉熵 = 最小化 KL = 最大似然,能把这里的第 ④ 条串起来
马尔可夫链 / 变分推断 扩散模型(第 10 章) 只有挖图像生成才需要
信息论(熵、互信息) 量化、蒸馏的理论分析 可选
统计检验 评测显著性(第 11 章) 🔗 推荐算法第 12 章已学

📚 补数学的正确姿势

流程图

❌ 错误:先花三个月系统学线代和概率论,再开始学模型
90% 的人死在这一步,且学的东西大半用不上
✅ 正确:直接开始,卡住了再回头补那一个点
「这个 softmax 是干嘛的」→查 10 分钟→继续
带着问题学,记得牢、不浪费

🔑 这和你在推荐算法教程里用的策略一致——附录 C 只有 8 个知识点,够用了整套教程。

如果确实想系统补一点,优先级: 1. 线性代数的几何直觉(向量、矩阵变换)—— 3Blue1Brown 的视频系列 2. 概率基础(分布、期望、条件概率) 3. 其他都可以等到卡住再说


🔗 想更深一层去哪

你想搞清楚 去哪
梯度下降/反向传播的完整机制 《机器学习基础》第 8-9 章
为什么损失函数是交叉熵而不是别的 ⭐ 《数学原理》第 1 章
注意力是怎么从 RNN 演化来的 《机器学习基础》第 13-14 章
高维向量的反直觉性质(RAG 检索必知) 《数学原理》第 5 章 维度灾难 ⭐
评测的统计显著性 《推荐算法》第 12 章 A/B 实验

💡 其中最值得顺手看一眼的是「维度灾难」: 它解释了为什么高维向量检索里"最近邻"会变得没有意义—— 做 RAG 的人不知道这个,会在召回效果上撞墙而不知道为什么。


✅ 检查点

  1. 大模型领域有哪些数学是可以彻底不学的?
  2. 实用价值最高的两块(RAG、推理优化)数学要求如何?
  3. 点积和余弦相似度什么区别?检索时该用哪个?为什么?
  4. B、L、D 分别是什么?注意力矩阵是什么形状?这解释了什么?
  5. temperature 参数在数学上动的是什么?为什么单独调大 T 容易崩?
  6. 读模型代码时最实用的技巧是什么?
  7. loss 变成 NaN 通常是什么原因?
  8. 补数学的正确姿势是什么?
👀 答案
  1. 积分技巧、极限级数、矩阵求导推导、凸优化理论、测度论、手推反向传播。
  2. 几乎为零——RAG 只需向量点积(已会),推理优化只需会算显存乘法。
  3. 点积会被向量长度影响(长向量和谁点积都大);余弦相似度先归一化,只看方向。检索该用余弦。⚠️ 有些 embedding 模型输出没归一化,先 normalize 再检索能修掉一类莫名的召回问题。
  4. B=batch size、L=序列长度、D=hidden dim。注意力矩阵形状是 (B, L, L)——两个 L 相乘,所以 L 翻倍矩阵变 4 倍大,这就是长上下文为什么贵。
  5. softmax 的温度:softmax(x/T)。T 小分布尖锐输出保守,T 大分布平坦输出随机。单独调大 T 而不限 top_p,那 0.001% 的怪词就可能被抽中——这是输出崩坏最常见的原因。
  6. 在注释里标张量形状(如 # (B, L, D)),会推形状就能看懂大部分实现。
  7. 学习率太大导致梯度爆炸。把学习率除以 10 试试。
  8. 别先花三个月系统补(90% 的人死在这一步,且学的大半用不上)。直接开始,卡住了回头查 10 分钟那一个点——带着问题学,记得牢也不浪费。

🛑 可以停在这里

⚡ 走神救援

先记住这几件事

下一节 👉 16-你该挖哪一块.md ⭐ 决策章

打卡记录保存在你的浏览器里,首页能看到总进度