当注意力内核的优化话语权长期集中在 NVIDIA 生态时,一家小型模型公司把 FP8 FlashAttention 做到了 AMD 最新加速卡上。

发生了什么

Zyphra 发布了名为 ZYFA 的开源项目,为 AMD Instinct MI355X 提供 FP8 与 BF16 两种精度的 prefill 阶段注意力内核。据其披露的数据,在真实模型激活(而非合成基准)上,FP8 内核比 AMD 自家的 AITER 实现快 1.16 至 1.76 倍;在 head dimension 为 128 的配置下,误差同时降低 62% 至 78%。

需要说明的是,这些数字来自 Zyphra 自述,尚未看到第三方独立复现;1.76 倍是区间上界,实际收益会随序列长度、batch 配置和模型结构变化。

为什么重要

Prefill 是推理链路里计算最密集的一段:用户输入整段 prompt 后,模型要一次性完成所有 token 的注意力计算,长上下文场景下这部分开销尤其突出。FlashAttention 之所以成为事实标准,正是因为它把这一步的显存访问压到了接近计算下限。而在 AMD 平台上,能同时用上 FP8 和高效注意力内核的选择一直不多——AITER 是官方主推路径,但社区对其性能与数值稳定性的讨论从未停止。

ZYFA 的意义有两层。其一是技术层面:用 FP8 做注意力既要吃到低精度的吞吐红利,又要控制数值误差,二者天然冲突;ZYFA 声称在变快的同时误差反而更低,如果成立,说明其在缩放与累加策略上做了针对性处理。其二是生态层面:MI355X 是 AMD 当前面向大模型训练与推理的主力产品,但软件栈的成熟度始终是客户犹豫的核心。一家做模型的公司亲自下场写内核,本身就是对 AMD 软件生态短板的一次侧面印证,也是一种补位。

影响与看点

对开发者而言,最直接的价值是多了一个可替换的注意力后端,尤其在长 prompt、高并发推理场景下,prefill 的每一点提速都会传导到首 token 延迟和单位成本上。开源也意味着可以审计、可以改,这对需要做数值验证的团队比闭源库更友好。

值得关注的几点:一是第三方复现,尤其是不同 head dimension 和序列长度下的表现是否稳定;二是 BF16 路径的实际收益,毕竟 FP8 需要硬件与模型两侧的配合;三是它与 vLLM、SGLang 等主流推理框架的集成进度——内核写得再好,接不进 serving 栈就只是基准数字。

一个独立判断:AMD 的硬件竞争力正在被软件生态的碎片化拖累,靠零散的开源内核补位能缓解痛点,但真正的解法仍是官方栈把性能和数值质量同时做上去。ZYFA 更像是压力测试,而不是终局。