美国 AI 推理服务商 Wafer 公布了一组在 AMD MI355X 上部署月之暗面(Moonshot AI)开源旗舰大模型 Kimi K3 的实测数据。在综合性能上,单台 MI355X 节点的单流解码速度与每美元吞吐能力都明显超过英伟达 B200 节点,每美元吞吐甚至超过 B300。

模型太大,主流显卡装不下
Kimi K3 于 7 月 16 日正式发布、7 月 27 日开放完整模型权重,是迄今全球参数规模最大的开源模型:总参数 2.8 万亿,采用混合专家(MoE)架构,每次推理实际激活约 1040 亿参数。专家总数为 896 个(另有 2 个共享专家),每次选择其中 16 个参与计算,上下文窗口为 100 万 token,原生支持视觉输入。模型基于月之暗面自研的 KDA(Kimi Delta Attention)混合线性注意力机制与注意力残差(AttnRes)技术构建。
模型权重约 1.5TB,未分配 KV 缓存就已经超过 1.5TB 显存要求。即便是拥有 8 块 B200 的节点(每块 192GB)也无法装下完整的 K3 与百万级 token 的 KV 缓存。剩下的选择是:要么升级到显存更大的 B300(每块 288GB),要么把两个 B200 节点串起来用张量并行(TP16)跑。
另一条路则是 AMD MI355X——单卡同样配备 288GB 显存,与 B300 一致,而每 GPU 的均价只有 B300 的约 1/2.4、B200 的约 1/1.7。硬件规格相近,价格便宜得多,听上去很美。瓶颈在软件:AMD 生态的算子优化普遍慢一拍,推理框架对新硬件的零日支持也常常慢人一步,这正是 Wafer 团队想要验证的地方。
实测数据:便宜,而且更快
Wafer 在 8 块 MI355X 的节点(TP8)、两台 8 块 B200 的节点(TP16)、单台 8 块 B300 的节点(TP8+DCP8)三套配置上跑了同一组基准:1024 token 输入、400 token 输出。
单流解码速度方面,MI355X 为 118 tok/s,B200 节点为 90 tok/s(这是 16 块 GPU 跨节点的总量,平摊到单机约为 249 tok/s 总量中更难直接拿来对比的单流表现),B300 节点为 172 tok/s。MI355X 的单流解码速度是 B200 节点的 1.3 倍以上,仅落后 B300 约 45%。
峰值聚合吞吐方面,MI355X 节点为 952 tok/s,B200 节点为 498 tok/s(双节点 16 块 GPU 加起来的总量),B300 节点为 1568 tok/s。换算到每块 GPU:MI355X 为 119 tok/s,B200 约 31 tok/s,B300 为 196 tok/s——MI355X 是 B200 的 3.8 倍。
按 B200 4.25 美元、B300 6 美元、MI355X 2.5 美元每 GPU 小时的价格计算,每美元每秒吞吐的对比如下:MI355X 为 48 tok/s,B300 为 33 tok/s,B200 仅 7 tok/s。MI355X 的每美元吞吐分别是 B300 的 1.45 倍、B200 的约 6.9 倍。
需要为 B200 节点说句公道话:它的单流数据被跨节点 all-reduce 拖了后腿(用的是 RoCE v2 网络,约 195 Gb/s)——这是三套配置里唯一跨节点的方案,K3 的权重加 1M token 的 KV 缓存确实塞不进单台 8 块 192GB 显卡的服务器。但反过来也说明,K3 这种体量的模型正好让主打大显存的 MI355X 找到了一个对 B200 有实际意义的优势点。
让 MI355X 跑起来的两个补丁
Kimi K3 开箱即可在 AMD 上跑起来,但要拿到上面的峰值数字,还需要两个补丁。
第一个补丁在投机解码上。K3 没有内置任何草稿张量,既没有 MTP,也没有 EAGLE,唯一的投机路径是外部块扩散:RadixArk 出品的 Kimi-K3-DSpark。在 CUDA 上直接就能跑;在 ROCm 上,第一个真实请求就把调度器打挂了,错误是 `NameError: name ‘top_k_renorm_prob’ is not defined`。原因是 sglang 的接受采样验证器有一条走 `torch.topk` 的稀疏路径,需要先调用 `top_k_renorm_prob` 函数;ROCm 构建里只挂了 Triton top-p 算子的别名,没把这个 top-k renorm 函数定义出来,于是请求一落到稀疏路径就立刻崩。
修法只需要一段 PyTorch 函数:拿到概率向量,保留 top-k 项、把其他位置置零、再做一次缩放。sort、masked_fill、divide 三步搞定,加进 sglang 的 ROCm 采样分支,效果与 CUDA 路径上来自 `sgl_kernel` 的原生实现完全一致。这个小改动让单流性能提升约 2.2 倍,中等负载下单流提升约 1.7 倍,峰值聚合吞吐提升 18%。更重要的是,峰值吞吐对应的并发从 24 提到了 64。
第二个补丁在 prefill 阶段。Wafer 团队提醒,业内谈模型性能时往往只盯着解码 tok/s,但用户真正感受到的是首 token 时延(TTFT),而 MI355X 在这里偏弱。同样的 172k token 冷启动 prefill,MI355X 需要约 51 秒,B300 只需约 23 秒。
差距几乎全部来自一颗算子。K3 在 ROCm 上回退到了速度一般的 Triton 通用注意力实现,因为 AITER 的 MLA prefill 高速内核加载失败。表面看是缺内核,实际是 shape 不匹配:K3 在 TP8 下每个 rank 的注意力头数是 12,而 AITER 的 MLA 路径只支持 4、8 或 16 的倍数。修法是给头数从 12 零填充到 16,跑完高速内核后再从输出里取出实际的 12 个头。结果是,同样 172k 的冷启动 prefill,AITER MLA prefill 稳态速度约 13k tok/s,Triton 兜底只有 4k-7k tok/s,prefill 整体提速约 2 至 3 倍。
这次没有写自定义内核
Wafer 的结论是:在 MI355X 上拿到最佳每美元吞吐基本是开箱即用,除了两个预期的框架级 bug,没有比 GLM5.2 时代更糟,甚至完全不需要写自定义内核。
他们由此判断,SOTA(业界最优性能)在 AMD 上已经指日可待,CUDA 的护城河正在被蚕食。
补充月之暗面官方公布的成绩:Kimi K3 在大模型编码评估系统 Frontend Code Arena 榜单上以 1679 分登顶,超过 Claude Fable 5 和 GPT-5.6 Sol 等闭源模型,是开源模型首次在该榜单夺冠;BrowseComp 测试得分 91.2%,高于 GPT-5.6 Sol 的 90.4% 和 Claude Fable 5 的 88.0%,单任务成本 2.03 美元,约为 GPT-5.6 Sol 的一半。API 官方定价为:缓存命中 2 元/百万 token、未命中输入 20 元/百万 token、输出 100 元/百万 token,Mooncake 分离式推理架构使编程场景的缓存命中率超过 90%。
来源:Wafer Blog《Is memory the moat?》原文(2026 年 7 月);月之暗面官方博客《Kimi K3: Open Frontier Intelligence》及官方模型卡。





