MOIRA:面向质量的索引,具有用于长上下文解码的不规则注意力
MOIRA: Mass-Oriented Indexing with Ragged Attention for Long-Context Decoding
摘要
长上下文解码受到记忆带宽的限制,因为每个输出token都会读取每一层的 KV 缓存。稀疏解码通过仅读取部分 KV 缓存来降低此成本。我们观察到,查询所需的页面数量在 KV 头、层和步骤之间存在很大差异。固定预算很简单,但它们的大小适合要求苛刻的情况,并根据工作负载进行调整;自适应预算更灵活地遵循这种变化,但现有设计需要付出额外的选择成本或训练的代价。在内核级别,FlashAttention-3 (FA3) 和 FlashInfer 是为类似长度的行而设计的:对于每个 KV 头长度不同的页列表,它们要么填充列表(放弃大部分稀疏节省),要么使线程块不平衡,或者依赖在 CUDA 图之外运行的主机端计划。我们提出 MOIRA,vLLM中的无需训练稀疏解码路径,其预算适应每个 KV 头和每层。对于每个请求、层、KV 头和步骤,覆盖规则保留估计注意力质量达到分数 $γ$ 的最小页面集。一个新的内核,自我规划注意力,让每个线程块从列表长度中获得自己的工作份额,因此整个解码步骤保留在 CUDA 图中。在 H200 上,在 RULER 的 128k 上下文中,具有 $γ=0.99$ 的 MOIRA 在阅读大约 30% 的页面时可匹配密集精度,并且相对于密集 FA3,将每次输出token (TPOT) 的时间减少 2.2-2.5$\times$;使用 $γ=0.98$ 时,它可以将 TPOT 减少 2.7$\times$ 并保持在密集的噪声范围内。在高服务负载下,它可将吞吐量提高高达 51%。这些结果表明,每个头和层的预算与将此类预算保留在 CUDA 图中的内核配对,使得稀疏解码既灵活又快速。
