AIハードウェアとソフトウェアスタック

大規模言語モデルの推論で使われるKVキャッシュの役割として正しいものはどれか。

  1. Aよく使われる質問と答えを保存しておき、同じ質問にすぐ答える
  2. BCPUのキャッシュメモリにモデルの重みをすべて入れる
  3. Cすでに処理したトークンのアテンションのKeyとValueを保存しておき、新しいトークンのたびに計算し直すのを避ける
答えと解説を見る

正解:C. すでに処理したトークンのアテンションのKeyとValueを保存しておき、新しいトークンのたびに計算し直すのを避ける

アテンションの計算では、新しいトークンが、それまでのすべてのトークンのKeyとValueを参照します。前のトークンのKeyとValueは変わらないので、毎回計算し直さずに保存しておけば、新しいトークンの分だけ計算すれば済みます。これがKVキャッシュです。計算は大きく減りますが、保存するKeyとValueの量は文章の長さとバッチの大きさに比例して増えます。

  • A. 答えを保存する仕組みではありません。
  • B. CPUのキャッシュとは別のものです。
  • C. 正しい。計算を大きく減らす代わりにメモリを使います。
この分野を解く 分野ページへ

AIハードウェアとソフトウェアスタックのほかの問題

  1. 大規模言語モデルの推論で、長い文章や大きなバッチを扱うときに問題になりやすいことはどれか。
  2. FP16で約14 GBの重みを持つモデルを、メモリ帯域2 TB/sのGPUでバッチサイズ1でデコードする。1トークンの生成にかかる時間の下限に最も近いものはどれか。
  3. Transformerのセルフアテンションの計算量が、入力の系列の長さnに対してどのように増えるか。
  4. FlashAttentionなどの高速なアテンションの実装の主な考え方として正しいものはどれか。
  5. AIの計算で使われる「演算の融合(オペレータフュージョン)」の主な目的はどれか。