AI LAB / KEYWORD DICTIONARY

基礎知識

KV Cache(KVキャッシュ)とは?

Key-Value Cache

KVキャッシュは、自己回帰型モデルが処理済みトークンのKeyとValueを保存し、次のトークン生成時に再利用する推論向けの仕組みです。

仕組みと使いどころ

自己回帰型Transformerは、過去の文脈に基づいて1トークンずつ生成します。KVキャッシュは、各Attention層で処理済みトークンから得たKeyとValueを層ごとに保持し、後続の生成で再利用します。これにより、生成のたびに過去のKeyとValueを計算し直す必要がなくなります。一方、通常の動的キャッシュは系列が長くなるほどメモリ使用量が増え、長いコンテキストではボトルネックになり得ます。また、キャッシュは推論用であり、学習時に有効化すると予期しないエラーが生じる可能性があります。

KV Cacheの活用例

たとえば、こんな場面で

長い入力文から回答を生成するチャット機能では、生成済み部分のKeyとValueをKVキャッシュに保持し、次のトークン計算で再利用する構成が考えられます。これにより、過去部分の同じ計算を繰り返さずに生成を進められます。

使うときのポイント

推論時のメモリ量と生成速度を確認してキャッシュ方式を選びます。長い文脈でメモリ不足になる場合は、CPUへのオフロードや量子化も候補ですが、転送処理や短い文脈では速度面の不利が生じ得ます。

参考資料

How caching works · Hugging Face (新しいタブで開きます)Cache strategies · Hugging Face (新しいタブで開きます)

用語の説明や活用例に関連する参考資料です。

READ & LEARN

用語を知ったら、活用を知る。

AI LABで、AIの動向や業務に取り入れるヒントを読む。

記事一覧を見る