编辑 | 伊风
出品 | 51CTO技术栈(微信号 :blog51cto)
AMD的芯箱即旗舰AI GPU加速器 ,被曝软件存在大量bug,片被曝软平替几乎无法用于训练AI模型?有技术 !
这事挺让人意外的大量打脸,因为它可是无伟达AMD用来阻击霸主英伟达的一张王牌。
去年12月,法开AMD在自家的用难于“Advancing AI”活动中 ,首次宣布推出了MI300X,成英称优成被其性能比英伟达的曾发栈 H100 足足高出 60%!
图片
一年过去了,苏妈已经投产的服务器租用缺陷AMD MI300X是否真有当时宣传的那么强劲 ?
技术分析公司SemiAnalysis发了一份真实、详尽的芯箱即报告,感觉太打脸了……他们对 @NVIDIA H100/H200 GPU 和 @AMD MI300X 的片被曝软平替性能进行了比较 ,揭开了发布会数据与现实的有技术残忍鸿沟 !
这份报告有多真实呢 ?大量打脸报告中一点拐弯抹角也没有,直接说 :AMD 的软件体验充满了 bug ,使得 MI300X 的开箱即用训练几乎不可能。
报告中还给了个细节:这份历时五个月的调查报告 ,免费模板本来计划几个月前就发布——但都被AMD的软件bug给生生耽误了!
报告团队直接联系了 AMD技术人员一起debug!“为了让 MI300X 的表现不因软件栈的 bug 而受限,我们花费了大量时间定位和修复 AMD 软件的 bug,而非仅仅展示开箱性能问题 。”
报告中提到 :我们与 AMD 的反复互动旨在确保我们的测试能够客观地评估实际用户可能遇到的体验。
这个体验差不说 。主要问题是 ,高防服务器不是所有用户都有机会联系上AMD副总裁解决这些bug吧……
看来 ,英伟达的“CUDA护城河”依然稳稳的很安心 。
MI300X暂时无法匹敌对手的芯片,报告说,AMD的改进仍有许多的工作要做,”如果软件没有实质性的改进,AMD可能会进一步落后,尤其是在Nvidia即将推出下一代Blackwell芯片的亿华云情况下 。”
那么AMD的MI300X关键问题有哪些?我们梳理了这份报告的Key Findings ,然后看看已经囤了AMD卡的该如何“补救”一下。
SemiAnalysis团队透露,他们和苏姿丰会面谈了1.5个小时,并向苏妈给了很多的建议 。
苏妈承认 AMD 软件栈中存在缺陷。并且也大方回复 ,表示听劝。香港云服务器
图片
我们详细看看报告中AMD MI300X 问题的部分 :
仅从理论上的FLOP/s和HBM带宽/容量进行比较,就像仅凭相机的像素数来评估相机性能一样。真正判断性能的唯一方法是运行实际的基准测试。Nvidia的“开箱即用”性能和用户体验非常出色,我们在基准测试中没有遇到任何Nvidia特有的Bug。Nvidia仅安排了一名工程师为我们提供技术支持,但由于我们没有遇到Nvidia软件问题 ,因此几乎不需要额外支持。建站模板相比之下,AMD的“开箱即用”体验非常难以使用 ,需要相当的耐心和努力才能达到可用状态 。在我们的大部分基准测试中,AMD PyTorch公共稳定版本仍然存在问题,需要通过各种变通方法来解决 。如果没有AMD多支工程师团队的支持来排查和修复我们遇到的软件问题 ,AMD的结果会远低于Nvidia的水平。我们与Sustainable Metal Cloud合作,在256块Nvidia H100上运行了非官方的MLPerf训练GPT-3 175B模型 ,以测试不同VBoost设置的效果 。对于AMD而言,其公开稳定版本软件的实际性能远远低于其宣传的理论TFLOP/s 。Nvidia的实际性能同样低于宣传的理论TFLOP/s,但差距没有AMD那么大。虽然MI300X的总体拥有成本(TCO)比H100/H200更低 ,但基于AMD公开稳定版本软件的训练性能在TCO维度上的表现更差。不过,如果使用AMD软件的定制开发版本,情况会有所改变 。在训练性能上 ,MI300X在矩阵乘法微基准测试中的表现较弱,基于AMD公共版本软件的单节点训练吞吐量仍然落后于Nvidia的H100和H200。MI300X的性能受限于AMD的软件。虽然MI300X在BF16开发分支上的性能有所改善 ,但这些改进尚未合并到AMD内部代码库的主分支中 ,也没有进入PyTorch稳定版本。在这些改进被合并并发布之前,Nvidia的下一代Blackwell可能已经上市了 。AMD的训练性能还受到MI300X扩展性能较弱的限制。这是由于其ROCm计算通信库(RCCL)的弱点 ,以及与Nvidia相比,AMD在网络和交换硬件的垂直整合程度较低。而Nvidia通过其Nvidia集体通信库(NCCL) 、InfiniBand/Spectrum-X网络结构和交换机实现了高度的整合。AMD的许多AI库是Nvidia AI库的分支版本,这导致了次优的结果和兼容性问题。AMD的客户通常仅在推理时使用手工优化的内核 ,这意味着其性能仅限于非常狭窄且定义明确的用例,而在快速变化的工作负载下缺乏灵活性。需要查看完整报告的朋友 ,地址在这里↓:https://semianalysis.com/2024/12/22/mi300x-vs-h100-vs-h200-benchmark-part-1-training/
虽然AMD GPU的软件栈有硬伤,但也不是完全无解的。
Hacker News上热议的一篇技术博客 ,讲解了他们如何使用机器学习编译技术 ,让AMD能和NVIDIA的卡掰掰手腕。
通过机器学习编译(MLC)技术,在性能优化和自动化配置上解决了AMD GPU在软件层面的主要缺陷。
最终实现的效果:能在AMD GPU 上使用 ROCm 部署 LLM ,而且性能极具竞争力!
通过他们的 MLC-LLM 项目,AMD Radeon RX 7900 XTX 的推理性能已经接近 NVIDIA RTX 3090 Ti 的 94%,并达到 RTX 4090 的 80%。
图片
通过机器编译技术,复杂的手动优化工作实现了自动化。巧妙解决了AMD用户手动设置大量环境变量(如几十个)来优化性能的痛点。
MLC-LLM 项目做到这些的核心原理有三:
自动生成最优计算路径 替代手动调参,提升易用性高效利用硬件特性关于具体实现方法 ,请跳转该博客进行阅读 :https://blog.mlc.ai/2023/08/09/Making-AMD-GPUs-competitive-for-LLM-inference
这篇技术报告揭露的问题,让我们看到了发布会和现实的差距。
一位前NVIDIA的技术人员说,“除了实验性硬件规格之外 ,还有许多事情要做”。
图片
Nvidia的CUDA生态已然是修好的高速公路 ,一路畅通;而AMD的生态目前仍像是一条坑坑洼洼的乡村小路——开发者需要花很多时间修路 。
AMD的消费级 GPU 基于 RDNA 架构,而数据中心级 GPU 基于 CDNA 架构,预计到 2026 年 , AMD 才会发布统一的 UDNA 架构。
图片
在AMD修路的时候,英伟达的工程师还在加班加点 ,通过新功能 、新库和性能更新来加深护城河 。
在如此深的护城河下 ,没有英伟达的平替。