Kimi K3 推理架构与缓存挑战
青稞AI · wechat · 2026-07-19
这篇长文从推理和系统实现角度拆解了 Kimi K3 的部署挑战,重点讨论 **KDA + AttnRes** 的混合注意力、**Prefix Cache**、**KV Cache** 管理,以及在混合状态下的内存分配策略。 作者认为,K3 的架构虽然在计算上更适合线性注意力,但会给 `vLLM` / `openinfer` 这类推理栈带来新的工程问题: - **P/D 分离**:线性注意力可显著降低 prefill 和 decode 之间传输的数据量,因此理论上能用更便宜、甚至异构的硬件做 prefill。 - **Prefix Cache**:作者把它类比成“快照策略”,讨论如何在有限空间里决定快照频率、如何索引线性注意力状态与普通 KV Cache,并指出共享前缀和 workload 会影响缓存命中率。 - **内存分配**:由于线性状态和 KV Cache 的占用比例会动态变化,不能简单按固定比例切分;作者提到类似 JENGA 的思路,用更大的 page 粒度同时兼容两种状态,以减少碎片。 - **Decode 效率**:线性注意力降低了单请求 HBM 占用,可能显著抬高 batch size,但也会放大 `all-to-all` 通信和 `group gemm` 的压力。 文末还提到一个现实限制:作者自己的 `openinfer` 还没支持“混合注意力的 prefix cache”,所以目前只能继续做性能和调度层面的探索。