返回 ELI5 知识库首页 ✖️ LINEAR ALGEBRA & AI CORE
✖️ Matrix Multiplication · GEMM · Deep Learning Engine

什么是 MatMul(矩阵乘法)?

普通算术是一个人去超市买一瓶水算账;而 MatMul 就像整个餐厅数十桌客人的多道菜品总账单瞬间批量对账 —— 占据了 ChatGPT、DeepSeek 等大模型 80% 以上 的算力消耗!

🍎 标量乘法:单点买卖

一次只能算一个数字

比如“单价 5 元 × 3 瓶苹果汁 = 15 元”。虽然简单,但要给 1000 万个神经元逐个算权重,CPU 会活活累瘫。

5 × 3 = 15 单兵作战 · 无法表达复杂的多维特征关联
  • 🔹 零维标量:只能表示单一物理量(如温度、价格)
  • 🔹 算力利用率低:无法发挥现代 GPU/NPU 上万核心的并行狂飙
VS
✖️ MatMul 矩阵乘法:多维网格全并发

“第一矩阵的行” 乘 “第二矩阵的列”

左矩阵的每一行代表一个对象的特征,右矩阵的每一列代表一组特征权重。行列相乘再累加,一瞬间完成千亿神经元的立体投影!

Row 行 [1, 2] × Col [3, 4] = 1×3 + 2×4 = 11 ⚡ 现代芯片专为行列内积量身定制硬件单元!
  • 高维关联:瞬间表达文本语义词向量与注意力(Attention Q×K^T)
  • 硬件极度友好:完美匹配 Tensor Core / 3D Cube 脉动阵列硬件
💡

一句话顿悟:为什么整个 AI 工业都在为 MatMul 疯狂造芯片?

大模型看似在写诗、做数学证明、编写代码,但剥开所有黑盒包装,底层90% 以上的本质运算就是疯狂做 MatMul($A \times B$)! 谁能在 1 秒钟内算完更多次矩阵乘法,谁就能训练出更聪明的大模型!

拆解 MatMul 矩阵乘法的 4 大铁律

从维度对齐到专用硬件加速,搞懂线性代数的灵魂核心

📐

1. 维度对齐法则 (M×K 与 K×N)

左矩阵的列数必须严格等于右矩阵的行数(K),才能将对应数字两两配对相乘相加,最终输出 $M \times N$ 的新矩阵。

🎯

2. 几何本质:空间线性变换

矩阵乘法不是枯燥的填数字,它在几何上代表把空间里的多维向量进行旋转、缩放与特征投影映射

3. GEMM 通用矩阵乘

高性能计算领域的圣杯:C = α(A × B) + βC。BLAS、cuBLAS、CANN 倾尽几十年心血把 GEMM 优化至硬件物理极限。

🧊

4. 专用硬件压铸 (Tensor Core)

英伟达 Tensor Core 与华为达芬奇 3D Cube 把一个完整的微型矩阵乘加(MAC)做成了硬件单周期电路,狂飙算力!

🕹️ $2 \times 2$ 矩阵乘法交互推演台

点击切换输出矩阵的目标单元格,观察左矩阵的“行”与右矩阵的“列”如何相乘相加:

矩阵 A
1
2
3
4
×
矩阵 B
5
6
7
8
=
结果矩阵 C
19
22
43
50
🧮 行列内积计算细节 (Dot Product)
(1 × 5) + (2 × 7) = 5 + 14 = 19
矩阵 A 第 0 行 [1, 2]矩阵 B 第 0 列 [5, 7],对应元素相乘后相加。
🤖 Transformer 核心

Attention Q×K^T 的本质

大模型的自注意力机制(Self-Attention)就是两个巨大的矩阵相乘:查询矩阵 $Q$ 乘以键矩阵 $K^T$。

乘出来的结果代表每一个单词与全篇所有单词之间的“关联密切程度得分”。

🚀 算法奇迹

Strassen 与深层分块优化

普通的矩阵乘法复杂度是 $O(N^3)$。数学家 Strassen 提出了分治矩阵乘法,将复杂度降至 $O(N^{2.81})$。

在芯片底层,工程师采用分块(Tiling)算法,将数万维的大矩阵切成小积木塞入片上 SRAM,避免显存拥堵。

🌍 物理世界的底色

从量子力学到大模型

无论是量子力学的薛定谔方程、计算机 3D 图形的光影变换,还是千亿参数大模型的多模态理解。

矩阵乘法是人类用数学描述物理世界万物状态流转的最通用语言