Transformer和YOCO的缓存和预填充时间对比 原图定位 为什么说 YOCO 只需要“cache only once”?“cache only once”主要针对的是Self-Decoder 部分,这部分会采用高效自注意力机制(图表 29 中 Efficient Self-Attention),例如常见的滑窗注意力。这样当用户输入长上下文 N 时,需要缓存的数量为 O(N+CL),其中 C 代表滑窗的宽度(也就是只在 C 长度范围内计算注意力),L 为解码器层数。当上下文N 特别长时,CL 相比于 N 可以忽略,因此复杂度变为 O(N),即近似于解码器部分只需要将长上下文 N 缓存一次。而传统的 Transformer 每一层都要缓存 KV,故相对应的缓存数量为 O(LN)。即 YOCO 的 KV cache 消耗大约仅为普通 Transformer 的 1/L。