如果英特尔如愿以偿,英伟达将不会长期成为人工智能领域的王者。
视觉语言 (VL) AI 模型 BridgeTower 的新微调性能基准表明,除了 Nvidia 的绿色之外,AI 加速阵营也有活力。虽然英伟达确实在人工智能加速市场占据主导地位(通过卓越的远见、经过深思熟虑和记录的软件堆栈以及纯粹的处理性能),但其他参与者却热衷于在人工智能市场中分得一杯羹。至少对于 BridgeTower 来说,英特尔自己的 Gaudi 2 芯片(通过英特尔 2019 年斥资 20 亿美元收购 Habana 设计和制造)已被 Hugging Face 证明比 Nvidia 的 A100 80 GB 性能高出惊人的 2.5 倍 – 甚至击败了 Nvidia 的神童 -儿童 H100 1.4 倍。
根据 Habana 的说法,显着的加速是硬件加速数据加载系统的结果——这是 AI 模型微调的瓶颈之一,对于 VL 模型尤其如此。无论计算位于何处,将工作负载加载到内存中通常都是性能瓶颈之一,因此 Habana 并不会寻求优化训练过程中的这一特定步骤。
主要瓶颈与 CPU 如何受到许多昂贵操作的影响有关,例如图像解码和图像增强(与 GPU 绘制调用争论类似的问题),这导致 HPU(或 Nvidia GPU)在等待更多数据时停止运行。 (由 CPU)处理,然后发送到所选的 AI 加速器。这是在没有任何硬件加速的情况下该过程的进行方式:
获取数据(例如,JPEG 图像存储在磁盘上的位置) CPU 读取编码图像 CPU 解码图像 CPU 应用图像转换来增强图像 图像被发送到设备(尽管这通常不是由数据加载器本身完成)
这是通过Gaudi 2的集成硬件加速来加速图像转换的过程:
获取数据 CPU 读取编码图像 编码图像发送到设备 设备解码图像 设备应用图像变换来增强图像 通过硬件加速方法,很明显 CPU 的利用率要低得多(在精细的时间内为其他任务释放 CPU 周期) -调整主进程),这应该会提高性能。
通过使用 866M 参数微调预先训练的 BridgeTower 检查点,对 Habana 的 Gaudi 2 进行基准测试,使我们能够看到硬件加速图像加载带来的性能提升。工作负载在 8 个设备(Nvidia 的 A100 80 GB、H100 和 Gaudi 2)上的分布式计算中运行。结果在三个不同的处理运行中进行测量和平均,每次运行都会产生更多的 CPU 进程,完全致力于将数据加载到内存中(第一次运行在主 CPU 进程中加载内存,而运行第二次和第三次则增加内存加载的数量)分别处理一和二)。
Gaudi 2、Nvidia A100 和 Nvidia H100 的数据加载性能。单位以每秒样本数表示
设备 | dataloader_num_workers=0 | dataloader_num_workers=1 | dataloader_num_workers=2 | dataloader_num_workers=2 + mediapipe_dataloader |
高迪2 HPU | 601.5 | 747.4 | 768.7 | 847.7 |
H100显卡 | 336.5 | 580.1 | 602.1 | 不适用 |
A100 80 GB GPU | 227.5 | 339.7 | 345.4 | 不适用 |
结果很明显:Gaudi 2 的最佳性能场景是第一个,其中数据与主要训练过程一起加载,Gaudi 2 甚至比 Nvidia 的 H100 好 1.79 倍,比 A100 好 2.23 倍。但这是一个未经优化的场景,正如 Habana 自己所承认的那样;因此,也许最有启发性的结果来自第三个数据点,其中产生了两个额外的进程来处理主微调进程之外的数据加载。在那里,Nvidia 的产品当然必须眯着眼睛才能捕捉到 Gaudi 2 运行到远处时的尘埃云:Gaudi 2 的性能比 Nvidia 的顶尖 H100 提高了 1.3 倍,与 A100 相比性能提高了 2.23 倍80 GB。
可以产生额外的进程来处理数据加载;但从业绩进展可以看出,这种策略带来的收益将越来越递减。例如,在 Nvidia H100 上,通过生成单个专用数据加载进程,性能提高了 1.72 倍,但从一个进程变为两个进程仅带来了 3% 的额外提升。然而,由于 Habana 能够将大多数数据加载步骤引入 Gaudi 2,因此该公司可以比其自己的最佳得分(其中数据加载和转换由两个 CPU 进程处理)额外提高 10% 的性能。
任何公司要想在人工智能加速领域占据霸主地位,还有很长的路要走。Nvidia 拥有令人难以置信的产品和软件堆栈,使其能够获得先发优势;但我们已经看到足够多的比赛,弱者追赶(有时甚至超越)热门者,知道英特尔、AMD 和其他公司都在想抢 Nvidia 的风头。