在当下的IT圈内混,如果不懂点人工智能还真就快要被时代抛弃了,但作为普通玩家,相信大多数人和我一样只能负担得起游戏显卡的费用,让我自己几万几十万买块算力卡显然是不现实的事情,那么问题来了,我用RTX 4090这种游戏显卡做人工智能,和算力卡有什么区别,能实现哪些玩法呢?

01

相对算力

通信带宽与内存指标差距巨大才是关键

以NVIDIA前几年推出的H100/A100为例,虽然我们称之为算力卡,但和RTX 4090等游戏卡显卡相比,它们的算力优势其实并不算特别明显,这是因为NVIDIA的算力规格玩了一些数字游戏,比如H100,它的Tensor FP16算力写的是1979 Tflops,但那是稀疏算力和稠密算力的总数值。

所谓稀疏算力是指在完成任务的过程中,计算资源大部分时间处于空闲状态,这种情况通常发生在处理低密度数据或执行低复杂度任务时,因为大部分任务可以在很短的时间内完成,而服务器在等待下一个任务到来时,其计算资源并未得到充分利用。

打开网易新闻 查看精彩图片

与之相对的是稠密算力是指在计算过程中,硬件资源大部分时间都在忙碌地工作,这种情况通常发生在处理高密度数据或执行高复杂度任务时,因为每个任务都需要大量的计算资源和时间来完成,服务器在处理这些任务的过程中,其计算资源得到了充分的利用。

显然,对于人工智能来说,稠密算力才是最重要的,所以H100真正有用的Tensor FP16算力是989Tflops。无独有偶,RTX 4090官方宣传的Tensor Core算力高达 1321 Tflops,但那是int8算力,FP16算力只有330Tflops,但即便如此,这个数值也已经比A100的312Tflops高,所以算力的区别其实并没有想象中那么大。

算力卡与游戏卡规格对比

H100

A100

RTX 4090

Tensor FP16稠密算力

989Tflops

312Tflops

330Tflops

Tensor FP32稠密算力

495Tflops

156Tflops

83Tflops

内存容量

80GB HBM2

80GB HBM2

24GB GDDR6X

内存带宽

3.35TB/s

2TB/s

1TB/s

通信带宽

900GB/s SXM

900GB/s SXM

64GB/s PCIe 4.0

真正拉开差距的是H100/A100等算力卡夸张的通信带宽和内存指标。NVIDIA的算力卡可以选择不走PCIe通道,而使用专用的SXM通信,通过NVLink实现多卡互联,这使得算力卡的通信带宽可以达到惊人的900GB/s。而RTX 4090只能走PCIe,且砍掉了对NVLink的支持,所以目前的上限就是64GB/s。

内存性能上,算力卡使用80GB HBM2显存,显存带宽最高可以到3.35TB/s,而RTX 4090的24GB GDDR6X显存带宽只有1TB/s。

02

游戏卡无法训练AI

但可以推理AI

老黄精准的“刀法”历来都是广大玩家津津乐道的话题,对于利润更高的专业GPU来说,严格的性能等级划分也是必不可少的,从技术上讲,大模型训练需要高性能的通信,而游戏卡,哪怕是顶级的RTX 4090,砍掉的正好也就是通信效率,因为训练AI往往需要GPU集群工作。

以Meta AI开源的LLaMA-2-70B大模型为例,使用单张A100的话,完成一次训练需要170万个小时,想要在1个月内训练出来就需要至少2400张A100,而游戏卡并不会像专业算力卡那样先天就是为集群而设计,就算给你两千多张RTX 4090,你也都没办法把它们连接起来,再加上游戏卡也没有数据中心的使用许可,所以从根源上就无法实现替代。

打开网易新闻 查看精彩图片

人工智能训练需要多显卡并行计算,游戏卡在这方面“先天不足”

除此之外,人工智能训练需要将海量数据放在显存内,显然,单张80GB显存的算力卡从规格上就形成了对游戏卡的降维打击,你需要使用成倍的游戏卡才能实现相近的显存容量。同时,算力卡的显存支持ECC容错,可以有效降低故障率,而低故障率就是保持算力输出的根本。

既然无法训练AI,那游戏卡可以做什么呢?用过Stable Diffusion的朋友们都知道,在跑本地文生图应用时,高性能游戏显卡的效率优势十分明显,也就是说在正确使用的情况下,游戏卡是推理AI的一把好手。

为什么强调“正确使用”,这是因为显存容量很容易成为瓶颈,目前的人工智能推理,无论使用流水线并行还是张量并行,内存带宽可能导致效率问题,更何况计算过程中还需要将模型和缓存写入到显存之中,所以很多本地AI应用都需要玩家提前设置自己的显卡显存容量,才能实现使用效率的最大化,这也是RTX 4090这种大容量显存游戏显卡非常适合运行本地AI推理的关键。