矩阵数学全景:从线性变换到现代 AI 架构
这是「矩阵数学」系列的合并长文,四部分从几何直觉走到现代架构:线性变换 → 特征值与 SVD → 神经网络的矩阵本质 → AI 架构的矩阵身份证。前两篇建立世界观(变换与复合、谱与低秩),后两篇把它应用到神经网络与前向反向传播,最终在 Attention、卷积、MoE 等组件里认出同一副骨架。四个交互组件(变换游乐场、特征向量探测器、MLP 实验室、im2col 演示)散布对应章节。
第一部分 · 线性变换:矩阵乘法的几何本质
这是「矩阵数学」系列的第一篇。所有大模型——从 Attention 到 LoRA 到卷积——剥开包装后都是矩阵运算,但很多人对矩阵的理解停留在"数字表格按规则相乘"。这个系列从几何直觉出发,把矩阵当成"对空间做的变换"来理解,一路走到现代 AI 架构里矩阵的每个化身。第一篇讲最核心的图景:矩阵 = 线性变换,矩阵乘法 = 变换的复合。
1. 向量:一枚硬币的两面
向量 v=(2,1) 有两种等价的读法:
- 几何视角:平面上一根从原点出发的箭头,长度 √5、方向约 26.6°;
- 数据视角:两个数排成一列——可以是(身高, 体重),也可以是一个词的 2 维 embedding。
线性代数的一切力量来自这两个视角的互相翻译:数据视角让计算机存储它,几何视角让人类理解它。神经网络里 token 的 4096 维向量,几何视角依然是"高维空间里的一个箭头"——只是画不出来,但方向、夹角、长度的概念全部有效(余弦相似度就是夹角)。
2. 矩阵的本质:基向量的落点清单
对平面做一次"线性变换"——旋转、拉伸、剪切、镜像——整块空间跟着变形。线性的准确含义是两条军规:直线保持直线(不弯折)、原点不动。由此推出一个决定性事实:
变换的全部信息,全部包含在两个基向量的落点里。
因为任何向量 v = x·i + y·j(i、j 是 x/y 轴单位向量),线性变换保持线性组合:T(v) = x·T(i) + y·T(j)。知道 i、j 去哪了,就知道一切向量去哪了。
把两个落点按列写下来,就是矩阵:
┌ ┐
M = │ a b │ 第 1 列 = i 的落点 (a, c)
│ c d │ 第 2 列 = j 的落点 (b, d)
└ ┘
于是矩阵乘向量 Mv 有了几何读法——把 v 的分量当作配方,混合基向量的新落点:
M · [x] = x · (i 的落点) + y · (j 的落点)
[y]
拖动下面的滑块亲手试:a/c 控制 i 的落点、b/d 控制 j 的落点,蓝色网格是变形后的整个世界。看剪切、旋转、镜像时基向量分别去了哪;把 det 拖到 0 看整个平面坍缩成一条线:
三个值得盯着的现象:
- 行列式 = 面积缩放因子:那个平行四边形是原单位方形的像,det=2 意味着任何图形面积翻倍;det<0 意味着空间被"翻了个面"(镜像);
- det=0 = 信息湮灭:平面被压扁成一条线(甚至一个点),无数不同的向量被映射到同一点,变换不可逆——这就是"奇异矩阵"的几何含义,也是数值里"满秩/退化"的来源;
- 橙色箭头是特征向量(下一篇的主角):变形中方向不变的轴,矩阵的一切"轴对称性"都藏在这里。
3. 矩阵乘法 = 变换的复合
先旋转 45° 再剪切,效果等价于某一个单独的变换——这个"合成变换"的矩阵,恰好等于 剪切矩阵·旋转矩阵。矩阵乘法的几何定义就是复合:
(M₂ · M₁) · v = M₂ · (M₁ · v) 先做 M₁,再做 M₂(从右往左读!)
这也解释了矩阵乘法为什么不可交换:先旋转再剪切 ≠ 先剪切再旋转——在下面的组件里想象两次操作顺序对调,结果显然不同。
4. 乘法的四种视角:AI 代码里的四张面孔
C = A·B 这一个公式,在 AI 系统里以四种面目反复出现。下面的组件用同一个 3×4 · 4×3 的例子在四种视角间切换,每种视角在右侧标注了它对应哪个 AI 场景:
① 元素视角(行·列点积):C[i][j] = A 的 i 行 · B 的 j 列。这是教科书定义,也是 GPU/NPU 众核并行的方式——每个输出元素一个任务(硬件篇的 Cube 单元干的就是这个)。
② 列视角(A 的列组合):C 的第 j 列 = A · (B 的第 j 列),B 的列元素是"把 A 的各列怎么混合"的配方。神经网络的一层 y = Wx 正是这个视角:x 的分量是配方,W 的列是新基。Embedding 查表也是它——one-hot 的 1 就是"只选第 k 列"的配方。
③ 行视角(B 的行组合):C 的第 i 行 = (A 的 i 行) · B。Attention 输出的每一行(每个 token 的新表示)= 按注意力权重混合 V 的行——推理篇"狗 = 0.6·V[小] + 0.4·V[追]"就是行视角的实例。
④ 外积和(秩一累加):C = Σₖ (A 的第 k 列) ⊗ (B 的第 k 行)——若干个秩一矩阵相加。这是最不直观却最重要的视角:LoRA 的"ΔW 低秩"假设直接对话它(训练篇),反向传播的权重梯度 dW = g·xᵀ 恰好就是一个外积(第三篇展开)。
四种视角是同一个数学对象,切换的时机取决于你要解释什么:讲并行看①,讲层与表示看②③,讲低秩与反传看④。
5. 从 2D 到 4096D:直觉的迁移
真实模型的矩阵是 [4096×4096] 起步,画不出网格——但所有几何概念原样迁移:
- "列是基向量落点" → 模型学到的 4096 个方向就是它内部的"概念坐标系";
- "矩阵乘 = 换坐标系" → 每一层都在把表示投影到新的坐标系,再用非线性折叠弯曲空间(第三篇);
- "det=0 信息丢失" → 可逆性判据在数值上变成条件数与秩,决定梯度是否稳定(第二篇);
- "复合从右往左" → 前向传播的代码顺序、链式法则的书写顺序,都源于此。
6. 小结
- 矩阵 = 线性变换的完整编码:列是基向量落点,Mv = 用 v 的分量混合这些落点;
- det 是面积因子,det=0 是信息坍缩;矩阵乘法 = 变换复合(从右往左执行);
- 乘法四视角各有 AI 化身:元素→硬件并行、列→线性层与 embedding、行→注意力输出、外积和→LoRA 与反传梯度;
- 2D 的几何直觉在高维全部有效,这是读架构论文时最趁手的思维工具。
下一篇进入矩阵的"骨架分析":特征值与 SVD——找到变换的不变方向,以及"低秩"为什么能以小博大。
第二部分 · 特征值、SVD 与低秩的威力
矩阵数学系列第二篇。上一篇把矩阵看成"对空间的变换",这一篇回答两个更尖锐的问题:这个变换的"骨架"是什么?(特征值/特征向量)以及能否用远少于全部的信息近似它?(SVD 与低秩)。这两个问题是 PCA、LoRA、推荐系统、模型压缩共同的数学地基。
1. 特征向量:变换的不变方向
大多数变换会把向量连转带拉弄到新方向,但几乎每个矩阵都留着几条"特权方向"——落在这些方向上的向量,被变换后只被拉伸、不转向:
A·v = λ·v v ≠ 0
v 叫特征向量,λ(拉伸倍数)叫特征值。几何图景:整个平面在变形,但这些轴像焊死了一样不动,只有刻度被缩放。
亲手找一次:下面的组件里你控制 v 的方向 θ,右侧实时画出 M·v——当两个箭头共线(判据亮绿)的那一刻,你就找到了一条特征向量,λ 直接读出来:
两个必看的实验:
- 旋转 45° 的预设:任何 θ 都无法共线——纯旋转没有实特征向量(λ 是复数)。"所有方向都在转"的矩阵,没有不变轴;
- 对称预设(a=d, b=c):两条特征方向互相垂直。这不是巧合,是谱定理。
2. 谱定理:对称矩阵 = 沿正交轴的纯缩放
若 A 是实对称矩阵(A = Aᵀ),它一定有 n 个互相垂直的单位特征向量 q₁…qₙ 和实特征值 λ₁…λₙ。把它们拼成矩阵:
A = Q · Λ · Qᵀ
Q 的列是特征方向(正交基),Λ 是对角阵(各轴的缩放倍数)。任何对称变换都等价于:转到特征坐标系 → 沿各轴独立缩放 → 转回来。矩阵再复杂,骨架不过是一组带缩放的垂直轴。
这条定理直接通向 PCA(主成分分析):数据协方差矩阵是对称的,它的最大特征值方向就是数据散布最开的"主方向"。降维 = 只保留前 k 个特征方向——保留散布最大的视角,扔掉接近噪声的视角。
数值健康的度量:λ_max/λ_min 是条件数的量级——两个方向的缩放差得越悬殊,求逆/解方程时误差放大得越狠(训练里梯度病的矩阵根源)。这就是为什么初始化要让权重接近"各向同性"(缩放均匀,条件数≈1)。
3. SVD:任意矩阵的"旋转—拉伸—旋转"
特征分解有两个限制:要求方阵、要求特征值实数存在。SVD(奇异值分解)对任何形状、任何矩阵都存在:
A = U · Σ · Vᵀ (m×n 矩阵也行!)
几何读法: 任何线性变换 = 旋转(Vᵀ) → 沿正交轴拉伸(Σ) → 再旋转(U)
σ₁ ≥ σ₂ ≥ … ≥ 0 叫奇异值,是 Σ 的对角元。它们与特征值的血缘:σᵢ² 恰是 AᵀA 的特征值。写成向量形式,SVD 把矩阵拆成了秩一成分之和——上一篇外积视角的主角回来了:
A = σ₁·u₁v₁ᵀ + σ₂·u₂v₂ᵀ + σ₃·u₃v₃ᵀ + …
每个成分是一个"方向对 (uᵢ, vᵢ) × 强度 σᵢ"。σ 的大小排序,就是这个成分的重要性排序——这引出了本篇的落点:
4. 低秩近似:用 5% 的信息保留 95% 的"图像"
Eckart–Young 定理:截断 SVD 的前 k 项(秩 k 近似 A_k = Σᵢ≤k σᵢuᵢvᵢᵀ)是所有秩 k 矩阵中对 A 的最佳逼近(Frobenius 范数意义下)。而误差恰好等于被扔掉的奇异分量:
‖A − A_k‖² = Σᵢ>k σᵢ²
亲手感受这个"重要性排序":下面的实验台用 6 个秩一成分(σ=30,15,8,4,2,1)加噪声构造一张矩阵"图像",拖动秩 k 看重建质量、能量占比曲线、相对误差:
三个观察点:k=1 时一个方向对就抓走大头(σ₁² 占能量绝对优势);k=6 后误差停滞——再高的秩只是在"拟合噪声"(这就是低秩方法天然抗噪的原因);能量曲线快速饱和的形状,就是"有效秩低"的标志。
5. 低秩思想在 AI 中的三个化身
PCA / 降维:协方差矩阵取前 k 特征方向——最早的"embedding"思想:高维数据其实躺在一个低维流形附近。
LoRA(训练篇):微调引起的权重变化 ΔW 被假设为低秩——SVD 视角下即"少数几个 (方向对 × 强度) 主导了行为的改变"。于是只需学 A∈[r×d]、B∈[d×r] 两个小因子(参数量 2dr 而非 d²),W+BA 就是秩 r 修正。实验反复验证:训练良好的 ΔW 的奇异值谱快速衰减——Eckart-Young 保证了这个低秩截断接近最优。
推荐系统:用户×物品的巨大评分矩阵近似为 用户因子·物品因子 的低秩乘积——"品味空间的维度远小于用户数×物品数"这一经验事实,与语言模型权重的低秩性同源。
6. 数值视角的补充:不要真的算特征分解
工程上两个提醒:
- 大矩阵的特征分解/SVD 是 O(n³),深度学习里几乎从不显式做——低秩是假设并参数化出来的(LoRA 直接把秩写进结构),而不是先有 ΔW 再分解;
- 对称矩阵的特征值对扰动敏感度 ∝ 条件数:谱越病态,越需要正交化/归一化技巧兜底——Transformer 里的 RMSNorm、QK-Norm(架构篇)本质都在给"矩阵的谱"上保险。
7. 小结
- 特征向量 = 变换的不变方向,λ = 拉伸倍数;纯旋转没有实特征方向;
- 谱定理:对称阵 = 正交旋转 + 各轴独立缩放——PCA 的地基,条件数量化矩阵的"病态程度";
- SVD 对任意矩阵成立:A = Σσᵢ·uᵢvᵢᵀ,奇异值排序 = 成分重要性排序;
- Eckart-Young:截断 SVD 是最佳低秩近似,误差 = 被丢弃的 σ² 之和——LoRA、PCA、推荐系统共享这条定理;
- 实践中低秩是"设计出来的自由度",不是"算出来的分解"。
下一篇把镜头切回神经网络:前向传播的每一层、反向传播的每一个梯度,如何全部落在本篇和上一篇建立的矩阵语言里。
第三部分 · 神经网络的矩阵本质
矩阵数学系列第三篇。前两篇建立了两件武器:矩阵是空间变换(复合、列组合、外积和),低秩是它的骨架分析。这篇回到神经网络本体,把前向传播与反向传播全部翻译成矩阵语言——你会发现"神秘的梯度下降"不过是几个矩阵乘法,而"为什么 GPU 爱神经网络"在这个视角下不证自明。
1. 一层网络 = 仿射变换 + 非线性折叠
最朴素的全连接层:
z = W·x + b 线性变换(上一篇的主角)+ 平移
a = σ(z) 逐元素非线性(tanh / ReLU / SiLU)
W·x 是纯线性变换(列视角:把 x 的分量当配方混合 W 的列);b 把原点平移;σ 逐元素弯折空间。为什么必须有 σ?用上一篇的复合视角一击即证:
W₂·(W₁·x) = (W₂W₁)·x 两个线性变换的复合还是一个线性变换
没有非线性,一百层网络等价于一层——深度失去意义。σ 的作用是在每次变换之间把空间"折弯",让网络能表达任意弯曲的映射(万能近似定理)。
2. batch = 矩阵:并行的来源
单个样本 x 是向量 [d],但工程上永远一批一起算——把 B 个样本按行堆叠:
X [B×d] · Wᵀ [d×h] → Z [B×h]
矩阵的第 i 行就是第 i 个样本的独立前向——批处理不是循环 B 次,而是一次大矩阵乘。这正是硬件篇 roofline 分析里"batch 是免费午餐"的矩阵本质:权重 Wᵀ 只读一次,服务所有 B 行。矩阵形状本身就是并行度的声明。
3. 前向与反向:亲手走一遍
下面的实验室是一个 2→4→2 的小网络(tanh 激活,MSE 损失)。拖动输入、步进六步:前向的每一步都标注了张量形状,最后一步展示反向传播的矩阵真相:
把这个组件的第 6 步展开成通式——反向传播的矩阵三定律:
① 梯度与参数同形:∂L/∂W 的形状永远等于 W 本身([h×d] 的权重配 [h×d] 的梯度)。读任何框架代码时,这一条能让你立刻看懂每个缓冲区是干嘛的。
② 权重梯度 = 上游梯度 ⊗ 本层输入(外积!):
∂L/∂W = (∂L/∂z) · xᵀ [h] ⊗ [d] → [h×d]
上一篇外积视角在此落地:每个权重的梯度矩阵是一个秩一矩阵(单样本时)。mini-batch 时是 B 个外积求平均。这也解释了 LoRA 的梯度形态:ΔW 的更新天然由"外积的累积"构成,而累积起来的东西如果方向集中,就是低秩的(第二篇)。
③ 误差往回传 = 再乘一次权重:
∂L/∂x = Wᵀ · (∂L/∂z) [h×d]ᵀ · [h] → [d]
梯度反向流过一层 = 乘一次转置矩阵。前向用 W,反向用 Wᵀ——这就是训练比推理费显存的根源之一(两套激活都要存),也是"梯度爆炸/消失"的机制:连乘的矩阵若特征值(谱半径)普遍 >1 则爆炸、<1 则消失——第二篇的谱分析直接上岗,RMSNorm/残差连接都是在给"反向连乘矩阵的谱"上保险。
4. 链式法则的矩阵形式:雅可比
单变量链式法则 dy/dx = dy/du · du/dx,向量版把每个"导数"升级为雅可比矩阵(J 的 [i][j] 元 = ∂outᵢ/∂inⱼ):
∂L/∂x = J₂ · J₁ · … · ∽ (反向 = 雅可比从右往左连乘)
好消息是实践中几乎从不显式构造雅可比——逐元素激活(tanh/ReLU)的雅可比是对角的(只乘对角元即可),线性层的雅可比就是 Wᵀ 加上输入侧的外积。反向传播的高效实现把这些结构都折叠成了三次矩阵乘/逐元素乘。
5. Embedding:矩阵乘法的极端稀疏特例
查表 E[token_id] 看似与矩阵无关,其实等价于:
one_hot(id) [V] · E [V×d] → [d]
one-hot 只有一个 1——列视角下就是"只挑 E 的第 id 列,系数为 1"。乘法退化为寻址,所以工程实现用查表;但语义上它是矩阵乘,这保证了"embedding 层可以被梯度训练"(它的梯度 dE = 上游梯度 ⊗ one-hot,恰好只更新被查过的行——矩阵语言自动解释了稀疏更新)。
6. 为什么矩阵是硬件的母语
把本系列的矩阵视角和硬件篇对上:
| 矩阵性质 | 硬件对应 |
|---|---|
| 元素独立计算(视角①) | 众核并行(GPU SM / NPU Cube 分块) |
| 规整的数据复用(行×列) | 分块缓存、高算术强度 → roofline 屋顶 |
| batch 拉大矩阵维度 | 提高算术强度 → 免费吞吐 |
| 大 GEMM 无分支 | 深流水满载,控制单元闲置最少 |
神经网络之所以"恰巧"适合硬件加速,是因为它的核心计算被刻意约束在了矩阵乘这一个原语上——框架(PyTorch 的 aten 算子)与芯片(Tensor Core/Cube)都围绕 GEMM 设计。CANN 篇里 TBE 算子调优的九成工作,就是把各种计算改写成更优形状的矩阵乘。
7. 小结
- 一层 = Wx+b(线性变换+平移)+ 逐元素非线性折叠;无非线性则复合塌缩为单层;
- batch 堆叠成矩阵,一次乘法并行全部样本——矩阵形状即并行度;
- 反向传播矩阵三定律:梯度同形、dW=外积、误差回传乘 Wᵀ;梯度爆炸/消失=反向连乘矩阵的谱问题;
- Embedding = one-hot 矩阵乘的稀疏特例,稀疏梯度更新由矩阵语言自动导出;
- 神经网络是"被刻意约束在矩阵原语上"的计算模型,硬件的全部设计围绕它。
最后一篇做总装:Attention、卷积、MoE、KV Cache——现代架构的每个明星组件,逐一还原成它背后的矩阵身份。
第四部分 · 现代 AI 架构的矩阵身份证
矩阵数学系列收官篇。前三篇建立了完整的矩阵世界观:变换与复合(一)、谱与低秩(二)、前向反向的矩阵三定律(三)。这篇做总装——把现代 AI 架构里的明星组件逐一"验明正身",你会发现Transformer、CNN、MoE 的每一处设计,都是在回答"怎样把智能塞进矩阵乘法这一个原语"。
1. 架构组件的矩阵身份证
先给一张总表,后文逐个展开:
| 组件 | 矩阵身份 | 视角 |
|---|---|---|
| Embedding | one-hot · E(稀疏矩阵乘 → 查表) | 列(一) |
| QKV 投影 | X·W_Q / W_K / W_V | 列(一) |
| 注意力分数 | Q·Kᵀ / √d_k | 元素(一) |
| 注意力输出 | softmax 行算子 · V | 行(一) |
| LayerNorm/RMSNorm | 逐行缩放(块对角矩阵) | 谱(二) |
| FFN/SwiGLU | 三个矩阵乘 + 逐元素门控 | 列(一) |
| LoRA 旁路 | ΔW = B·A 低秩修正 | 外积/低秩(一二) |
| 卷积 | im2col 重排 + GEMM | 元素(一) |
| MoE 路由 | one-hot 稀疏 · 专家堆叠 | 列(一) |
| KV Cache | 增量矩阵乘的缓存 | 元素(一) |
2. Attention:一个 Transformer 层的矩阵解剖
把 Transformer 篇的公式全部还原成矩阵语言(配合站内的交互式 QKV 图解食用):
Q = X·W_Q [B,T,D]·[D,D] 列视角: 换一套"查询坐标系"
K = X·W_K 同上
S = Q·Kᵀ/√d_k [B,T,T] 元素视角: 每对 token 一次点积 —— 全部相关性
A = softmax(S) [B,T,T] 逐行归一化(见下)
O = A·V [B,T,D] 行视角: 每行 = V 各行的加权混合
值得强调的是 softmax 的矩阵身份:行算子。它对矩阵的每一行独立归一化——用分块矩阵写,等价于乘一个由各行权重构成的(行内归一化的)块结构。行与行之间零交互,所以:
- 全部行可以完全并行(GPU/NPU 上 softmax 是带宽受限的逐行 kernel);
- 推理篇"每行和恒为 1"的约束正是行算子的定义;
- LayerNorm/RMSNorm 同理:减均值除方差(或除 RMS)也是逐行算子——架构里的"Norm"与"softmax"本质是插在 GEMM 之间的逐行缩放,这也是 CANN 篇算子融合(把 Norm 融进相邻 GEMM)能够成立的数学原因。
因果掩码则是矩阵语言里最优雅的一笔:左乘/右乘一个下三角 0/1 矩阵就能实现"只看过去",掩码 = 特殊结构的矩阵乘。
3. 卷积:被"重排"成矩阵乘的局部连接
CNN 的滑动窗口看似与矩阵无关——直到 im2col 出场:把每个感受野的元素抄成矩阵的一行,卷积核展平成一列,一次 GEMM 吃下整个卷积层:
im2col(X) [9×(C·kh·kw)] · K_flat [(C·kh·kw)×K] → [9×K] → reshape
下面的组件用 4×4 输入 × 2×2 核的最小例子双视角对照——左边滑动窗口每步 4 次乘法,右边 im2col 重排后一次矩阵乘。切换到矩阵视角走完五步:
两个要点:
- 代价是显存膨胀:im2col 矩阵比原输入大好几倍(重叠区域被复制),所以现代框架对大通道用隐式 GEMM/Winograd 优化——但"卷积本质是矩阵乘"的等价性不变;
- NPU/GPU 的设计动机:把一切归一到 GEMM,意味着芯片只需要把一种 kernel 做到极致(硬件篇的 Cube、Tensor Core)。im2col 是"用重排换统一"的经典工程交换。
4. MoE:稀疏矩阵乘换来的万亿参数
MoE(混合专家)层的路由逻辑:每个 token 过一个门控网络,得到"选哪些专家"的决策——one-hot/top-k 的形式。数学上:
y = Σ_e G(x)_e · Expert_e(x) G(x) 是稀疏路由向量
用矩阵视角读:门控是一个稀疏(近 one-hot)行向量,专家堆叠是一个大矩阵——每个 token 的计算 = 稀疏向量 · 大矩阵 = 只"查"出少数几列。这与 Embedding 查表同构(第三篇):MoE = 参数空间的稀疏寻址。换来的是:总参数(矩阵列数)可以做到万亿,而每个 token 的实际计算量(参与的列)保持稀疏——推理篇"MoE 撑起万亿参数"的矩阵本质。
5. KV Cache:增量矩阵乘的缓存不变性
自回归生成的第 t 步,新 token 只有一行 q_t,但要和全部历史 K/V 做乘法:
scores_t = q_t · Kᵀ[所有历史行] [1×d]·[d×T] → [T]
推理篇已经给出工程结论(缓存 K/V 的复用);矩阵视角的补充:这是一行 × 全矩阵的矩阵乘——每步的"新增计算"只有一行,历史行作为矩阵的另一操作数保持不变。分块矩阵写出来,新增块与历史块无写冲突——这正是 PagedAttention 能把 KV 当成独立块管理的代数原因。
6. 检索与生成之外:矩阵思想串联全站
用矩阵视角回看整个系列的连接点:
- 训练:AdamW 的二阶动量 v 是梯度外积统计的对角近似;LoRA 的 B·A 是显式低秩参数化——二篇的 Eckart-Young 是其"合法性证明";
- 推理:投机解码的"草稿-验证"等价于对同一矩阵乘的不同 tile 划分;量化的 per-channel scale 是给矩阵各列独立选择表示精度(量化篇的离群通道 = 个别列范数异常大);
- 硬件/集群:GEMM 的分块复用直接映射 Cube 的 16×16×16 tiling(硬件篇);集合通信同步的"矩阵"是梯度本身——Ring All-Reduce 分块流经全环(集群篇的模拟器)。
一句话总结这个系列:现代 AI = 大规模数据 + 一族精心设计的矩阵(可学习参数)+ 硬件上被极致优化的矩阵乘法原语。理解矩阵,就同时理解了模型在算什么、硬件在优化什么、以及 LoRA/量化/注意力这些"技巧"为什么成立。
7. 小结
- Transformer 层的矩阵解剖:三次 GEMM(投影/分数/混合)+ 两个行算子(softmax/Norm)+ 一个结构化掩码乘;
- 卷积 = im2col 重排 + GEMM,"用重排换统一"是工程交换的经典;
- MoE = 参数空间的稀疏寻址(one-hot · 专家矩阵),与 Embedding 查表同构;
- KV Cache 的可管理性源于增量矩阵乘"新行 × 旧矩阵"的无冲突分块结构;
- 矩阵语言是贯穿模型、系统、硬件三个层次的通用语——这也是本站 LLM/Infra 各系列反复回到的原点。
系列至此完结:从网格的变形出发,走过谱与低秩,穿过前向反向,最终在现代架构的每个组件里都认出了同一副骨架。
全系列总览:现代 AI = 大规模数据 + 一族精心设计的矩阵 + 硬件上被极致优化的矩阵乘原语——理解矩阵,就同时理解了模型在算什么、硬件在优化什么、LoRA/量化/注意力这些技巧为什么成立。延伸阅读:大语言模型全栈解析(这些矩阵在 LLM 里的具体应用)、LLM 全栈解析中的 QKV 交互专题。

