一文理解 GPU 张量核心(Tensor Core)
00 分钟
2024-7-25
2024-7-26
type
status
date
slug
summary
tags
category
icon
password
作者
来源
文章链接
发布时间
标签

引言

本指南解析了最新一代 Nvidia GPU 使用的 Tensor Core 技术的能力。
在 Nvidia 最新一代GPU微架构发布中的关键技术之一是 Tensor Core。这些专门的处理子单元自 Volta 以来每一代都有所进步,在自动混合精度训练的帮助下加速 GPU 性能。
在本文中,我们将总结 NVIDIA Volta、Turing 和 Ampere 系列 GPU 中 Tensor Core 的能力。读者可以期待通过本文了解不同类型的 NVIDIA GPU 核心的功能,Tensor Core 如何实际工作以实现深度学习的混合精度训练,如何区分每个微架构的 Tensor Core 的性能能力,并且掌握识别基于 Tensor Core 的 GPU 的知识。

什么是CUDA核心?

在讨论 Tensor Core 的架构和实用性之前,我们首先需要谈论 CUDA 核心。CUDA(Compute Unified Device Architecture)是 NVIDIA 的专有并行处理平台和 GPU 的 API,而 CUDA 核心是 NVIDIA 图形卡中的标准浮点单位。这些核心是过去十年中每个 NVIDIA GPU 的固有特征,是 NVIDIA GPU 微架构的定义特征之一。
notion image
每个 CUDA 核心能够执行计算,每个 CUDA 核心可以在一个时钟周期内执行一个乘加操作。虽然 CUDA 单核性能不及 CPU 核心,但在深度学习中,许多 CUDA 核心可以通过并行执行进程来加速计算。
在 Tensor Core 发布之前,CUDA 核心是加速深度学习的关键硬件。因为它们只能在单个计算上进行操作,所以受 CUDA 核心性能限制的 GPU 也受可用 CUDA 核心数量和每个核心的时钟速度的限制。为了克服这一限制,NVIDIA 开发了 Tensor Core。

什么是 Tensor Core?

Tensor Core 是专门的核心,可以实现混合精度训练。第一代这些专门核心通过融合乘加计算实现。这允许两个 4 x 4 FP16 矩阵相乘并添加到一个 4 x 4 FP16 或 FP32 矩阵中。
混合精度计算之所以被命名为如此,是因为虽然输入矩阵可以是低精度 FP16,但最终输出将是 FP32,输出精度只有最小损失。实际上,这在极小的负面影响模型最终有效性的情况下快速加速计算。随后的微架构已将此功能扩展到更少精确的计算机数字格式!
notion image
第一代 Tensor Core 是随着 Volta 微架构一起推出的,从 V100 开始。随着每一代的推出,更多的计算机数字精度格式被启用,用于新的 GPU 微架构的计算。在接下来的部分,我们将讨论每个微架构生成如何改变和改进 Tensor Core 的功能和功能。
有关混合信息训练的更多信息,请查看我们的分解,了解如何在 Paperspace 上使用混合精度训练进行深度学习。

Tensor Core如何工作?

notion image
每一代 GPU 微架构都引入了一种新的方法来改善 Tensor Core 操作的性能。这些变化扩展了 Tensor Core 的能力,使其能够在不同的计算机数字格式上运行。实际上,这在每一代中都大大提高了 GPU 的吞吐量。

第一代

带有和不带有 Tensor Core 的 Pascal 和 Volta 计算的可视化
notion image
第一代 Tensor Core 随着 Volta GPU 微架构一起推出。这些核心使用 FP16 数字格式实现了混合精度训练。这使得这些 GPU 的潜在吞吐量提高了多达 12 倍,以 teraFLOPs 计算。与之前一代的 Pascal GPU 相比,旗舰 V100 的 640 个核心提供了高达 5 倍的性能提升速度。

第二代

带有 Pascal 和 Turing 计算的可视化,比较不同精度格式的速度
notion image
第二代 Tensor Core 随着 Turing GPU 的发布而推出。支持的 Tensor Core 精度从 FP16 扩展到还包括 Int8、Int4 和 Int1。这使得混合精度训练操作可以将 GPU 的性能吞吐量加速至比 Pascal GPU 高出多达 32 倍!
除了第二代 GPU 外,Turing GPU 还包含光线追踪核心,用于计算 3D 环境中的光线和声音等图形可视化属性。您可以利用这些专门核心,通过 Paperspace 核心上的 RTX Quadro GPU 将您的游戏和视频创建过程提升到一个新水平。

