在MI355X上运行Kimi K3,其性价比优于B300
产品 技术 案例 公司 团队 职业 宣言 博客 登录 我们是如何做到的 预填优化 要点 2026年7月31日 艾恩·叶 内存是护城河吗?在每个美元的性能上运行Kimi K3达到约952 tok/s/节点,AMD继续证明其在性价比上的优势。在过去的几个月里,我们看到开源模型的能力激增。随着DeepSeek V4-Pro和GLM5.2接近Opus级别的智能,开源模型已经成为与我们长期以来依赖的封闭源模型的一个真正、成本有效的替代方案。但我们还没有看到像Kimi K3这样的模型。Kimi K3承诺达到Fable/Sol级别的智能,标志着开源新纪元的开始。但是更智能的模型意味着更大的模型——这些模型的规模扩展速度与其能力提升速度相同。GLM5.2拥有753B参数,DeepSeek V4-Pro为1.6T,而Kimi K3则有2.8T (!!)参数。在分配1M标记上下文的KV缓存之前,这意味着需要超过1.5TB的VRAM。连B200节点(8个GPU)都无法容纳Kimi K3。这使得你只能选择有限的选项:在每个GPU有288GB VRAM的B300上服务,或者承诺两个B200节点(TP16)来服务Kimi。但猜猜还有哪个非NVIDIA GPU拥有288GB的VRAM?AMD的MI355X。你能看出来我们有多喜欢这些芯片吗?与B300平均相比,每个GPU价格便宜约~2.4倍,且比B200便宜约~1.7倍,MI355X是黑威尔同类硬件规格的成本有效替代品。AMD唯一的问题是软件支持——较慢的内核和在推理框架上较少的首日支持使得在AMD上服务前沿模型成为真正的工程挑战。我们在Wafer的主张是,代理商在内核和模型优化方面不断改善,逐步缩小这个差距。但随着AMD为Kimi K3提供首日支持,大部分工作已经为我们完成。结果非常好:在1024标记输入/400标记输出基准测试中,MI355X达到了952 tok/s/节点和118 tok/s单流——每个节点的总吞吐量超过3.8倍,单流解码超过1.3倍我们的TP16 B200部署(其498 tok/s是16个GPU,2个节点的总和——大约249/node)。B300节点在总吞吐量上仍然比MI355X多约1.65倍,但价格是MI355X的2.4倍,MI355X在性价比上碾压了B300。8个MI355X(TP8) 2×8个B200(TP16) B300(TP8+DCP8) 每个流的解码tok/s 118 tok/s 90 tok/s 172 tok/s 峰值总计 952 tok/s 498 tok/s 1,568 tok/s 每个GPU的峰值总计 119 tok/s 31 tok/s 196 tok/s 每个$/GPU-小时的峰值总计 48 tok/s/$ 7 tok/s/$ 33 tok/s/$ 性能/美元,MI355X为$2.50/GPU-小时,B300为$6.00,B200为$4.25。为了为B200辩护,数据在一定程度上被拉低,因为它在解码关键路径上付出了跨节点全归约(RoCE v2大约195 Gb/s)——这是唯一一个跨越两个节点的配置,因为Kimi K3无法在单个8×192GB节点上容纳权重和1M标记KV池。但这正是重点:Kimi K3在其规模上是我们看到的第一个,MI355X专注于HBM容量,使其在B200上有实用且可量化的优势。我们是如何做到的 虽然Kimi K3开箱即用,但要达到当前的吞吐量仍然需要一些工作。主要的杠杆是预测解码。K3发布了零草稿张量——没有MTP,没有EAGLE——因此唯一的猜测路径是一个外部块扩散草稿:RadixArk的Kimi-K3-DSpark。在CUDA上,它可以直接运行。在ROCm上,我们的第一个真实请求在出现这个错误时破坏了调度程序:NameError: name 'top_k_renorm_prob' is not defined。你是想说:'top_p_renorm_prob'吗?sglang的接受采样验证器有两种方法构建目标分布:一种密集路径调用top_k_renorm_prob,另一种稀疏快速路径直接通过torch.topk路由。CUDA构建从sgl_kernel导入top_k_renorm_prob;ROCm构建仅别名一个Triton top-p内核,并将top_k_renorm_prob保持未定义——没有top-k renorm内核供gfx950别名。因此,一旦请求着陆在密集路径上,验证器就会遇到该NameError并将调度程序一起击倒。修复只是一个单独的PyTorch函数。Top-k renorm是一个小操作:获取模型的概率向量,保留k个最高条目,将其余部分归零,并重新缩放剩余的部分使其和为1。排序,一个masked_fill,一个除法——直接放入sglang的ROCm采样分支,与CUDA构建从sgl_kernel获取的相同计算。没有自定义内核:在ROCm上的反应是认为你需要一个,但这里缺少的是定义,而不是缺少内核。随着spec dec的修复和巩固,我们在单流中获得了约2.2倍的性能,在适度负载下每个流约1.7倍,以及+18%的峰值总吞吐量。更重要的是,我们的峰值总吞吐量在更高的并发下落地(c64 vs c24无预测)。预填优化 关于模型性能的讨论往往强调每秒解码标记。但在很多情况下,解码tok/s是误导性的——解码被过度神化,
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