论文

EFFICIENT STREAMING LANGUAGE MODELS WITH ATTENTION SINKS

背景[1]

如图1所示,Window Attention缓存最近的L个token的KV。虽然在推理过程的效率高,但一旦开头的token的KV被驱逐出Cache,模型推理的表现就会急剧下降(PPL约高模型表现越差)。

rps2acli.bmp

                      图1. Illustration of StreamingLLM vs. existing methods

方法[1]

有了这个洞见,作者设计Window Attention的改进版。思路也是很直接,在当前滑动窗口方法基础上,重新引入了一些initial tokens的KV在注意力计算中使用。StreamingLLM中的KV缓存可以概念上分为两部分,如图4所示:(1)attention sink是4个initial tokens,稳定了注意力计算;(2)Rolling KV缓存保留了最近的token,这个窗口值是固定的,图中为3。

o06gm6oc.bmp

                                     图4. The KV cache of StreamingLLM.

实现[10]