第三代

相对于 FP16 精度,Ampere 系列 GPU 介绍了第三代 Tensor Core 和迄今为止最强大的版本。
notion image
在 Ampere GPU 中,该架构基于之前 Volta 和 Turing 微架构的创新,将计算能力扩展到 FP64、TF32 和 bfloat16 精度。这些额外的精度格式可以进一步加速深度学习训练和推断任务。例如,TF32 格式与 FP32 类似,同时确保了高达 20 倍的速度提升,而无需更改任何代码。从那里开始,实施自动混合精度将进一步加速训练,每行代码仅需额外加速 2 倍。此

第四代

第四代 Tensor Core 随着 Hopper 微架构发布。根据 2022 年 3 月的宣布,H100 具备处理 FP8 精度格式的扩展功能,NVIDIA 声称这将使大型语言模型的训练速度“比上一代快 30 倍”。
notion image
此外,NVIDIA 声称他们的新 NVLink 技术允许最多 256 个 H100 GPU 连接。这些将是进一步提高数据工作者操作计算规模的巨大优势。
Paperspace 的 GPU 中有哪些 Tensor Core?
M4000
P4000
P5000
P6000
V100
RTX4000
RTX5000
A4000
A5000
A6000
A100
有Tensor Core吗?
有RT核心吗?
Paperspace GPU 云提供了过去五代 GPU 的各种选择,包括 Maxwell、Pascal、Volta、Turing 和 Ampere 微架构的 GPU。
Maxwell 和 Pascal 微架构早于 Tensor Core 和光线追踪核心的开发。当观察这些机器的深度学习基准数据时,这种差异在组成上非常明显,因为它清楚地显示了当它们具有类似规格(如内存)时,更新的微架构将优于较旧的微架构。
V100 是 Paperspace 上唯一具有 Tensor Core 但没有光线追踪核心的 GPU。尽管它在整体上仍然是一台出色的深度学习机器,但 V100 是第一个具有 Tensor Core 的数据中心 GPU。其较旧的设计意味着在深度学习任务的性能方面,它已经落后于工作站 GPU,如 A6000。
工作站 GPU RTX4000 和 RTX5000 是 Paperspace 平台上深度学习的优秀预算选择。例如,第二代 Tensor Core 的增强功能使得 RTX5000 在批处理大小和完成时间上的基准任务上与 V100 相比几乎具有可比性。
Ampere GPU 系列具有第三代 Tensor Core 和第二代光线追踪核心,将吞吐量提升到前所未有的水平。这项技术使 A100 的吞吐量达到 1555 GB/s,比 V100 的 900 GB/s 高出许多。
除了 A100外,Paperspace 的 Ampere GPU 工作站线包括 A4000、A5000 和A6000。这些产品在更低的价格点上提供了出色的吞吐量和强大的 Ampere 微架构。
当 Hopper 微架构推出时,H100 再次将 GPU 性能提高到当前 A100 所能达到的最大峰值的 6 倍。根据 Nvidia 首席执行官黄仁勋在 GTC 2022 主题演讲中的说法,H100 在 2022 年第三季度之后才能购买。

结语

GPU 从一代到下一代的技术进步在某种程度上可以通过 Tensor Core 技术的进步来部分描述。
正如我们在本文中详细介绍的那样,这些核心使高性能混合精度训练范式成为 Volta、Turing 和 Ampere GPU 成为 AI 开发的主导机器。
通过理解这些 Tensor Core 之间的差异及其能力,我们可以更清楚地了解每一代后续机器如何在任何给定时刻处理深度学习任务的原始数据量方面实现了巨大增长。
如果您对在 Paperspace 上运行哪些 GPU 有任何疑问,无论是在 Core 上运行 Ubuntu 机器还是在 Gradient 上运行笔记本,请随时联系我们!
我们一直在这里帮助您优化 GPU 云支出和效率。
 
上一篇
ARM架构、指令集、IP和授权方式
下一篇
互联网大厂们的造芯进展如何?