从 Tensor Core 到矩阵引擎:AI 算力单元十五年演进
今天每一款 AI 芯片的规格表上,数字最大的那一行几乎都来自专门的矩阵计算单元,而不是通用核心。这些单元叫法各异——Tensor Core、MXU、Cube Core、MME——但都指向同一个设计判断:神经网络计算值得用专用电路来做。
起点:通用核心喂不饱神经网络
深度学习计算的主体是矩阵乘法,模式极其规整:同样的乘加操作重复亿万次。早期的方案是在通用 GPU 核心上跑这些运算,效率不错但浪费——取指、调度、分支预测这些通用能力对矩阵乘毫无贡献。转折出现在 2016 到 2017 年:Google TPU v1 用脉动阵列(MXU)做 INT8 推理,数据在阵列中流动、逐拍被计算单元"接力"处理,省去了反复访存;NVIDIA 则在 Volta 架构中引入第一代 Tensor Core,把小型矩阵乘加指令下沉到硬件,每时钟周期可完成一组 4 乘 4 矩阵片段运算。矩阵计算从此有了专属电路。
Ampere 到 Hopper:精度阶梯与异步化
NVIDIA 的演进路线最具代表性:
| 架构(年份) | Tensor Core 代际 | 关键能力 |
|---|---|---|
| Volta(2017) | 第一代 | FP16 矩阵运算独立于 CUDA 核 |
| Ampere(2020) | 第三代 | TF32 档位、2:4 结构化稀疏翻倍 |
| Hopper(2022) | 第四代 | FP8、Transformer Engine 自动切精度、异步大块矩阵指令 |
| Blackwell(2024) | 第五代 | FP4 微缩格式、attention 专项优化 |
这条脉络有两条主线:一是精度不断下探,FP16 到 FP8 再到 FP4,每一档都把单次运算的能耗和面积砍掉一大截,配套的格式管理机制(如自动缩放)保证精度可接受;二是执行方式从同步走向异步,矩阵指令直接在显存与计算单元之间搬运大块数据,减少寄存器中转,让算力单元的填充率更高。
不是一家的事:矩阵引擎的多种流派
矩阵单元并非 NVIDIA 独有。Google TPU 的 MXU 是脉动阵列的代表,几代 TPU 始终坚持这一架构,用规整的数据流换取高能效。华为达芬奇架构的 Cube Core 走"三维立方运算"路线,一条指令完成一整块矩阵乘,Ascend 系列延续至今。寒武纪 MLU 核心同样以矩阵和向量单元为主体。Intel Gaudi 系列则把大矩阵引擎(MME)与可编程 VLIW 核搭配,一个负责稠密 GEMM,一个负责其余算子。各家实现细节差异很大,但方向一致:让矩阵乘法拥有专属的、尽可能宽的数据通路。
小结
十五年演进可以压缩成一句话:算力单元从"通用核心顺便做矩阵"走向"整颗芯片围着矩阵引擎转"。精度下探仍有空间,但物理极限渐近,下一阶段的竞争点正在从单单元峰值转向数据搬运效率——显存带宽、片上 SRAM、互连拓扑。选型时看算力单元,不要只看峰值 FLOPS,要看它背后的数据供给能力:算得快的前提是喂得快。