速度和反馈都很棒,但硬件的用处取决于能够利用它的软件,对于 AMD 来说,这就是 ROCm 软件堆栈。
如果您不熟悉,ROCm 之于 AMD Instinct GPU 加速器,就像 CUDA 之于 Nvidia GPU 一样。各自的软件套件对于充分发挥其硬件平台的潜力至关重要,而 ROCm 是一个特别大的软件套件,涵盖了在 AMD 套件上运行计算工作负载所需的驱动程序、开发工具、库和 API 等一切内容。
本周,禅之家释放ROCm 6.3 对开源软件堆栈进行了相当大的升级,它不仅可以大幅提升大家最喜欢的流行语 AI 的性能,还可以提升一些老式 Fortran 和快速傅里叶变换 (FFT) 工作负载的性能。
ROCm 6.3 拥抱 SGLang、Flash-Attention-2
本周的发布为该平台带来了许多显着的改进,包括对 SGLang(一个类似于 vLLM 的开源模型运行器)的支持。
引用一篇研究论文发表今年春末,AMD 表示 SGLang 的吞吐量比 vLLM 提高了 6 倍以上,同时将延迟缩短了 3.7 倍。研究人员解释说,这些性能提升是“KV 缓存重用、单个程序内并行性的利用以及更快的受限解码的结果”。
他们还指出,当使用较短的输出时,速度会得到最大的提升(我们认为这种情况对于聊天机器人来说很常见),因为键值缓存(KV 缓存)可以更容易地重用。另一方面,较长的输出优势几乎为零。
除了提高 AI 推理工作负载的性能外,ROCm 6.3 还扩展了对 Flash-Attention-2 重新设计实现的支持,该实现在后端使用可组合内核。
Flash-Attention 最初是作为一种在使用较长序列或上下文长度时防止内存消耗膨胀的方法而开发的。如果没有 Flash-Attention,内存消耗会随序列长度呈二次方扩展。Flash-Attention 通过利用 GPU 内存的不对称特性来实现线性缩放,从而克服了这一问题。
这种方法的缺点是,虽然它具有内存效率,但它是以牺牲性能为代价的,只能实现峰值 FLOPS 的 25% 到 40%。通过 Flash-Attention-2,研究人员能够增加这个利用率达到50%到73%。
据 AMD 称,ROCm 6.3 中对 Flash-Attention-2 的优化有望将后向传递操作的性能提高 3 倍(就像您在训练和微调中看到的那样),并且与 Flash-Attention-1 相比,前向传递的效率更高。他们没有说前传球的效率有多高。
改进的 Fortran 编译器和多节点快速傅立叶变换
ROCm 6.3 还为那些将 Instinct 用于 AI 之外的其他用途的用户提供了一些改进。其中包括一个新的 Fortran 编译器,支持通过 OpenMP 直接 GPU 卸载。
商业发布已近 70 年,但仍有大量 Fortran 代码处于未开发状态。这带来了一些挑战,因为对编程语言了解程度较低的人数不断增加减少,学习它的管道也是如此。
新编译器向后兼容现有的 Fortran 代码,因此从理论上讲,利用该编译器不需要太多重构即可利用 Instinct 上的 GPU 加速。
除了新编译器之外,AMD 还在 rocFFT 中推出了对多节点 FFT 的支持。
FFT 通常用于各种 HPC 应用,包括石油和天然气勘探、气候建模和其他科学研究。随着 ROCm 6.3 的发布,AMD 使 FFT 工作负载能够通过集成消息传递接口 (MPI) 分布在多个 Instinct 加速器上,以便在压缩时间尺度上支持更大的数据集。
而且,虽然 ROCm 6.3 可能不如人工智能推理甚至分布式 FFT 那么有吸引力,但它还为运行计算机视觉工作负载的人员引入了许多增强功能。其中包括对 rocDecode、rocJPEG 和 rocAL 库的更新,增加了对免版税 AV1 视频编解码器、GPU 加速 JPEG 解码和音频预处理的支持。
软件是通往性能的大门
ROCm 6.3 的发布继续强调了优化软件可以产生多大的变化。然而,这并不是 AMD 独有的。
在 MLPerf 训练中,Nvidia 此前曾证明了与最初提交的“Hopper”H100 相比,性能提高了 1.3 倍,部分归功于软件优化。话虽如此,推动此类软件优化对于 AMD 来说可以说更为重要,因为 AMD 在市场份额和知名度方面都落后于竞争对手。
自去年 12 月推出 MI300 系列部件以来,迄今为止,AMD 已成功通过 ROCm 堆栈实现了可观的收益。在 10 月份的 Advancing AI 活动中,AMD 宣称,在今年夏天的 ROCm 6.0 和 6.2 之间,它在推理方面实现了 2.4 倍的额外改进,在训练方面实现了 1.8 倍的改进。
像这样的持续增长可能会帮助 House of Zen 在这两个类别中进一步领先 Nvidia 的 H100 和 H200。就目前情况而言,AMD 表示其新宣布– Antares – 当以 FP8 精度运行 Llama 2 405B 时,MI325X 加速器的延迟时间比 H200 低约 1.4 倍。然而,较小的 Llama 2 70B 上的训练性能仅与 HBM3E 增强的 Hopper 部件相当。尽管 MI300X 及其带宽增强的同级产品 MI325X 比 Nvidia 的 Hopper 芯片不仅拥有更多、更快的内存和更高的浮点性能,但情况仍然如此。这表明未来的 ROCm 版本可能会带来额外的性能提升,AMD 肯定需要这些性能来与 Nvidia 本季度推出的 Blackwell B100 和 B200 芯片竞争。
订阅我们的时事通讯
我们将本周的亮点、分析和故事直接发送到您的收件箱,中间没有任何中间环节。
立即订阅