KVキャッシュとは?
読み方: ケーブイキャッシュ
30秒まとめ
Transformerモデルの推論を高速化するため、計算済みのKey-Value行列を再利用する最適化技術。
KVキャッシュの意味・定義
KVキャッシュ(Key-Value Cache)は、Transformerベースのモデルがテキストを生成する際の推論速度を大幅に向上させる最適化技術です。Transformerのアテンション機構では、各トークンの生成時にKey(キー)とValue(バリュー)の行列計算が必要ですが、既に生成済みのトークンに対する計算結果をキャッシュ(保存)して再利用することで、冗長な計算を省略します。 KVキャッシュがなければ、100番目のトークンを生成する際に過去99トークン分の計算を全てやり直す必要がありますが、キャッシュがあれば新しい1トークン分の計算のみで済みます。一方、コンテキストが長くなるほどキャッシュのメモリ消費が増大するため、長文処理ではメモリが逼迫する課題があります。対策として、GQA(Grouped Query Attention)やMQA(Multi-Query Attention)によるKVヘッド数の削減、PagedAttention(vLLM)による効率的なメモリ管理、KVキャッシュの量子化などの技術が開発されています。