記事一覧へ戻る
メモリ・コンテキスト

LowRAM、KeyとValueの予測関係を使ってKV Cacheを圧縮

読了目安 3 分

概要

自己回帰生成では、過去のtokenに対応するKeyとValueをKV Cacheに保持し、各ステップで再利用します。コンテキストが長くなるほどキャッシュは線形に膨らむため、必要なメモリが増え、バッチサイズやデコードスループットの制約になります。既存の圧縮手法は、token間や層間の冗長性、特徴次元の冗長性、あるいは低い数値精度を利用するものが中心でした。

LowRAMは、KeyとValueを同じ方法で扱う必要はないという見方を示します。論文では、同一のアテンションヘッド内で、あるtokenのValueが対応するKeyから比較的よく予測できると観察しました。この関係を利用し、テスト時に適応できる非対称な圧縮パイプラインを構成しています。

主な仕組み

  • Keyの低ランク化:層をまたぐ相関を利用した低ランク因子分解によって、保存するKeyの量を減らします。
  • Valueの予測保存:ヘッドごとに軽量な予測器を学習し、Keyを入力としてValueを再構成します。予測しやすいtokenについては、完全なValueを保存する必要がありません。
  • 残差の選択保存:再構成誤差が大きいtokenにだけ補正用の残差を保持します。これにより、予測が難しいデータへ保存容量を集中できます。報告されたValue圧縮率は、ほぼ無損失の品質で4倍です。
  • テスト時の適応:予測器はメタラーニングで初期化でき、prefill時の適応コストを抑えられます。一度の追加コストを許容できるマルチクエリ推論では、ゼロから適合させることも可能です。
  • 選択的な再構成:デコード時には全KVペアを復元せず、選択された部分だけを再構成します。4倍のKV圧縮、262Kのコンテキストで、ピークデコードスループットが最大5倍向上したと報告されています。

意義と注意点

LowRAMの重要性は、単に圧縮率を高めた点だけではありません。KeyとValueの構造的な違いを利用するため、量子化やキャッシュ削除とは異なる圧縮軸を追加できます。論文の組み合わせ結果では、圧縮率26.9倍でもベースライン性能の94.5%を維持しました。

長文書QAや、同じコンテキストに対して複数の問い合わせを処理するサービスでは、適合済みの予測器を再利用できる可能性があります。一方で、予測器の適合、残差の選択、再構成処理には追加コストがあります。実際の効果は、ハードウェア、コンテキスト長、負荷の特性に左右されるでしょう。それでもLowRAMは、KV Cacheを低精度化したり単純に削除したりするだけでなく、内部表現間の予測関係から圧縮余地を探る方向を示しています。

出典:Hugging Face Daily Papers

コメント

ログイン状態を確認中…

コメントを読み込み中…

関連記事

CCTest · Blog
EvoMemState:パーソナルエージェントの記憶を状態中心へ
メモリ・コンテキスト
cctest.ai

EvoMemState:パーソナルエージェントの記憶を状態中心へ

EvoMemStateは、長期記憶を独立した事実の集合ではなく、関係と推論を含む状態システムとして扱う枠組みを提案します。現在の依頼に応じて、どの記憶をどのように使うかを判断できる点が特徴です。

続きを読む
CCTest · Blog
推論履歴を圧縮するとAIエージェントは安くなるのか
メモリ・コンテキスト
cctest.ai

推論履歴を圧縮するとAIエージェントは安くなるのか

ShortReasoningは、モデルが過去に生成した推論を簡潔な状態記録へ書き換えることで、再学習なしに後続の推論を短くできるかを検証した研究です。効果は確認された一方、圧縮器の性能やタスクによって実際の利益は変わります。

続きを読む
CCTest · Blog
VideoMemBenchが問う、動画モデルは本当に覚えているのか
メモリ・コンテキスト
cctest.ai

VideoMemBenchが問う、動画モデルは本当に覚えているのか

従来の動画QAは、動画だけを見て答えられる独立した質問が中心でした。VideoMemBenchは、過去の映像やモデル自身の回答を参照する多ターン対話によって、動画会話における文脈記憶を測定します。

続きを読む