CUDA护城河,太难跨越了

B站影视 2024-12-23 19:39 2

摘要:花了五个月时间才弄清 MI300X 的真正原因。理论上,MI300X 在规格和总拥有成本 (TCO) 方面应该比 Nvidia 的 H100 和 H200 具有巨大优势。然而,实际情况是,下面给出的纸面规格并不代表在实际环境中可以预期的性能。如果 AMD 能够

最近,SemiAnalysis报道称,花了五个月时间才弄清 MI300X 的真正原因。理论上,MI300X 在规格和总拥有成本 (TCO) 方面应该比 Nvidia 的 H100 和 H200 具有巨大优势。然而,实际情况是,下面给出的纸面规格并不代表在实际环境中可以预期的性能。如果 AMD 能够用这款内存实现低于市场预期的性能,它将成为市场上非常强大的竞争对手。

今天,我们将介绍我们与 NVIDIA 和 AMD 合作对 MI300X、H100 和 H200 进行独立分析和以训练为重点的基准测试的五个月历程。我们将详细概述我们运行的众多低级基准测试,请参阅目录以了解摘要。

此外,我们将比较 Nvidia 和 AMD GPU 的总拥有成本并考虑性能。最终,我们所做的大部分工作是公开向 AMD 提供全面的公开建议,告诉他们需要做些什么才能保持竞争力并在提交和消除错误五个月后修复他们的软件问题。这不仅仅是因为它的软件不成熟,他们需要改变他们的开发方式。

简而言之,当将 Nvidia 的 GPU 与 AMD 的 MI300X 进行比较时,我们发现由于 AMD 公开发布的软件堆栈缺乏以及 AMD 缺乏测试,MI300X 的潜在纸面优势并未实现。

AMD 的软件体验充斥着错误,无法使用 AMD 进行开箱即用的训练。我们希望 AMD 能够成为 NVIDIA 在训练工作负载方面的强大竞争对手,但不幸的是,截至今天,情况并非如此。由于 AMD 的软件质量保证 (QA) 文化弱于预期,并且开箱即用的体验具有挑战性,因此 AMD 尚未跨越 CUDA 护城河。随着 AMD 试图填补 CUDA 护城河,NVIDIA 工程师正在加班加点地通过新功能、库和性能更新来加深该护城河。

我们与 Nvidia 和 AMD 分享了 GEMM 基准测试和单节点训练的基准测试源代码和中间测试结果,并召开电话会议和进行讨论以征求反馈意见并实施基准测试的改进,我们还与 AMD 合作实施了软件堆栈的错误修复。

我们进行这种高度迭代的交互的目的是确保我们的测试能够对真实用户的体验做出公正的评估。

我们最初计划在几个月前发布这篇文章,但想花更多时间与 AMD 团队交流并探讨可能的修复或开发工作。我们花了相当多的时间来识别和修复 AMD 软件错误,以便让 AMD 有机会展示不受 AMD 软件堆栈错误阻碍的 MI300X,而不是只展示开箱即用的性能问题。为了给人留下一个公平的印象,我们还解释了为实现这一目标所进行的大量调整和错误消除工作。我们认为这种方法为用户提供了尽可能高的透明度。

我们希望尽一切可能为改善 AMD 生态系统做出贡献。尽管由于我们的错误报告和不断尝试,AMD 软件现在已大大改进,但其公共软件堆栈仍然不足。我们已经开源了许多基准测试,并创建了简单的单行命令来重现它们。

如果 Lisa Su 和 AMD 领导层加倍投资,专注于软件和测试堆栈,他们就有机会在训练方面与 Nvidia 竞争。我们认为 AMD 的工程师非常有能力,正在尽最大努力推进 AMD 生态系统——事实上,这些工程师以错误修复、配置帮助和自定义图像的形式提供的支持改善了我们从 MI300X 获得的结果。

为了将我们的基准测试流程推向尾声,我们于 2024 年 11 月 15 日向Nvidia 和 AMD 发送了大部分主要 GEMM 和单节点基准测试代码和结果的草稿,以供评论、验证和微调。我们要求在 11 月 25 日之前提交任何最终评论、修复、反馈和任何性能改进。我们设定这个时间范围是为了明确测试结果,以便有时间撰写深入的分析和评论,并进行多轮内部和外部审查,所有这些步骤可能需要不定且通常无法预知的时间,通常需要 2-4 周。

几天前,在我们通知他们已确认文章发布日期为 12 月 20 日之后, AMD 要求我们推迟发布,以包含基于 AMD 开发人员分支上的测试版 WIP 开发版本的结果。我们对 Nvidia 的所有基准测试都是在公开可用的稳定版本上进行的。本着透明和公平的精神,我们将这些结果以及更新的测试工具结果作为原始 11 月 25 日截止,图像和最新的公开可用软件包括在内。但是,我们认为解释结果的正确方法是查看 AMD/Nvidia 软件的公开稳定版本的性能。

以下是我们用于基准测试的软件版本列表:

H100 公共稳定版本 – Nvidia H100 的开箱即用体验。

