情報科学 › LLM アーキテクチャ › 推論

KV キャッシュの計算量と記憶量

定理 7.3(「推論」§7) ・ ✓公理まで証明済み

1 ヘッドの層(WQ,WK,WV,WOW_Q, W_K, W_V, W_O は d×dd \times d、MLP は d→dff→dd \to d_{\mathrm{ff}} \to d)で、スカラーの乗算の回数を数えます(層正規化、活性化関数、softmax の指数は数えません)。nn 個の位置 t=1,…,nt = 1, \ldots, n を順に処理するとします。

  1. キャッシュつきでは、位置 tt の 1 層の乗算は 2td+4d2+2d dff2td + 4d^2 + 2d\, d_{\mathrm{ff}} 回で、nn 個の合計は
Ccache(n)=d n(n+1)+n (4d2+2d dff)C_{\mathrm{cache}}(n) = d\, n(n+1) + n\,(4d^2 + 2d\, d_{\mathrm{ff}})

です。 2. キャッシュなしで、位置 tt のたびに長さ tt の列全体を計算し直すと、1 層の乗算は 2t2d+t(4d2+2d dff)2t^2 d + t(4d^2 + 2d\, d_{\mathrm{ff}}) 回で、合計は

Cfull(n)=d n(n+1)(2n+1)3+n(n+1)2(4d2+2d dff)C_{\mathrm{full}}(n) = \frac{d\, n(n+1)(2n+1)}{3} + \frac{n(n+1)}{2}(4d^2 + 2d\, d_{\mathrm{ff}})

です。 3. dff=4dd_{\mathrm{ff}} = 4d のとき、Ccache(n)=d n(n+1)+12nd2=O(n2d+nd2)C_{\mathrm{cache}}(n) = d\,n(n+1) + 12 n d^2 = O(n^2 d + n d^2)、Cfull(n)=13d n(n+1)(2n+1)+6d2n(n+1)=O(n3d+n2d2)C_{\mathrm{full}}(n) = \frac{1}{3} d\,n(n+1)(2n+1) + 6 d^2 n(n+1) = O(n^3 d + n^2 d^2) です。 4. キャッシュが保存する数の個数は、LL 層・nn 位置で 2Lnd2 L n d です。

本文で読む(証明と前後の説明)→

閉包の状態

✓ 公理まで証明済み

証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています(前提の定理類 1 件、定義なども含めて 2 件)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

前提をたどる 証明が使う定理・定義(直接 2 件)

▸ を開くと、その項目の証明が使う前提が出ます。深い先は各項目のページでたどれます。

これを使っている定理 証明で参照している 1 件

関連するノック 1 問