KVキャッシュって何?
大規模モデルは文字をひとつずつ「ポン」と生み出します。新しい文字を1つ生むたび、アテンション機構は前のすべての文字と「帳尻を合わせ」ます。KVキャッシュは、その計算結果を保存する仕組み。計算済みのKeyとValueを再計算せず、そのまま再利用し、生成を数倍速くします。なぜ毎回「二度手間」が起きるのか
自己回帰生成は一文字ずつモデルが文字を1つ出すたび、それ以前の全内容とのアテンションを再計算します。
計算済みの部分は変わらない
生成済みの部分は書き直されません。そのKとVは固定なので、毎回計算し直す必要はありません。
どう速くなるのか
新規だけ計算し、既存を再利用新しい文字のアテンションは「新規のQ」と「過去のK・V」だけで済み、過去分はキャッシュから取ります。
メモリと時間の交換
代償はK・Vを保存しておくこと(メモリを大きく消費)。その引き換えに推論速度が大幅に上がります。
なぜ重要なのか
KVキャッシュは現代のLLM推論の高速化の土台のひとつで、ほぼすべての本番用推論エンジンが使っています。これを理解すれば、「なぜ生成がだんだん遅くなるのか」「なぜメモリが足りないのか」という2つの疑問の共通の答えが見えてきます。まとめ:KVキャッシュは「計算したものを無駄にしない」。過去のアテンションの帳簿を保存し、生成時は新しい分だけ精算します。
コメント