H200 公共稳定版本 – Nvidia H200 的开箱即用体验。

MI300X 11 月 25日 定制版本 - 这是一个手工制作的定制 VIP docker 镜像,它从 AMD 首席工程师编写的源代码构建所有依赖项。

MI300X 稳定公开版本 PYTORCH 2.5.1 – AMD MI300X 的开箱即用体验。

MI300X 公开夜间版 12 月 19日 - 这可以表明到 2025 年 1 月 PyTorch 2.6 发布时,即推出一年多后,AMD 的性能会达到什么水平。

MI300X 12 月 21日 WIP 开发版本 – 这是 AMD 在我们同意推迟发布文章后提交给我们的图像。这是一个实验性的开发版本,尚未合并到 AMD 的内部主分支中,并且不使用原生 PyTorch 闪存注意 API。此图像的性能可以表明 AMD 公共稳定版本的性能在 1-2 个季度后会达到什么水平。

我们非常感谢 AMD 和 Nvidia 在整个过程中提供的技术支持,但我们在发布结果时保持独立性。我们要大声感谢我们的 AMD 合作伙伴 Anush Elangovan(AMD 人工智能副总裁)、Hui Liu 以及数十位出色的 AMD 首席/高级工程师、AMD 工程副总裁、AMD 工程研究员、AMD 工程 CVP 和 AMD 工程总监、AMD 软件库负责人,感谢他们分类和修复了我们的各种错误报告。在 Nvidia 方面,我们感谢 Kedar Potdar、Ian Buck、Sylvain Jeaugey 和 NVIDIA 的 NCCL 团队提供的出色支持。

感谢 Crusoe、 TensorWave (AMD Ventures Portco)、 Nebius、 Lambda、 Hot Aisle 和 Sustainable Metal Cloud (SMC) / Firmus 提供的计算和对开源基准测试的支持。Crusoe、Nebius、SMC / Firmus 和 Lambda 开箱即用地支持托管 SLURM 和共享主目录。TensorWave 目前已在 Beta 版中提供托管 SLURM,该功能将于明年年初全面上市 (GA)。Sustainable Metal Cloud 是少数拥有 官方 MLPerf GPT-3 175B 训练结果的 neoclouds 之一。

主要发现

1、纸面上比较 FLOP/s 和 HBM 带宽/容量类似于仅通过检查百万像素数来比较相机。了解实际性能的唯一方法是运行基准测试。

2、Nvidia 的开箱即用性能和体验令人惊叹,我们在基准测试期间没有遇到任何 Nvidia 特有的错误。Nvidia 派了一名工程师为我们提供技术支持,但我们没有遇到任何 Nvidia 软件错误,因此我们不需要太多支持。

3、AMD 的开箱即用体验非常难以使用,需要相当大的耐心和努力才能达到可用状态。在我们的大多数基准测试中,AMD PyTorch 的公共 AMD 稳定版本仍然有问题,我们需要解决方法。

4、如果没有多个 AMD 工程师团队的支持,对我们遇到的 AMD 软件错误进行分类和修复,AMD 的结果将比 Nvidia 低得多。

5、我们与 Sustainable Metal Cloud 合作,在 256 H100 上运行了非官方 MLPerf Training GPT-3 175B,以测试不同 VBoost 设置的效果

6、对于 AMD 而言,其公开稳定发布软件的实际性能远不及纸面上宣传的 TFLOP/s。Nvidia 的实际性能也低于其宣传的 TFLOP/s,但差距并不大。

7、与 H100/H200 相比,MI300X 的总拥有成本 (TCO) 较低,但使用 AMD 软件的公共稳定版本时,MI300X 的每 TCO 训练性能更高。如果使用 AMD 软件的定制开发版本,情况就会发生变化。

8、训练性能较弱,正如MI300X的矩阵乘法微基准测试所证明的那样,并且AMD公开发布的软件在单节点训练吞吐量上仍然落后于Nvidia的H100和H200。

9、MI300X 的性能受到 AMD 软件的限制。BF16 开发分支上的 AMD MI300X 软件具有更好的性能 ,但尚未合并到 AMD 内部存储库的主分支中。等到它合并到主分支和 PyTorch 稳定版本中时,Nvidia Blackwell 已经可供所有人使用了。

10、AMD 的训练性能也受到限制,因为 MI300X 无法提供强大的扩展性能。这是由于其 ROCm 计算通信库 (RCCL) 较弱,并且 AMD 与网络和交换硬件的垂直整合程度较低,而 Nvidia 则对其 Nvidia 集体通信库 (NCCL)、InfiniBand/Spectrum-X 网络结构和交换机进行了强大的整合。

11、许多 AMD AI 库都是 NVIDIA AI 库的分支,导致结果不理想且存在兼容性问题。

AMD 客户倾向于仅使用手工制作的内核进行推理,这意味着它们在非常狭窄且明确的用例之外的性能很差,并且它们对快速转移工作负载的灵活性不存在。

AMD提出的高管建议

