【すぱーすあてんしょん】

スパースアテンション とは?

公開:
💡 全員と話さず要点だけ交わす会議術
📌 このページのポイント
スパースアテンション 通常アテンション O(n²) T1 T2 T3 T4 T5 T6 全ペア計算 → 重い スパースアテンション O(n√n) T1 T2 T3 T4 T5 T6 近傍+重要ノードだけ計算 (点線=グローバルトークン) 代表実装: Longformer・BigBird
スパースアテンションのイメージ
ひよこ ひよこ
ペンギン先生、Transformerって長い文章が苦手って聞いたんだけどなんで?
ペンギン先生 ペンギン先生
それはアテンション機構が全トークンの組み合わせを計算するからだよ。100トークンなら100×100、1000トークンなら1000×1000の計算が必要になるんだ。
ひよこ ひよこ
トークンが増えるたびに計算が爆発的に増えちゃうんだね!
ペンギン先生 ペンギン先生
そう、それをO(n²)問題って言うよ。スパースアテンションはこれを解決するために「全員と話すんじゃなく、近くにいる人や重要な人とだけ話す」という発想で計算量を減らすんだよ。
ひよこ ひよこ
どうやって「重要な人だけ」を選ぶの?
ペンギン先生 ペンギン先生
いくつか方法があるよ。「近くのトークンだけ見る(局所アテンション)」「一定間隔でサンプリングする」「特別な全体担当トークンを用意する」などを組み合わせるんだ。
ひよこ ひよこ
Longformerって聞いたことあるんだけど、それもそういう仕組み?
ペンギン先生 ペンギン先生
そうだよ。Longformerは局所アテンションとグローバルアテンションを組み合わせていて、数千トークンでも扱えるようにしているんだよ。BigBirdもランダムアテンションを追加した似た手法だよ。
ひよこ ひよこ
計算を省いても精度は落ちないの?
ペンギン先生 ペンギン先生
工夫次第でほとんど落ちないんだよ。実際のテキストでは遠く離れたトークン同士はあまり関係しないことが多いから、近いトークンだけ見ても情報をうまく保てるんだよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「スパースアテンション」って出てきたら「全トークンではなく一部だけ注目して計算を省くアテンションの工夫」と思えればだいたいOK!
📖 おまけ:英語の意味
「Sparse Attention」 = 疎なアテンション
💬 「疎(sparse)」は数学用語で「ほとんどゼロ」という意味だよ。全員に目を配らず大事な相手だけ見るイメージ
← 用語集にもどる