メインコンテンツへスキップ
EXBANK
Draft / 編集レビュー前この用語はAI補助で初稿生成中です。事実確認・編集監修が完了するまで検索エンジンには公開されません。誤りを見つけたらこちらから連絡してください。
用語集一覧へ
— Glossary

KV Cache(KVキャッシュ)KV Cache

読み: ケーブイキャッシュ
TL;DR — 短い定義

KV Cache は、自己回帰生成中に過去トークンの Key・Value を保存して再利用する仕組みです。1トークン生成あたりの計算量が O(N^2) から O(N) に削減され、推論速度を劇的に高めます。

詳細解説

KV Cache(KVキャッシュ、ケーブイキャッシュ)は、自己回帰型 Transformer の推論において、デコード過程で過去トークンに対する Key(K)行列と Value(V)行列を計算結果として保存し、次トークン生成時に再利用するキャッシュ機構です。Self-Attention は新たに生成する1トークンの Query と過去全トークンの K・V との内積を必要としますが、過去トークンの K・V は次トークン生成でも変化しないため、毎回再計算する必要はありません。これにより、N トークン目の生成あたりの計算量が O(N^2) から O(N) に減り、長文生成で生成速度が10倍以上に達します。一方で、KV Cache は層数 × ヘッド数 × ヘッド次元 × 系列長 × 2(K と V) × バッチサイズ × 精度 のサイズを占有し、Llama 3 70B で系列長8K・バッチ32の場合に数十GBに達することもあり、GPU メモリのボトルネックになります。この問題への対策として、(1) ヘッドの K・V を共有する GQA・MQA、(2) ページング管理する PagedAttention(vLLM)、(3) FP8/Int4 への KV キャッシュ量子化、(4) 古いトークンを破棄する StreamingLLM/H2O、などが活発に研究されています。LLM サービングのコスト・スループット最適化の中心課題です。

実装例 / 使い方

  • 01Llama 3 70B で KV Cache を有効化すると生成速度が10倍以上になります
  • 02長コンテキストでは KV Cache が GPU メモリの大半を占めます
  • 03PagedAttention(vLLM)が KV Cache を仮想ページ管理で効率化します
IMPLEMENT

KV Cache(KVキャッシュ)を、実際に活用する

用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。

営業時間 平日10-18時 / 通常24時間以内に返信