这或许是 AMD 期待已久的时刻。最近,Wafer AI 在 AMD MI355X 上成功部署了 Kimi K3 模型。令人惊讶的是,原本需要 16 张 NVIDIA B200 芯片、横跨两台服务器才能运行的模型,如今仅需一台配备 8 张 MI355X 的服务器即可完成部署。
不仅是“能装进去”,性能表现同样亮眼。在输入 1024 Token、输出 400 Token 的测试中,MI355X 达到了 952 Token/s 的总吞吐量,单用户生成速度为 118 Token/s。按单节点计算,其吞吐量约为 16 卡 B200 方案的 3.8 倍,性价比甚至超越了 B200 和 B300。
核心原因在于显存容量的优势。Kimi K3 拥有 2.8 万亿参数,仅模型权重就超过 1.5TB 显存,还需预留 KV Cache 的空间。NVIDIA B200 单卡显存为 192GB,8 张卡合计约 1.5TB,刚好放下权重却无余力支撑上下文缓存,因此被迫采用双机 16 卡的跨节点方案。相比之下,B300 和 AMD MI355X 均采用 288GB 显存设计,8 张卡合计约 2.3TB,能够将模型完整保留在单节点内,避免了跨节点通信带来的延迟开销。
数据证实了这一点:MI355X 单节点峰值总吞吐量达 952 Token/s,远高于 B200 双节点部署平均单节点的 249 Token/s。虽然 B300 的绝对性能依然领先,8 卡总吞吐量达到 1568 Token/s,但价格因素改变了结论。按照 Wafer 设定的价格模型,MI355X 每美元可提供约 48 Token/s 的吞吐量,远超 B200 的 7 Token/s 和 B300 的 33 Token/s。对于追求高性价比的数据中心而言,这一优势至关重要。
更令人意外的是,AMD 软件生态的体验远超预期。长期以来,AMD 数据中心 GPU 的软件适配往往令人头疼,但在 Kimi K3 的部署中,ROCm 表现出了惊人的兼容性。模型基本可以直接运行,仅需针对推测解码环节做少量修补。由于 ROCm 环境下缺失了 `top_k_renorm_prob` 函数,Wafer 直接使用 PyTorch 函数补全了逻辑,无需重写底层内核。这一修复不仅解决了报错,还让单流性能提升了约 1.7 倍,峰值吞吐量提升约 18%。
体验上的优化同样显著。针对首字延迟这一痛点,Wafer 发现 MI355X 在处理长上下文预填充时曾出现 51 秒的冷启动延迟,远高于 B300 的 23 秒。经排查,问题出在注意力内核的形状匹配上:Kimi K3 在 8 路张量并行下每张卡分配到 12 个注意力头,而 AMD 的高速 MLA 预填充内核仅支持 4、8 或 16 的倍数。系统因此回退到了较慢的 Triton 实现。解决办法简单而高效:将 12 个头补零至 16 个,调用高速内核计算后再取回有效数据。优化后,预填充速度提升至 1.3 万 Token/s,冷启动时间缩短了两到三倍。
这场测试表明,CUDA 的护城河依然坚固,但缺口已然出现。随着开放模型迈向万亿参数时代,显存容量已从参数表上的数字演变为决定系统性能的关键变量。AMD 依靠大容量 HBM 显存,在单机部署和通信效率上建立了显著优势。如果 AMD 能持续提升 ROCm 的稳定性,扩大高速内核的形状支持,并保持对新模型的首日适配能力,数据中心或许真的需要重新审视 AMD 的 GPU 方案:价格更低、显存更大、性能够用,且软件不再需要漫长的折腾。
