概述
They are the main reason a single GPU can train and run large neural networks orders of magnitude faster than general-purpose compute would allow.
深入探讨
Tensor Core 于 2017 年随 Volta 架构一起推出,是一种专用电路,可在单个运算中计算小型矩阵乘法加加法 (D = A x B + C),而不是在标准 CUDA 内核上一次执行一个乘法。因为几乎神经网络的每一层都简化为矩阵乘法,这符合人工智能实际需要的数学。每一代 GPU 都扩展了它们处理的功能:Volta 提供了 4x4 FP16 块,而后来的 Ampere、Hopper 和 Blackwell 架构则添加了较低精度的格式,如 TF32、BF16、INT8、FP8 和 FP4。较低的精度意味着每个时钟处理更多的数字,从而显着提高训练和推理的吞吐量,同时保持可接受的精度。
现实世界的实施
训练大型语言模型,例如 GPT 式 Transformer,其中每步在 BF16 或 FP8 中的 Tensor Core 上运行数十亿次矩阵乘法。
为聊天机器人和图像生成器运行实时推理,使用 INT8 或 FP8 量化为每个 GPU 服务更多用户。
加速视频游戏中的 NVIDIA DLSS,神经网络在每帧中使用 Tensor Core 来升级低分辨率帧。
加速科学计算,例如蛋白质折叠 (AlphaFold) 和天气模型,这些模型已被重新表述为矩阵繁重的神经工作负载。
张量核心的未来
Tensor Core 不断向更低的精度发展:Hopper 添加了 FP8,Blackwell 引入了具有硬件管理扩展功能的 4 位 FP4,对于推理繁重的工作负载,每一步的吞吐量大致翻倍。预计对稀疏性(跳过零权重)、将比例因子附加到小数字块的微缩放格式以及与内存系统的更深入集成的更严格支持,以便内核保持供电。随着模型的增长,矩阵引擎(而不是原始时钟速度)仍然是人工智能硬件性能的核心战场。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
What is Tensor Cores?
张量核心是现代 NVIDIA GPU 内的专用硬件单元,可以极快地执行矩阵乘法和累加运算。它们是单个 GPU 训练和运行大型神经网络的速度比通用计算快几个数量级的主要原因。
Tensor Core 专门设计用于加速哪些核心数学运算?
Tensor Core 一步执行融合矩阵乘法加累加,这正是主导神经网络层的操作。
哪种 NVIDIA GPU 架构首先引入了 Tensor Core?
Tensor Core 于 2017 年随 Volta 架构首次亮相,从 FP16 4x4 矩阵运算开始。
为什么 Tensor Core 经常使用 FP16 或 FP8 等降低精度?
每个数字使用更少的位数意味着每个周期有更多的值流经硬件,从而大大提高了速度,而精度损失很小,通常是可以容忍的。
为了保持准确性,Tensor Core 通常使用什么精度来计算运行总和(累加)?
输入的精度可能较低,但累加器通常以较高的精度(如 FP32)运行,以限制舍入误差的累积。
像 PyTorch 这样的日常人工智能框架如何使用 Tensor Core?
底层库自动将大矩阵运算分解为 Tensor-Core 大小的图块,因此框架无需手动编码即可获得加速。