Random Attention: KVキャッシュ削除により推論を加速させる

DeepSeek-R1 や Qwen3、Phi-4-reasoning といった推論特化型の大規模言語モデルは、難しい問題を解くために数万トークンにおよぶ思考連鎖(Chain of Thought: 思考の途中経過をテキストとして書き出す推論)を生成します。このとき問題になるのが、アテンション計算で使うキーと値を保存しておく領域であるKVキャッシュ(Key-Value Cache)のメモリ消費です。KVキャッシュは生成が進むほど線形に増え続けるため、長い思考連鎖を扱うほどメモリのボトルネックが深刻になります。
この問題への対処として、あらかじめ予算を決めて古いエントリを破棄するKVキャッシュ削除(KV Cache Eviction)が研究されてきました。従来の削除手法はいずれも共通した発想に立っています。キャッシュ上の各トークンに対して「後でどれだけ重要になりそうか」というスコアを付与し、上位のみを残して残りを破棄するというアプローチです。これまでの研究の歴史は、累積アテンションから直近ウィンドウ、冗長性を加味したスコア、値の大きさ、位置依存の統計量へと、より精緻なスコアを提案し続けてきた流れとして整理できます。
Salesforce AI Research と University of Illinois Urbana-Champaign の研究チームはこの前提そのものを検証し、「選択シグナル(スコア)はほとんど何も寄与していない」と報告しています。提案されているRandom Attention は、プロンプトを保護したうえで、残りのキャッシュをアテンションヘッドごとに一様ランダムで破棄するだけの手法です。スコアの計算は一切行いません。それでも4つのモデルと6つの推論タスクにわたって最強の既存手法に匹敵する精度を達成し、スコアリングに伴う追加計算が存在しない分、vLLMでの配信スループットは32〜43%高いことが示されています。
この記事では、まず課題設定とRandom Attentionの仕組みを整理し、主要な実験結果を確認します。そのうえで「なぜスコアが効かないのか」を説明する2つの対照実験(プロンプトの脆弱性と推論トレースの冗長性)を取り上げ、推論効率の評価や、実務で導入する際の限界とトレードオフまでを詳しく解説します。
1. 長い思考連鎖がもたらすKVキャッシュのメモリ問題
1.1 デコード時におけるメモリボトルネックと削除の必要性
推論モデルは200トークン程度の短い数学の問題に対して、1万トークンを超える思考連鎖を生成することがあります。KVキャッシュは1トークン生成するたびに1エントリ増えるため、メモリ使用量が生成長に比例して膨らんでいきます。
ここで対象としているのは、デコード中におけるKVキャッシュ削除(KV cache eviction)です。
- KVキャッシュ削除の役割: キャッシュが予算に達した際、キーと値のペアを恒久的に捨てることでメモリ消費を一定に抑えます。ただし、一度捨てたペアは二度と戻らないため、取り返しのつかない情報損失のリスクを伴います。
- スパースアテンション選択との違い: 類似する概念にスパースアテンション選択(sparse-attention selection: 一部のトークンだけにアテンションする手法)があります。しかし、こちらは全ペアをメモリに残したまま計算対象を絞るだけであるため、メモリは系列長とともに増え続けます。メモリ消費の上限を確実に保証できるのは削除だけです。
1.2 周期的削除の枠組み
周期的削除の一般的な枠組みでは、永続的な予算として\(K\)個のペアを確保し、それに加えて直近\(r\)個(\(r \ll K\))のバッファを保持します。処理の流れは以下のとおりです。
- デコードのたびにキーと値のペアが1個ずつ追加されます。
- \(r\)ステップごとにバッファが埋まり、削除イベントが発火します。
- バッファの外にある候補それぞれに重要度スコアを付与します。
- スコアの上位\(K\)個を残し、残りを破棄します。
既存の削除手法における違いは、実質的にこの「スコアの付け方」だけにあります。
1.3 既存手法のスコア設計と共通の前提
既存の主要な削除手法と、それぞれのスコア付けのアプローチは下表のように整理できます。
| 手法 | スコアの付け方 |
|---|---|
| StreamingLLM | スコアなし。先頭のアテンションシンク(attention sink: 強くアテンションを集める先頭付近の位置)と直近バッファだけ残す |
| H2O | キャッシュ投入以降に受けた累積アテンションが大きい位置を残す |
| SnapKV | 直近\(w\)個のクエリからのアテンションのみを使い、近傍位置でmax-pooling |
| R-KV | SnapKVスコアと冗長性ペナルティ(他キーとの平均コサイン類似度)を混合し、言い直された内容を二重に残さない |
| VaSE | キーではなく値をスコア化。値のレンジが大きい位置を残し、残りをSnapKVスコアに比例した確率でサンプリング |
| TriAttention | 現在のクエリからの距離を三角級数でスコア化。係数はヘッドごとに較正し、キーのノルムと組み合わせる |
これらのスコアは、いずれも「タスク精度と相関する」というヒューリスティックに基づいて動機づけられています。その背景には、「スコアの質が圧縮環境下での精度を左右する」という共通の前提が存在していました。Random Attentionは、この前提を正面から疑うところから出発しています。
2. Random Attention の仕組み
2.1 2つの構造的アプローチ
Random Attentionの発想は、置き換えられない「入力(プロンプト)」と、モデル自身が生成した「思考トレース」を明確に分けて扱う点にあります。
- 入力(質問): 一度しか提示されないため、破棄してしまうと復元できません。したがって、確実に保護する必要があります。
- 思考トレース: 生成が進むにつれてモデル自身が中間結果を何度も見返し、書き直します。そのため、後者にはランダムサンプリングを適用します。
具体的には、以下の2つの構造的な選択のみによって手法が定義されます。
- 質問を守る: 位置\(1\)から\(\ell_p\)まで、すなわちシステムプロンプト、チャットテンプレート、質問を含むPrefill(生成を始める前に入力をまとめて処理する段階)全体を決して削除しません。
- 残りをヘッドごとに撒く: 残りの各位置に独立同分布の一様乱数スコアを与え、各KVヘッドが独立に上位\(K\)個を保持します。選択シグナルを用いないため、保持される予算はトレース全体に均等に、かつヘッドごとに別々に分散して配置されます。
2.2 定式化とアルゴリズム
手法全体は、以下の数式で定義されます。
$$
s_i =
\begin{cases}
+\infty & i \le \ell_p ;;(\text{プロンプト}) \\\\
u_i \sim \mathrm{Uniform}(0,1) & \text{それ以外}
\end{cases}
$$
各変数の定義と動作は次のとおりです。
- \(s_i\): 位置\(i\)に割り当てられるスコア
- \(\ell_p\): プロンプトのトークン長
- プロンプト位置(\(i \le \ell_p\))には\(+\infty\)を与えるため、上位\(K\)個の選抜に必ず残ります。
- それ以外の位置には\(0\)から\(1\)の一様乱数を割り当てるため、保持される順位は完全にランダムとなります。
- この乱数は、削除イベントが発生するたびに、KVヘッドごとに独立して引き直されます。
1回の削除イベントにおける処理は、以下のわずか4行の疑似コードで表現できます。
1: s ← rand(B, H_kv, S) # 位置ごと・KVヘッドごとに一様乱数スコア
2: s[:, :, 0:ℓ_p] ← +∞ # 質問を強制的に保持
3: keep ← topk(s, K) # KVヘッドごとに独立に上位K個
4: return keep
2.3 最弱の選択シグナルと「帰無仮説」としての役割
削除1回あたりの計算コストは、乱数生成1回と上位\(K\)個の選抜(Top-K)1回のみです。キャッシュの中身を走査してスコアを計算するパスは一切存在しません。
これは「数式として書き下せる最弱の選択シグナル」と位置づけられます。Random Attentionは実運用可能な高速な削除手法であると同時に、評価における「帰無仮説(null hypothesis: 棄却されるべき基準線)」としての役割も果たします。同じキャッシュ予算を与えられた状況下で、もしシグナルベースの手法がこのランダム選択を超えられないのであれば、その手法のスコアは有効な情報を引き出せていないことを意味します。
2.4 年齢バイアスと各手法における保持パターンの違い
Random Attentionでは明示的なスコアを計算しませんが、構造上「年齢バイアス」が自然に残ります。
- 1回の削除を生き延びたトークン位置は、次の削除イベントで再び抽選対象となります。
- したがって、\(n\)回の削除を経た後に残存している確率はおよそ\(0.94^n\)(\(K=1024\)、\(r=64\)の場合)となります。
- これにより、Random Attentionは実質的に「ゆるやかな直近ウィンドウ」として振る舞い、古い位置ほどヘッドごとに異なる薄い裾野(テール)として生き残ることになります。
トークンの年齢に応じた保持特性は、手法ごとに大きく異なります。
- Random Attention: 位置の年齢が上がるにつれて、保持率が幾何級数的に低下します。
- VaSE: 過去のお気に入りのトークン群を固定(フリーズ)し、長期間にわたって抱え込み続けます。
- TriAttention: ほぼ全年齢に対して均等に予算を配分します。その結果、直近の中盤領域はRandom Attentionより薄くなり、非常に古い裾野部分は数倍厚く残されます。
3. 4モデル・6タスクでの評価結果
3.1 評価設定
性能の検証には、以下の4つのモデルと6種類の推論タスクが用いられています。
- 評価モデル:
- Qwen3-4B
- Qwen3-14B
- Qwen3-32B
- Phi-4-reasoning(14B)
- 評価タスク(数学・科学・コード):
- MATH500: 500問
- GPQA-Diamond: 198問
- AIME(2025年および2026年): 各30問(まとめて1列として集計)
- HMMT: 60問
- LiveCodeBench-v6 medium: 383問(実際のテスト実行によるpass@1)
- 実験パラメータと評価条件:
- 圧縮率: 各タスクの典型的なトレース長に対して約4倍圧縮(LiveCodeBenchのみ約3倍)
- ヘッドあたりの予算(\(K\)): MATH500は1024、GPQA-Dは2048、AIMEおよびHMMTは4096、LiveCodeBenchは3072
- 最大生成長: 32,768トークン
- 集計方法: タスクに応じて2〜16回の独立サンプリング平均を算出
- 有意差判定: ペア化・問題クラスタ化したブートストラップ(95%信頼区間)および厳密符号検定
3.2 主要3モデルにおける精度比較
ペア検定の結果、Random Attentionは60個のベースライン比較セルのうち31個で有意に上回り、有意に下回ったのはわずか1個のみでした。約4倍圧縮における主要3モデルの精度は下表のとおりです(Fullは削除を行わない上限値)。
| モデル / 手法 | MATH500 | GPQA-D | AIME | HMMT | LiveCodeBench |
|---|---|---|---|---|---|
| Qwen3-4B Full | 0.939 | 0.562 | 0.642 | 0.462 | 0.807 |
| SnapKV | 0.703 | 0.369 | 0.418 | 0.395 | 0.507 |
| R-KV | 0.810 | 0.482 | 0.494 | 0.371 | 0.712 |
| VaSE | 0.809 | 0.461 | 0.596 | 0.421 | 0.700 |
| TriAttention | 0.864 | 0.533 | 0.592 | 0.437 | 0.755 |
| Random Attention | 0.874 | 0.530 | 0.610 | 0.438 | 0.744 |
| Phi-4-reasoning Full | 0.922 | 0.707 | 0.677 | 0.444 | 0.697 |
| SnapKV | 0.844 | 0.442 | 0.502 | 0.343 | 0.314 |
| R-KV | 0.909 | 0.636 | 0.643 | 0.440 | 0.621 |
| VaSE | 0.853 | 0.562 | 0.520 | 0.354 | 0.373 |
| TriAttention | 0.891 | 0.684 | 0.633 | 0.431 | 0.652 |
| Random Attention | 0.910 | 0.678 | 0.662 | 0.430 | 0.667 |
| Qwen3-32B Full | 0.950 | 0.703 | 0.715 | 0.559 | 0.886 |
| SnapKV | 0.816 | 0.476 | 0.541 | 0.450 | 0.609 |
| R-KV | 0.857 | 0.638 | 0.613 | 0.472 | 0.779 |
| VaSE | 0.868 | 0.597 | 0.680 | 0.524 | 0.797 |
| TriAttention | 0.887 | 0.683 | 0.677 | 0.508 | 0.834 |
| Random Attention | 0.891 | 0.683 | 0.664 | 0.509 | 0.806 |
3.3 タスク別の詳細傾向
実験結果は、大きく分けて以下の3つのパターンに分類できます。
数学・科学: シグナルによる精度の寄与は見られない
MATH500とGPQA-Dにおいて、Random AttentionはVaSEおよびSnapKVに対して全モデルで有意に勝利しており、R-KVに対してもQwen3-4Bで有意に上回っています。これらのタスクでRandom Attentionを有意に上回るベースライン手法は存在しません。TriAttentionがGPQA-Dの一部で0.3〜0.6ポイント先行する場面が見られるものの、測定ノイズの範囲内とされています。
競技数学: どのベースラインも抜け出せない
AIMEやHMMTは問題数が少なく難易度が高いため、比較結果が不安定になりやすいタスクです。16回のサンプリングを実施しても、SnapKVは全モデルで有意に劣り、R-KVはQwen3系で、VaSEはPhi-4-reasoningで有意に劣る結果となりました。Random Attentionを有意に上回るベースラインは存在せず、名目上の優劣は試行ごとにばらつきます。たとえばQwen3-32BにおいてVaSEがAIMEで1.7ポイント、HMMTで1.5ポイント上回るケースがありますが、30問セットにおける実行間の標準偏差は両手法ともに±5ポイントに達しており、統計的に有意な差とは言えません。
コード推論: 多くのシグナルベース手法が崩壊
手法間で最も顕著な差が現れたのがLiveCodeBenchです。
- SnapKVは全モデルでRandom Attentionに対して20〜35ポイントの大差で敗北しています。
- VaSEはPhi-4-reasoningにおいて精度0.373(29ポイント差)と大きく崩壊しています。
- TriAttentionとRandom AttentionはQwen3-4BおよびPhi-4-reasoningでほぼ同等のスコアを記録していますが、Qwen3-32BではTriAttentionが約3ポイント上回りました。
このQwen3-32Bでの結果が、主要グリッド全体で唯一、ベースラインがRandom Attentionに有意に勝利したケースです。しかし、この要因は選択シグナルの優劣ではなく「プロンプトの長さ」にあると分析されています。LiveCodeBenchのプロンプト長は平均557トークンであり、同一トークナイザにおけるMATH500の約6倍に達します。最長のものでは予算\(K=3072\)の半分近くを消費します。プロンプト全体を完全に保護するRandom Attentionのポリシーでは、ランダム選択を開始する前に予算の大きな変動枠を使い切ってしまうことが影響しています。
3.4 圧縮率スイープと生成長
- 圧縮率スイープ(2倍〜16倍): Qwen3-4BおよびPhi-4-reasoningを対象に、数学・科学の4タスクで圧縮率を2倍から16倍まで変化させる実験が行われました。2倍圧縮では全手法が削除なし(Full)に近い精度を維持しますが、予算が厳しくなるにつれてRandom AttentionはTriAttentionと並走し続ける一方、これら2手法とVaSEとの性能差は拡大していきます(※LiveCodeBenchはプロンプト長だけで小予算を超過するため、本スイープからは除外されています)。
- 生成トークン数: Random Attentionの精度が他手法と肩を並べている要因は、出力を不必要に長く引き延ばした結果ではありません。生成トークン数を比較すると、Random Attentionは削除手法の中で最短クラスを記録しています。Qwen3-4BおよびQwen3-14Bでは最も短く、残りの2モデルでも最短手法の約5%以内の長さに収まっています。
4. なぜ選択シグナルはほとんど効かないのか
推論中のKVキャッシュに格納される情報は、大きく以下の2種類に大別されます。
- プロンプト(入力): 一度提示された後は二度と提示されません。
- ワーキングステート(作業記憶): 解を積み上げていく中間の推論ステップであり、推論の進行に伴って繰り返し書かれ、書き直され続けます。
検証の結果、「プロンプトは非常に脆弱であり手法間での扱いが分かれていること」、そして「推論トレースは高度に冗長化されておりランダムな抽選でも必要な情報が生き残ること」が、2つの対照実験を通じて明らかになっています。
4.1 プロンプトという脆弱な領域
各手法は、プロンプトの保持方針において設計が分かれています。
- TriAttention: 既定でプロンプト全体を保持します。
- VaSE / R-KV / SnapKV: 既定ではシンクトークンのみを残し、それ以外のプロンプト部分はスコア付けに委ねます。
従来の比較は、純粋なスコアアルゴリズムの比較であると同時に、「プロンプトの保護方針の違い」を比較していたことになります。
プロンプト保護の統一実験
全手法に対して「プロンプトを完全に残す」という同一の保護ルールを適用することで、スコアの影響と保護方針の影響を分離できます。保護ルールの適用前後の精度変化は下表のとおりです(括弧内の数値はルール適用による増減ポイント)。
| 手法 | Qwen3-4B MATH500 | Qwen3-4B GPQA-D | Phi-4 MATH500 | Phi-4 GPQA-D |
|---|---|---|---|---|
| SnapKV | 0.703 → 0.829(+12.6) | 0.369 → 0.492(+12.3) | 0.844 → 0.889(+4.5) | 0.442 → 0.667(+22.5) |
| R-KV | 0.810 → 0.812(+0.2) | 0.482 → 0.471(−1.1) | 0.909 → 0.902(−0.7) | 0.636 → 0.655(+1.9) |
| VaSE | 0.809 → 0.812(+0.3) | 0.461 → 0.470(+0.9) | 0.853 → 0.895(+4.2) | 0.562 → 0.664(+10.2) |
| 直近ウィンドウ | 0.246 → 0.843(+59.7) | 0.093 → 0.519(+42.6) | 0.665 → 0.884(+21.9) | 0.323 → 0.658(+33.5) |
| Random Attention | 0.459 → 0.874(+41.5) | 0.231 → 0.530(+29.9) | 0.759 → 0.910(+15.1) | 0.434 → 0.678(+24.4) |
実験結果の分析
- 保護不足による利得: このルールは、各手法がスコアリングによって失っていたプロンプトの量に応じて精度を回復させます。
- プロンプト保持率が最も低いSnapKV(実測保持率0.11〜0.22)は劇的に改善し、Phi-4-reasoningのGPQA-Dでは最大+22.5ポイント向上します。
- VaSE(保持率0.20〜0.29)はプロンプトが長いPhi-4-reasoningで大きく改善(+4.2および+10.2ポイント)します。
- もともとプロンプト保持率が高かったR-KV(保持率0.26〜0.67)の改善幅は最大でも+1.9ポイントにとどまります。
- プロンプト保護ルールを統一すると、これら3つのベースライン間の差は全設定でわずか2.2ポイント以内に収束します。
- 対照的に、Random Attentionの実測プロンプト保持率はどのヘッドでも0.994〜0.999に達しています。
- シグナルなし手法における劇的な逆転:
- ルールがない場合、直近ウィンドウは全予算を直近トレースに配分してプロンプトを喪失するため、精度は0.09まで崩壊します。Random Attentionもプロンプトを均等確率で削るため精度は0.23〜0.76に落ち込みます。
- しかしプロンプト保護を適用した途端、Random Attentionは全設定で最高精度のポリシーとなり、素の直近ウィンドウでさえ最強ベースラインの2ポイント以内に迫ります。
- 結論: プロンプトの喪失は致命的ですが、推論トレースをランダムに削減することは致命傷にはなりません。コード、競技数学、32BでのGPQA-Dへ制御を拡大してもこの傾向は不変であり、プロンプト起因の格差が解消されると差はごくわずかとなり、Random Attention有利へと傾きます。先行研究がランダム削除に対してシグナルベース手法の大幅な優位性を報告していたのも、比較対象のランダムベースラインがプロンプトを誤って破棄していたことが主因です。
4.2 推論トレースの自己防衛機構
キャッシュの残りを占める推論トレース(ワーキングステート)は、以下の2つのレベルで冗長化されています。
- テキスト内の冗長性: トレース内では思考の過程で重要な内容が繰り返し言い直されるため、特定の値がテキスト中の1箇所にしか存在しない状況は稀です。
- ヘッド横断の冗長性: 各KVヘッドが全トークンのコピーを個別に保持しており、削除はヘッドごとに独立して行われます。あるトークンが完全に消失するのは、全KVヘッドが揃ってそのトークンを破棄した場合のみです。
プロービング実験の設計
ヘッド横断の冗長性の効果を検証するため、事実をトレース内に植え込むプロービング実験が行われました。
- 設定: 実際に生成されたMATH500のトレース内に、合成された事実(例:
Let zq = 4729のような新しい変数と値のペア)を挿入し、末尾にその値を問う質問を配置します。 - 条件: 事実は質問の1,536トークン前に置かれ、その間に15回の削除イベントが発生します(質問自体は常に保持)。特定のKVヘッド集合のみ事実を固定保持させ、残りのヘッドからは事実を削除し、その他のキャッシュ全体にはヘッドごとの一様削除を適用します。
- 評価指標:
- Retrieval: 貪欲デコード(greedy decoding: 各ステップで最も確率の高いトークンを選ぶ復号)において、質問位置で正しい値を再現できたトレースの割合。
- 段階的リコール指標(\(R\)): Retrievalが0になる過酷な条件での微小な情報保持を測定する指標。
$$
R = \frac{\sum_i \left( \mathrm{LP}_i – \mathrm{LP}_i^{\mathrm{del}} \right)}{\sum_i \left( \mathrm{LP}_i^{\mathrm{kept}} – \mathrm{LP}_i^{\mathrm{del}} \right)}
$$
ここで\(\mathrm{LP}_i\)はテスト条件下でモデルが正解値に与える対数確率です。\(\mathrm{LP}_i^{\mathrm{kept}}\)は事実を全キャッシュに残した理想値、\(\mathrm{LP}_i^{\mathrm{del}}\)は全キャッシュから消去した基準値です。\(R=1\)は一切削除しない場合と同等の価値を意味し、\(R=0\)は完全に情報が無価値になった状態を表します。
実験結果から得られた2つの知見
- 知見1: コピーはヘッドをまたいでプールされる(超加法性)
- Qwen3-4Bの8つのKVヘッドのうち、単独でトレースを保持して正解値を再現できるヘッドは3つしかなく、最良の単独ヘッドでも再現率は3%、次点は1%にすぎません。
- しかし読み出しは複数ヘッドから協調的に行われます。同じ2ヘッドを組み合わせると再現率は60%に急上昇し、3ヘッドで83%、8ヘッド全体では99%に達します。
- このプーリング効果は強く超加法的(superadditive: ペアの価値が単独の合計を大幅に上回る)です。別々のヘッドに置かれた2つの異なる値は、単独では\(R=0.10\)と\(R=0.16\)ですが、組み合わせることで\(R=0.31\)へと跳ね上がります。
- したがって、どこかのヘッドにコピーが残ってさえいれば情報は復元可能です。独立したヘッドごとのランダム抽選は、まさにこの分散保持を最大化する振る舞いとなります。
- 知見2: コピーの幾何学的形状は問わない
- 事実をトークン単位で各ヘッドに分散させ、連続する2トークンが同一ヘッドで共有されない(どのヘッドも連続した文字列として読めない)状態にしても、Retrievalはほとんど低下しません(連続文の0.39に対し0.33)。リコール指標も\(R=0.76\)に対して\(R=0.75\)と実質的に同等です。
- 実際のMATH500トレースにおいても、トークンを散発的に保持しても連続ブロックで保持しても、ブロック長が1〜64トークンの範囲内であれば精度低下などのペナルティは生じません。
- 精度が明確に低下するのはブロックサイズが256に達した時のみであり、これはヘッド内に4ブロック(\(K=1024\)時)または2ブロック(\(K=512\)時)しか残らない極端な状態です。本質的に重要なのは「ヘッドあたりのブロック数」であり、「個々のブロック長」ではありません。
なお、実際のMATH500トレースでは、ヘッド間で異なる位置を残すばらつき(cross-head diversity)自体も必須ではないことが補足されています。全ヘッドで共通の乱数位置を用いる「共有抽選」を行った場合でも、4倍および8倍圧縮での精度差はRandom Attentionと0.3ポイント以内(\(K=1024\)で0.871対0.874、\(K=512\)で0.788対0.789)にとどまります。これはテキスト内の冗長性によってすでに十分な言い直しが行われているためです。ヘッド横断の冗長性が真価を発揮するのは、植え込み実験のようにテキスト側で言い直しが一切なされないケースです。これら2つの冗長性は相互に補完し合う関係にあり、Random Attentionはその両方を活かしています。
4.3 選択シグナルが唯一必要とされるケース
ランダム選択のポリシーが唯一対応できないのは、「一度だけ提示され、思考連鎖の中で言い直されることもなく、後から必要とされる事実」です。
質問の57削除ラウンド前にパスコードを一度だけ提示し、各ポリシーで自由にキャッシュを保持させた際の測定結果は下表のとおりです(\(\log p\)が0に近いほど確実にパスコードを出力でき、\(-18\)前後はキャッシュから実質的に消失したことを示します)。
| ポリシー | Retrieval | \(\log p\) |
|---|---|---|
| Random Attention | 0.000 | −18.35 |
| VaSE | 0.344 | −3.88 |
| SnapKV | 0.004 | −11.11 |
| R-KV | 0.836 | −0.71 |
| TriAttention | 0.016 | −11.11 |
結果の考察とneedle-findingの性質
- Random Attentionはパスコードを一度も再現できません(Retrieval 0.000)。
- Retrievalのスコアは、各シグナルがスコアリング対象としているアテンション統計の性質と直接対応しています。
- 履歴全体の累積アテンションを重要度とするR-KVは84%の確率でパスコードを保持します。
- サンプリングされたアテンションを用いるVaSEは約3分の1の保持率となります。
- 直近ウィンドウのシグナルに依存するSnapKVやTriAttentionは、ほぼ検出できません。
- 関連する理論研究においても、冗長性が一切存在しない条件下では、ランダムなキャッシュ管理はポインタ追跡(pointer-chasing)タスクにおいて決定論的に敗北することが証明されています。
- ただし、こうしたneedle-finding(干し草の中から針を探すような、一度きりの事実検索)の能力は、集約的な推論タスクでの強さとは無関係です。実際、最良のneedle-finderであるR-KVは主要ベンチマークで1列しか勝てず、総合的に最強だったTriAttentionはこのテストでほぼスコアを回収できませんでした。
- 通常の推論トレースでは、モデル自身が作業中の数値を繰り返し言い直すため、このような「一度きりの事実」が問題になる状況は極めて稀です。
5. スコアリングパス省略による推論の加速
5.1 評価環境の設定
推論効率の測定は、以下の2つの環境で実施されています。
- vLLM(PagedAttention搭載): TriAttentionのプロトコルに準拠した設定です。公式なvLLMポートが存在する既存手法はTriAttentionとR-KVのみであり、先行検証でTriAttentionのほうが効率的であることが示されているため、本環境ではTriAttentionとの直接比較を行います。
- HuggingFace Transformers(FlashAttention-2搭載): ページングを行わずにバッチデコードする設定です。1基のGPUメモリに収まる最大バッチサイズを用いて全手法を比較します。
5.2 ページド配信におけるスループット測定
H200 GPU(1台)、キャッシュ予算\(K=2048\)、プロンプト1,000トークン、生成32,000トークン、128並行リクエストの条件下で測定されたスループット(出力トークン毎秒および削除なし(Full)に対する倍率)は下表のとおりです。
| 手法 | Qwen3-4B | Phi-4-reasoning | Qwen3-14B | Qwen3-32B |
|---|---|---|---|---|
| Full | 1296(1.00×) | 780(1.00×) | 925(1.00×) | 346(1.00×) |
| TriAttention | 1494(1.15×) | 1212(1.55×) | 1303(1.41×) | 700(2.02×) |
| Random Attention | 2046(1.58×) | 1737(2.23×) | 1819(1.97×) | 923(2.67×) |
| Random Attention の TriAttention 比 | +37% | +43% | +40% | +32% |
32kトークンのような長い生成においては、同時処理リクエスト数を制限するボトルネックは計算能力ではなくKVキャッシュのメモリサイズです。キャッシュを圧縮することでより多くのリクエストを同時に処理できるようになり、スループットが向上します。Random Attentionは削除なし(Full)と比較して1.58〜2.67倍のスループットを達成し、同一カーネル上でTriAttentionと比較しても32〜43%高速です。この優位性は特定の動作環境に限られたものではなく、圧縮の効果が出にくい短い生成や低負荷な状況でも一貫して成立します。
5.3 等メモリ条件下での比較
GPUメモリを限界まで活用する等メモリ比較(H200 143GB 1台、\(K=3072\)、32k生成)では、すべての削除手法が大きな恩恵を受けます。
- 最大バッチサイズ: 削除なし(Full)では28(Qwen3-4B)や20(Qwen3-14B)にとどまるのに対し、キャッシュ圧縮手法を用いることで109〜200まで拡大できます。このバッチ拡大が、全手法に共通する3〜10倍の高速化の源泉です。
- Random Attentionの優位性: スコア計算を行わないRandom Attentionは、最も低いピークメモリ(Qwen3-4Bで101GB、Qwen3-14Bで89GB)で最大バッチを収容できます。その結果、削除なしと比較して10.0倍(4B)および8.8倍(14B)のスループットに達し、\(K=1024\)のMATH500設定では28.8倍に達します。
5.4 スコアリング省略が大幅な加速を生む理由
単一ストリームでの計測では、1回の削除ラウンドにかかる時間はRandom Attentionで0.30ミリ秒(キャッシュの再配置のみ)、事前にスコアを計算するTriAttentionでも1.47〜1.64ミリ秒であり、デコード時間全体の数%にすぎません。しかし、実運用(サービング配信)環境では、このわずかな差が以下の2つの要因によって大幅に増幅されます。
- 並行処理による圧縮回数の累積とバッチ同期待ち:
- 128リクエストが並行して実行され、各リクエストが64トークン生成するごとに削除が発生するため、vLLMはほぼ毎デコードステップでいずれかのリクエストの圧縮処理を行います。1つのワークロード全体では約62,000回もの圧縮が発生します。
- しかも圧縮処理はバッチステップ間の同期ポイントで実行されるため、1つのリクエストの圧縮中、128個の全リクエストが待機状態になります。
- Qwen3-14Bにおいて、TriAttentionの32k生成がRandom Attentionより余分にかかった910秒を分析すると、圧縮1回あたり約15ミリ秒のバッチ全体待機時間に相当します(Random Attentionでは1ミリ秒未満)。
- ページドKV管理におけるスコアリングの高負荷:
- キャッシュの統計量を利用する手法は、ページング化されたKV状態への追加メモリアクセスが必要になります。
- アテンション重みを利用する手法は、融合カーネル(Fused Kernel)が内部統計を保持しないため、再計算を行うか明示的にデータを取り出すオーバーヘッドが発生します。
- Random Attentionはこれらが一切不要であり、キャッシュの詰め直し処理のみで完結します。
注意点
等メモリ比較においてTriAttentionに対して記録された「3倍の差」は、TriAttentionのスコアラーを融合(Fused)していない実装で検証した結果を反映したものであり、アルゴリズム自体の本質的な差ではありません。実質的な優位性として確認されているマージンは、ページド配信における32〜43%の向上です。
6. 限界と実務上のヒント
6.1 適用条件と弱点
Random Attentionには、適用にあたって注意すべき条件や弱点も存在します。
- コード推論における長いプロンプト:
LiveCodeBenchのプロンプトは平均557トークンであり、最長のものでは\(K=3072\)という予算の半分を占有します。プロンプト全体を固定保護するRandom Attentionでは、キャッシュ選抜が始まる前に予算の大部分が消費されてしまいます。Qwen3-32Bのコード課題においてTriAttentionが約3ポイント上回ったのは、この影響によるものです。コードのプロンプトに含まれる定型的な足場(入出力フォーマットやハーネス指示など)は、完全に固定するのではなく柔軟なルールで圧縮できる余地があり、今後の改善課題とされています。なお、Random Attentionは「ハイパーパラメータの調整が不要な基準線」としての価値を重視しているため、こうした個別対応はあえて組み込まれていません。 - 一度きりの事実の検索(needle-finding):
ポインタ追跡やneedle-findingのように、一度しか出現しない事実を後から正確に参照する必要がある課題では、キャッシュ内容に応じた選択シグナルが不可欠です。ただし、モデル自身が思考の過程で中間結果を繰り返し言語化する実際の推論タスクにおいては、こうした状況が発生することは極めて稀です。 - 中間規模モデルにおける局所的な差:
Qwen3-14Bにおいても大枠の傾向は共通していますが、この規模ではTriAttentionがLiveCodeBench(+2.6ポイント)とMATH500(+2.1ポイント)で、VaSEがAIME(+2.6ポイント)で有意に上回る結果が確認されています。これらはいずれも、コードにおけるプロンプト長の影響や、VaSEの競技数学における特性と整合する範囲内の現象です。
6.2 実務への示唆と今後の方向性
実務的な観点において、Random Attentionは以下の強力なメリットを備えています。
- 運用の簡便性と速度: 事前のキャリブレーションやハイパーパラメータ調整、追加のスコアリングパスが一切不要であり、同等のタスク精度を保ちながら最も高速に動作する削除手法です。
- サービングにおける推奨デフォルト: 厳格なメモリ予算の下で推論モデルを効率的に配信する際、第一選択となる妥当な初期設定として活用できます。
- 新たなアルゴリズム評価の基準線(帰無仮説): 今後新しい選択シグナルを設計・提案する際には、「同一のメモリ予算」かつ「同一のプロンプト保護ルール」を適用したRandom Attentionの精度を上回ることが必須の最低ラインとなります。
KVキャッシュ削除手法の精度を決定づける本質は、「何を保護するか」にあり、「残りのトークンをいかに精緻にランク付けするか」ではない、という結論が示されています。今後の最適化の力点は、スコア計算の洗練ではなく、長いプロンプトに対する効果的な予算配分や、一度しか現れない重要事実の回収といった「保護すべき対象の適切な制御」へと移行していくと考えられます。
おすすめ
KVキャッシュの削除は、長らく「ランキング問題」として扱われてきました。どのトークンが後から重要になるかを推定し、上位のトークンを残すという枠組みです。しかし実際には、そのランキングによる寄与がほとんどないことが明らかになりました。プロンプトを確実に保護し、残りをヘッドごとに一様ランダムで破棄するだけのシンプルなポリシーが、4つのモデルと6つの推論タスクにおいて最強のベースライン手法に匹敵し、vLLMによる配信では32〜43%ものスループット向上を実現しています。
この結果をもたらす理由は2点に集約されます。第1に、プロンプトこそがキャッシュの中で最も脆弱な部分であり、すべての手法でプロンプトを均一に保護すると手法間の性能差の大部分が消失するためです。第2に、推論トレースは「テキスト内の反復」と「KVヘッド横断の分散」という2重の冗長性によって自己防衛されているため、プロンプトさえ守られていればランダムなサンプリングであっても必要な情報が十分に生き残るためです。
実務においては、追加のハイパーパラメータ調整やスコアリング計算を一切必要とせずに導入でき、同一の精度を維持したまま最も高速に動作するという特性が大きな強みとなります。メモリ制約下で推論モデルを運用する際の有力な第一候補となるだけでなく、新たな重要度スコアを提案する際の基準線(ベースライン)としても機能します。今後の課題としては、コード生成に見られるような長いプロンプトの足場をいかに効率的に圧縮するか、そして一度きりしか提示されない事実をどのように回収するか、という点が挙げられます。キャッシュ削除技術の焦点は、単なる「トークン順位付けの改良」から「何を保護すべきかの設計」へと確実に移りつつあります。
More Information
- arXiv:2609.03430, Heng Wang et al., 「Random Attention: Rethinking KV Cache Eviction for Efficient Reasoning」, https://arxiv.org/abs/2609.03430