AIハードウェアとソフトウェアスタック
大規模言語モデルの推論で使われるKVキャッシュの役割として正しいものはどれか。
- Aよく使われる質問と答えを保存しておき、同じ質問にすぐ答える
- BCPUのキャッシュメモリにモデルの重みをすべて入れる
- Cすでに処理したトークンのアテンションのKeyとValueを保存しておき、新しいトークンのたびに計算し直すのを避ける
答えと解説を見る
正解:C. すでに処理したトークンのアテンションのKeyとValueを保存しておき、新しいトークンのたびに計算し直すのを避ける
アテンションの計算では、新しいトークンが、それまでのすべてのトークンのKeyとValueを参照します。前のトークンのKeyとValueは変わらないので、毎回計算し直さずに保存しておけば、新しいトークンの分だけ計算すれば済みます。これがKVキャッシュです。計算は大きく減りますが、保存するKeyとValueの量は文章の長さとバッチの大きさに比例して増えます。
- A. 答えを保存する仕組みではありません。
- B. CPUのキャッシュとは別のものです。
- C. 正しい。計算を大きく減らす代わりにメモリを使います。