随着人工智能的飞速崛起,随之而来的是算力需求的指数级增加,CPU 已经不足以满足深度学习、大模型计算等场景的海量数据处理需求。GPU 作为一种强大的计算工具,无论是高性能计算、图形渲染还是机器学习领域,在各个领域展现出了巨大的潜力和应用前景。
说起 GPU,绕不过的当然是 NVIDIA 这个公司了,现在市面上火热的 A100/A800、H100 等 GPU 全是他家的产品。但当你有业务需求或者个人需求,想要采购 GPU 的时候,你会发现各个型号的 GPU 令你眼花缭乱。这次我们就来聊聊 NVIDIA 的 GPU 产品,让你对各个型号的 GPU 有个深入的了解。
在选择 GPU 产品之前,首要任务是明确自己的应用需求。不同的应用领域对 GPU 的需求存在差异,因此了解自己的需求是做出明智决策的关键。接下来我们了解下常见的 GPU 应用场景。
我把游戏和图形渲染这个应用场景放在了第一位,并不是说它是 GPU 最常用的应用场景,而是很多小伙伴在学生时代就已经接触了“显卡”。GPU 不等于显卡,它是显卡的核心,就像 CPU 是主板上的一块芯片。GPU 刚被发明出来的初衷是用于图形渲染,这从它的名字 Graphic Processing Unit(图形处理单元)就可以看出来。
在游戏和图形渲染中,GPU 能够处理复杂的图形渲染任务,使游戏画面更加逼真和流畅。游戏开发人员使用 GPU 来创建游戏的视觉效果、光照和物理模拟等。NVIDIA 产品的 GeForce 系列,主要就是面向游戏娱乐领域,我们常说的 RTX4090 (文末有免费体验入口哦) ,其中在框架中采用了第三代 RT core,光线追踪性能最高可提升 2 倍,主要用于游戏开发、电影制作和虚拟现实等需要实时渲染的领域。当然,GeForce 系列的显卡也可以用于 AI 推理等,只是在计算能力上没有像企业级 GPU 那么强悍。
大模型训练通常涉及处理海量数据和复杂的计算任务,例如深度神经网络的训练。大模型通常需要大量的显存来存储模型参数、梯度和中间计算结果。较大的显存容量可以提供更高的批处理大小和更复杂的模型结构,有助于提升模型的性能和准确度。同时,大模型训练需要进行大量的矩阵计算、张量操作和梯度更新等复杂的计算任务。GPU 具备强大的计算能力和优化的张量计算指令集,能够加速大规模模型的训练过程,减少训练时间。
通常而言,大模型训练会将训练数据分成多个批次,分配给不同的 GPU 进行并行处理,这就需要 GPU 具备高效的并行计算能力和快速的数据传输能力,以支持并行训练的效率和可扩展性。而在计算精度方面,通常会使用混合精度计算,即采用较低精度的浮点数进行计算,在关键位置使用较高精度的浮点数进行修正。这也是大模型计算和高性能计算区别较大的地方。
AI 推理是指在已经训练好的模型上进行实时推断和预测,通常要求在较短的时间内处理大量的数据,例如实时图像识别和语音识别。GPU 具备较低的计算延迟和高吞吐量,能够迅速处理输入数据并输出推理结果,满足实时性要求、AI 推理任务主要涉及张量计算,包括矩阵乘法、卷积操作等。NVIDIA 在 Volta 架构及其后续架构(如 Ampere 架构)中引入了 Tensor Core,专门用于深度学习任务重的张量计算,如矩阵乘法和卷积运算。Tensor Core 核心特别大,通常与深度学习框架(如 TensorFlow 和 PyTorch)相结合使用,它可以把整个矩阵都载入寄存器中批量运算,实现十几倍的效率提升。此外,AI 推理对于功耗和散热也有一定要求。
高性能计算涉及科学计算、数值模拟、天气预报等需要大规模并行计算的领域。在这种场景下,GPU 需要具备大量的 CUDA 核心和高内存带宽,以实现高效的并行计算。此外,高性能计算还需要 GPU 具备良好的双精度浮点性能和高速的数据传输能力,以应对复杂的计算任务。
在了解了 GPU 基本的应用场景后,我们来看下 NVIDIA 的显卡主要有哪些?NVIDIA 三大主要产品线包括:
我们结合下面这个表格,来看看 GPU 选型时需要关注哪些参数。
计算能力
计算能力是 GPU 进行并行计算的指标之一,也是 GPU 的核心能力。较高的计算能力意味着 GPU 具备更强大的计算能力和支持更高级的计算功能。具体这些计算参数有什么区别,在应用上有哪些不同呢?我们来一一了解下。
可能光这样看文字,大家不是很好理解,我们拿 FP32 来做个具体的举例。
FP32 长度有 32 位,其中指数位占 8 位,精度尾数占 23 位,最前面是标志位。指数位越大,代表数值越大,精度的长度越多,表示小数点后的精度越高。
显存容量(GPU Memory)
显存是 GPU 用于存储模型参数、计算中间结果和图像数据等的内存。显存容量的大小直接影响着能否加载和处理大规模的数据和模型。
CUDA Core
CUDA Core 是 NVIDIA GPU 上的计算核心单元,用于执行通用的并行计算任务,是最常看到的核心类型。NVIDIA 通常用最小的运算单元表示自己的运算能力,CUDA Core 指的是一个执行基础运算的处理元件,我们所说的 CUDA Core 数量,通常对应的是 FP32 计算单元的数量。
Tensor core
Tensor Core 是 NVIDIA Volta 架构及其后续架构(如 Ampere 架构)中引入的一种特殊计算单元。它们专门用于深度学习任务中的张量计算,如矩阵乘法和卷积运算。Tensor Core 核心特别大,通常与深度学习框架(如 TensorFlow 和 PyTorch)相结合使用,它可以把整个矩阵都载入寄存器中批量运算,实现十几倍的效率提升。
接口形式
SXM 和 PCIe 是两种不同的接口形式,SXM 接口直接将 GPU 连接到主板上,而 PCIe 接口通过插槽与主板连接。SXM 接口提供更高的带宽和更低的延迟,适用于高性能计算和数据中心需求。而 PCIe 接口广泛应用于个人计算机、工作站和服务器等各种计算设备。
V100 是 NVIDIA 公司推出的高性能计算和人工智能加速器,属于 Volta 架构,它采用 12nm FinFET 工艺,拥有 5120 个 CUDA 核心和 16GB-32GB 的 HBM2 显存,配备第一代 Tensor Cores 技术,支持 AI 运算。
A100 采用全新的 Ampere 架构。它拥有高达 6912 个 CUDA 核心和 40GB 的高速 HBM2 显存。A100 还支持第二代 NVLink 技术,实现快速的 GPU 到 GPU 通信,提升大型模型的训练速度。A100 增加了功能强大的新第三代 Tensor Core,同时增加了对 DL 和 HPC 数据类型的全面支持,以及新的稀疏功能,可将吞吐量进一步翻倍。
在跑 AI 模型时,如果用 PyTorch 框架,相比上一代 V100 芯片,A100 在 BERT 模型的训练上性能提升 6 倍,BERT 推断时性能提升 7 倍。
H100 配备 132 个 SM,比 A100 的 108 个 SM 增加了 22%。由于采用新的第四代 Tensor Core,每个 H100 SM 的速度都提升了 2 倍。在每个 Tensor Core 中,新的 FP8 格式和相应的 Transformer 引擎又将性能提升了 2 倍。最后,H100 中更高的时钟频率将性能再提升了约 1.3 倍。通过这些改进,总体而言,H100 的峰值计算吞吐量大约为 A100 的 6 倍。
当然,A100、H100 无论是在推理还是大模型训练中的性能都非常突出,但是价格也相对比较高。我也找了些资料展示下 Tesla A 系列(A10、A16、A30、A40、A100)在业务能力和在大模型训练和推理上性能的对比,这里就不再赘述了。
△ 图片来源于互联网,侵删
相信看到这里,大家对 GPU 产品选型已经有了一定的想法。在选择时,大家可以参考 GPU 制造商的官方文档、性能比较表等资源,以获取更详细的信息和比较不同 GPU 之间的性能特点。当然最重要的是要明确自身业务的计算需求和任务类型啦。
又拍云近期联合厚德云推出 GPU 产品,现活动期间新用户注册即可免费体验 RTX4090 GPU,暂不限体验时长哦! 有兴趣的同学点击下方链接即可体验~