論文解説: Random Attention — KVキャッシュの追い出しは「ランダムで十分」だった
KVキャッシュから何を捨てるかを決める「重要度スコア」は、ほとんど効いていなかった。プロンプトだけ守って残りをヘッドごとに一様ランダムで捨てるだけで最強手法と同等の精度、しかもvLLMで32〜43%速い。4モデル×6タスクの実測と、なぜそうなるかの2つの対照実験を読み解きます。
Random Attention: Rethinking KV Cache Eviction for Efficient Reasoning
一次資料 — この記事の根拠
論文の発表 2026-09-03→この解説の公開 2026-09-07同月
Random Attention: Rethinking KV Cache Eviction for Efficient ReasoningHeng Wang, Jielin Qiu, Wenting Zhao ほか · 2026-09-03 · v1arXiv:2609.03430論文ページ·PDF原文の要旨(Abstract)を読む
Large language models achieve superior performance on tasks that require extended reasoning, but long chains of thought make the KV cache a severe memory bottleneck. Existing KV cache compression methods share one paradigm: score each cached token by some estimate of how much it will matter later, and keep the top-scoring ones. We show that the selection signal contributes almost nothing. Random Attention keeps the prompt and evicts uniformly at random within each attention head, computing no score at all; across four models and six reasoning tasks it matches the strongest prior evictor while serving 32-43% higher throughput than it in vLLM deployment. Controlled experiments explain this by showing that 1) the prompt is the fragile part of the cache, and most of the gap between selectors is just whether their selection signal happened to keep it; 2) the reasoning trace protects itself against eviction with redundancy at two levels, in the text (the model restates what it still needs as it works) and across attention heads (each keeps its own copy of the trace), so once the prompt is safe, a random draw retains enough copies of what the model still needs, and no score is required to pick them. Our code is publicly available at https://github.com/SalesforceAIResearch/Random-Attention.
「どれを捨てるか」を真面目に選ぶのをやめた論文
原題は "Random Attention: Rethinking KV Cache Eviction for Efficient Reasoning"(Heng Wang ほか、Salesforce AI Research / University of Illinois Urbana-Champaign、arXiv:2609.03430、2026年9月3日)。
要旨はこうです。推論モデルは長い思考の連鎖を書き出すため、KVキャッシュが深刻なメモリのボトルネックになる。既存のKVキャッシュ圧縮はどれも同じ枠組み——各トークンに「あとでどれくらい効きそうか」の点数を付け、上位だけ残す——を共有しているが、この選択シグナルはほとんど何も貢献していない。Random Attention はプロンプトを保護し、残りをアテンションヘッドごとに一様ランダムで捨てる。点数は一切計算しない。それでも4モデル・6タスクで最強の既存手法に匹敵し、vLLM上のスループットはその手法より32〜43%高い。理由は2つで、(1) キャッシュの中で脆いのはプロンプトであり、手法間の差の大半は「そのスコアがたまたまプロンプトを残したかどうか」でしかない、(2) 推論トレースは冗長性で自分を守っている——テキストの中で(モデルは必要な内容を書き直し続ける)、そしてヘッドをまたいで(各ヘッドが自分のコピーを持つ)。
ランキング問題だと思われていたものが、実は保護問題だった、という論文です。コードは GitHub の SalesforceAIResearch/Random-Attention で公開されています。
前提: キャッシュを埋めるのはモデル自身の文章
Transformer は過去のトークンごとに Key と Value を取っておいて使い回します(KVキャッシュを1から理解する)。このキャッシュは生成が伸びるほどまっすぐ膨らむ。推論モデルではそこが致命的で、論文の設定(§2)では200トークン程度の問題に対してモデルは1万トークン超の思考を書きます。キャッシュを埋めるのはユーザーの入力ではなく、モデル自身の文章です。
対策のひとつが追い出し(eviction)——予算に達したらペアを物理的に捨てる方式で、捨てたものは二度と戻りません。全部メモリに残したまま一部だけ見に行く sparse attention と違い、追い出しだけがピークメモリを本当に抑えます。論文の枠組みでは、キャッシュは恒久予算 個に加えて直近 個()のバッファを持ち、 ステップごとに追い出しが発火する。バッファ外の候補それぞれに点数 を付け、上位 を残します:
式(1)は「候補集合 の中から点数 の高い順に 個だけ残す」と言っているだけです。 が生き残る位置の集合です。
既存手法の違いは、 の作り方だけ
論文が整理し直すと(§2)、主要手法はすべて の設計違いに還元されます。H2O は受け取ったアテンション重みの累積、SnapKV は直近 個のクエリぶんのアテンション和、R-KV はそこに冗長性の項 ( は他のキーとの平均コサイン類似度)を混ぜたもの、VaSE は Value の大きさ、TriAttention はヘッドごとに較正した三角級数によるクエリからの距離。つまりこの分野は「より良いスコアの系譜」で、共通の前提は「スコアが圧縮下の精度を決める」でした。
スコアの多くはアテンション重み、つまり Query と Key の内積を softmax にかけた値から作られます。その分布がどれくらい尖るかで「上位 を選ぶ」ことの意味は変わる——平らなら、上位 と適当な の差は小さい。論文がエントロピーを測っているわけではありませんが、結果を飲み込む補助線にはなります。
Random Attention の中身は、2つの決めごと
手法(§3)は驚くほど短い。狙いは「取り返しのつかない入力」と「モデルが書いた作業メモ」を分けることです。問題文は一度しか現れず、捨てたら復元できない。一方トレースは、必要な中間結果を何度も書き直す。
- 問いを守る。プレフィル(システムプロンプト・チャットテンプレート・問題文)の位置 は絶対に捨てない
- 残りをヘッドごとに散らす。残りには i.i.d. の一様乱数を点数として与え、各KVヘッドが独立に上位 を残す
式(2)は「プロンプトの位置には無限大の点数を与えて必ず残し、それ以外はサイコロを振る」と読みます。 はプロンプト長、 は0〜1の一様乱数。実装は乱数生成1回と topk 1回だけ。論文の言葉が的確で、これは書き下せる最弱の選択シグナルであり、実用手法であると同時に帰無仮説でもある。同じ予算でこれに勝てないスコアは、シグナルから使える情報を取り出せていない。
コメント
コメントにはログインが必要です