表示
超・人工知能研究所 Super AI Research Lab トップへ超・人工知能研究所AI Research Lab / ぱそ太郎工事中

since
平成38年9月29日

← 検索結果に戻る

長い文脈の参照先を代表キーで選ぶSANTA++

SANTA++

保存した記事を見るこのブラウザに保存します。無料会員で端末間の同期・フォルダ整理
原論文の図

SANTA++の原論文から掲載した図です。細部はクリックして拡大できます。

原論文の図の説明を読む

Figure 5: Key versus probe-fingerprint clustering. Accuracy on four RULER tasks with 50 prompts per task and nominal budgets S = 128,256,512 S=128,256,512 . Bars compare key clustering, probe-fingerprint clustering, SANTA, and dense SDPA; error bars denote the displayed 95% confidence intervals.

出典:SANTA++ / arXiv ↗

概要

  • 代表キーでKVキャッシュの読み取り先を選び、選んだチーム内は正確に計算する。
  • LongBench v2では、密な注意計算の点数の99.07%を、16.68%の論理的KV読み取り量で保った。
  • 演算子の速度測定では1.69倍だったが、準備処理は測定に含まれない。
補足:編集した模式図で仕組みを確認する

VISUAL EXPLAINER

図でつかむ、SANTA++の仕組み

左から右へ読む
  1. 01質問と保存済み語
  2. 02代表キーを採点
  3. 03チームを抽出
  4. 04選択分を正確に計算
  5. 05次の語の計算結果

原論文の説明をもとにした模式図です。処理の細部は省略しています。

研究の背景

長い文章から次の語を生成するとき、モデルは過去の語との関連を計算する。この仕組みを注意機構と呼び、過去の情報をキーと値の組として保存したものがKVキャッシュである。文脈が長いほど、一語を出すたびに保存済み情報を読む負担が増える。

重要な語は質問ごとに変わるため、固定した範囲だけを読めばよいとは限らない。SANTA++は、今回の問いに応じて読む場所を選び、保存済み情報への読み取りを抑える研究だ。

手法

まず入力文の処理後、保存済みのキーを集団に分け、集団内の実際のキーを代表として選ぶ。近いキーを代表ごとのチームに割り当てる。次の語を作る際には、現在の問いと各代表キーとの関連度、チームの大きさから候補を選ぶ。たとえば長い文書中の特定の数値を問う場合、その質問に関係しそうなチームが読み取り対象になる。

選ばれたチームでは、含まれるすべてのキーと値を読み、正確な関連度を計算する。抽出確率が低いチームも全体への寄与を見積もれるよう、選ばれる確率の逆数で重みを補正する。これを重要度サンプリングという。新しく生成した語の範囲は正確に計算する。抽出するチーム数を変えれば、読み取り量と精度の釣り合いを調整できる。

新規性

SANTA++は、保存済みの全キーを毎回調べず、各チームを代表する実際のキーで読む先を選ぶ。選んだチーム内は正確に計算し、選ばれる確率の差を補正する。選択前の全キー走査を減らしつつ、問いごとに参照先を変えられる点が提案の核である。

従来手法との違い

密な注意機構であるSDPAは、保存済みのキーと値を広く読む基準方式である。先行するSANTAは正確な注意の重みからサンプルを選ぶため、選ぶ前に全キーを読む。SANTA++は代表キーでチームを選ぶため、この読み取りを減らす。

平均キーを使って集団を代表させる方法との診断比較もある。著者らは、平均すると集団内の高い得点が薄まると説明し、実際のキーを代表に選ぶ。少なく読んだ分だけ常に同じ精度になるわけではなく、課題と抽出数で結果は変わる。

実験結果

著者らはQwen2.5-7B-Instruct、32Kの文脈で評価した。LongBench v2では密なSDPAの点数の99.07%を保ち、報告上のKV読み取りは16.68%。HELMETの検索拡張生成課題では、点数98.00%、読み取り38.49%。RULERでは設定により、読み取り19.95%で点数91.07%だった。

別の演算子速度測定では、32,768語、バッチ数1、FP16入力の条件で、Flash SDPAの107.33マイクロ秒に対し63.52マイクロ秒、1.69倍の速度と報告する。この測定は準備処理を除く。読み取り率と速度は異なる測定であり、同じ改善率として扱えない。

応用の可能性

編集上の応用案 · 論文が実証した用途とは区別しています。

編集上の応用案:長い社内文書を参照して質問に答える仕組みで、回答生成時の注意計算にSANTA++を試す。入力は文書を含む長い文脈と利用者の質問、出力は回答文と、比較用に保存した基準方式の回答である。

文書のどの箇所が質問ごとに重要になるかは変わるため、少ない読み取りでも必要な情報を拾えるかを検証する。採用候補は、文書中の固有名詞や数値を問う質問での正答を保ち、処理時間も改善する場合に限る。

応用先の候補からNauhに相談できます。

導入時の検証

導入時の検証案 · 対象データでの再評価が必要です。

導入時の検証案:長文を参照する質問集を用意し、現行の密な注意計算を基準に同じモデル、文脈長、質問で比較する。まず少数の抽出チームから試し、抽出数を増やしたときの正答率と論理的なKV読み取り量を記録する。

固有名詞、数値、複数箇所を結ぶ質問を分けて集計し、平均点だけでは見えない失敗を探す。代表キーを作る時間を含めた回答全体の時間も測る。精度の許容範囲を先に定め、その範囲で読み取り量と時間が改善する設定を選ぶ。

限界と課題

著者らは、読み取り量の表が論理的なキー・値アクセス数であり、実際のメモリ転送量や応答時間を示すものではないと明記する。演算子の速度比較には準備処理が含まれず、最終的な生成全体の速さは準備費用と生成する長さにも左右される。

課題別の落ち込みもある。RULERの複数箇所を探す課題の一設定では、基準方式89.60%に対し60.20%だった。編集上は、自社文書の検索問題で精度の低下が集中しないか、準備を含む総時間が改善するかを確かめたい。

応用先の候補
研究内容と応用案に基づく分類です。業界での導入実績を示すものではありません。

出典

元のタイトル・要旨を確認する(英語)

SANTA++: Sampling Attention through Representative Keys

Attention often concentrates on a small subset of tokens in the context, but which subset matters changes from one query to the next. To exploit this changing structure, we introduce SANTA++, a training-free stochastic attention method that uses representative keys for memory-efficient selection without scanning the entire key-value (KV) cache. Cached keys are organized into teams, and the query scores one representative from each team to decide which teams to sample. We compute exact attention scores within the sampled teams and reweight each team's contribution by the inverse of its inclusion probability. This importance sampling correction estimates attention over the full cache, with a sampling budget that lets us trade memory reads for accuracy. Remarkably, with 32 or 64 sampled teams, SANTA++ uses 16% to 22% of dense attention's KV reads and retains 94% to 99% of the dense-attention baseline's scores on LongBench v2 and HELMET's retrieval-augmented generation subset, and 85% to 91% on RULER, with Qwen2.5-7B-Instruct at 32K context. With 31 sampled teams, our GPU implementation delivers a $1.69\times$ attention speedup over the dense FlashAttention baseline at 32K context. By reducing the number of cache entries read, SANTA++ in principle complements architectures with compressed KV representations, such as multi-head latent attention. Our kernels are available at: https://github.com/OPUSLab/santapp-kernel-demo.git.

論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-09-29