我们真心希望看到 Nvidia 的另一个有效竞争对手,并希望帮助 AMD 达到这一位置,但不幸的是,在这方面仍有许多工作要做:

1、为 AMD 工程师提供更多计算和工程资源来修复和改进 AMD 生态系统,与 Nvidia 为其工程师提供的相比,他们的内部 GPU 盒非常少。最大的 AMD GPU 云 Tensorwave 为 AMD 的一个团队免费提供了 GPU 时间来修复软件问题,考虑到他们为 GPU 付费,这简直太疯狂了。

2、AMD 需要将数千台 MI300X、MI325X 连接到 PyTorch CI/CD 进行自动化测试,以确保 AMD 性能不会下降和功能性 AMD 错误。Nvidia 为 PyTorch CI/CD 提供了数千台 GPU,以确保出色的开箱即用体验

3、AMD 高管团队应该亲自深入内部测试(即“dogfood”)即将上市的产品,而不是专注于测试内部版本。最好在直播期间(twitch.tv)进行dogfood测试,以展示真实的开箱体验。这就像 geohotz 直播一样

4、AMD 应该与 Meta 合作,让生产 LLM 训练工作负载尽快在 PyTorch ROCm(AMD 对 CUDA 的回应)上运行,因为通常情况下,Meta 未使用的 PyTorch 代码路径存在大量错误。

5、不要过度依赖正确设置大量环境标志(多达数十个)来使 AMD 部署可用。相反,将这些设置嵌入到默认配置中。让开箱即用的体验变得可用!

6、专注于提供良好的开箱即用体验,而不是过度依赖从源代码 main@specificcommit 构建所有依赖项并花费 5 个小时进行构建的自定义 VIP 映像。

7、不要再期望最终用户使用 PYTORCH_TUNABLE_OPS,这是一个原型错误功能,并且不尊重最终用户的时间,因为每次最终用户想要对其代码进行任何更改时,最终用户都需要大约 1 小时进行调整。

8、AMD 应提交 MLPerf Training GPT-3 175B 结果。MLPerf 是一种同类基准测试方法,以收敛时间为北极星。

10、我们希望 AMD 具有竞争力,并愿意接受有关如何更好地修复 AMD 数据中心 GPU 生态系统的更详细的反馈。

AMD 与 Nvidia 对比总结

在深入研究阻碍 AMD 发展的各个软件堆栈方面之前,我们将讨论 MI300X 的基本规格、其相对总拥有成本,以及大多数分析师和投资者如何评价其竞争力。

MI300X 于 2023 年底推出,具有一组令人兴奋的纸面规格——具有 1,307 TFLOP/s 的 FP16 计算能力(比 H100 的 989 TFLOP/s 更强)、5.3 TB/s 的内存带宽和 192GB 的 HBM3、3.35 TB/s 的内存带宽和 80GB 的 HBM3。这些规格超过了 H200,而 H200 本身实际上是 H100 的内存规格升级版,可提供 4.8TB/s 的内存带宽和 141GB 的 HBM3e。

从纸面上看,MI300X 部署的总拥有成本非常引人注目,这不仅是因为 MI300X 的 ASP 较低,还因为它通常使用更便宜的以太网网络进行部署。将 16k H200 集群与 16k MI300X 以太网集群进行比较,可以发现仅网络成本就节省了近 40%,其余的节省来自更低的加速器成本。与使用 Nvidia 的 Quantum-2 交换机相比,使用 Whitebox 以太网交换机可以节省大量成本,但真正的区别在于更便宜的收发器,因为 Nvidia 品牌收发器的成本是典型收发器 OEM 收费的 2-3 倍。

从表面上看,MI300X 似乎是两全其美的:更高的性能和更低的总拥有成本。在推出时,人们可以合理地预期,这种引人注目的组合将为处于劣势的 AMD 带来市场份额的增长。下表显示了前期集群资本支出总额——我们在文章底部附近的部分中提供了集群资本支出组件的更详细分类以及详细的网络 BoM 分析。

随着订单的稳定,人们对 MI300X 潜力的兴奋感与日俱增,这得益于 AMD 的乐观评论和指导。凭借令人信服的规格优势,很容易认为 AMD 的指导会进一步上调,大多数投资者认为管理层是在敷衍了事。理论上,AMD 实力雄厚。毕竟,到 2024 年,他们在数据中心 GPU 中的市场份额将达到中等个位数,从逻辑上讲,到 2027 年,即使市场份额达到 10-12% 的下滑路径也可能是保守的,同时为 AMD 带来可观的盈利增长空间。

然而,从 2023 年底到 2024 年的大部分时间,2024 年全年数据中心 GPU 销售预期一再低于这些高预期。从 2024 年第一季度的收益到 2024 年第三季度的收益,AMD 仅将预期从 40 亿美元上调至 50 亿美元,远低于基于 CoWoS 和 HBM 供应协议的60-80 亿美元投资者预期。我们在加速器模型中的需求观点 追踪了 微软今年年初的失望和缺乏后续订单。

之前乐观的推理就像从杂志上购买某种车型,而没有试驾或征求

来源:电子技术应用

相关推荐