将 MHA 的计算量从 \(O(T^2)\) 变为了 \(O(T)\),将访存量变为了从 \(O(T)\) 变成了 \(O(W)\)

推理引擎中有一个参数为 --swa-full-tokens-ratio,表示 SWA 和 GQA 占用显存的比值。

可以通过以上公式进行估算,以 mimo v2 flash 为例:

定义最大序列长度为 \(T\),swa 和 gqa 需要占用的 kv cache 比值为:

\[ \frac{L_{\text{swa}} \cdot W \cdot 8}{L_{\text{gqa}} \cdot T \cdot 4} = \frac{39 \cdot 128 \cdot 8}{9 \cdot T \cdot 4} \]