深度学习使稠密矩阵乘法成为热点循环。显而易见的答案是增加普通浮点单元,但那样会把芯片面积和功耗花在许多模型并不需要的精度上。

2017 年,NVIDIA 在 Volta 中加入了 Tensor Core:4×4 矩阵乘累加单元,接受 FP16 输入,同时以 FP32 累加。后来的数值研究说明了这一设计为何重要:它不只是更低的精度,而是一种专用的混合精度运算。

随后,研究人员利用迭代精化把这一技巧推广到神经网络之外。一篇 Royal Society 论文报告,在 Volta GPU 上实现了 4 倍到 5 倍的加速和约 5 倍更好的能效,同时在线性求解中保持了 FP64 级别的稳定性。

计算要便宜,累加要谨慎

矩阵乘法足够稠密,值得用硬连线单元而不只是通用 CUDA 核心。

FP16 输入降低了带宽和乘法器成本,而 FP32 累加防止求和立即崩溃。

迭代精化把快速的近似求解转化为精确的最终答案。

把这条路径放进 CUDA 库,让普通软件也能继承这一硬件技巧。

当全精度过于昂贵时,拆分任务。在误差可以修复的地方使用低精度,把高精度留给校验答案的步骤。

Tensor Core 成为 NVIDIA 在 Volta、Turing 和 Ampere 上的核心差异化优势。这一理念也走出了 AI:混合精度求解器、科学计算内核以及后来的 TF32 工作流都采用了同样的模式——快速近似运算加上精度修复。

从这里,追溯依据

参考来源

  1. Numerical behavior of NVIDIA tensor cores PeerJ Computer Science · pmc.ncbi.nlm.nih.gov ·
  2. Mixed-precision iterative refinement using tensor cores on GPUs to accelerate solution of linear systems Proceedings of the Royal Society A · pmc.ncbi.nlm.nih.gov ·