SWIFTアテンション機械化:アテンション経路化選択的活性化による関数的原子再合成

著者:Asher Bond (asher.bond@distillative.ai)

要旨

関数的原子再合成(Functional Atomic Recomposition, FAR) は、関数的原子分解(Functional Atomic Decomposition, FAD) によって得られた原子的な部品から、高階の認知関数を要求に応じて合成する。 FARにおいて効いてくるコストは選択である。すなわち、拡大し続けるライブラリの中のどの原子関数が、与えられた 再合成に関連するか、という問題だ。SWIFTアテンション機械化 は、このコストにアテンション型の関連度 ルーティングで答える。候補関数を要求に対してスコアリングし、集中した部分集合を活性化し、そこから合成する。 これは、自己アテンション[1]が中心に据え、FlashAttention[2]がメモリとIOの面で安価にした選択的活性化の 原理を、トークン混合ではなく関数選択に適用したものである。再合成の経路は、通常の関数レベルプログラミング [3]、高階関数のモジュール性の論拠[4]、そして第一級の値としての関数[5]の上に立つ。FlashAttention[2]は、 Transformステップが土台とし、かつそれに対して測定される、ベンチマーク済みのベースラインである。

1. はじめに

FADはタスクを原子関数へ分解し、FARはそれらから高階関数を要求に応じて再合成する。原子ライブラリが拡大する につれ、支配的なコストは合成の実行ではない。合成に値する少数の原子関数を見つけ出すことである。要求のたびに すべての候補を検討すれば、再合成はライブラリの規模に比例して増大する。SWIFTアテンション機械化は、候補を 関連度でスコアリングし、集中した部分集合のみを活性化することでこの結合を断つ。その結果、再合成のコストは ライブラリ全体ではなく、選択された関数に追随する。

SWIFTはこれを三つのルーティング挙動へ組織化する。動的集中アテンション(Dynamic Focused Attention, DFA) は、要求に対して関連度の高い関数へ計算を集中させる。階層的メモリアクセス(Hierarchical Memory Access, HMA) は、原子ライブラリを階層化し、ホットな関数が先に解決されるようにする。並列クエリ照合 (Parallelized Query Matching, PQM) は、クエリと候補の関連度を並列にスコアリングする。いずれもルーティ ングの一段階であり、それぞれ独立に配置・交換が可能である。

2. 関連研究

アテンションと効率。 SWIFTがルーティングの拠り所とする関連度重み付け演算は、自己アテンション[1]で ある。FlashAttention[2]は、はるかに少ないメモリトラフィックで厳密なアテンションを計算する、ベンチマーク 済みの技法である。SWIFTのTransformステップはこれを土台とし、SWIFTの速度に関する主張はいずれもこれを基準 として述べられ、共通のワークロード上でこれに対して決着がつけられる。

合成。 原子関数から高階関数を再合成することは、関数レベルプログラミング[3]、高階関数のモジュール性の 論拠[4]、そして第一級の値としての関数[5]にほかならない。FAD/FARは、この合成の伝統を認知パイプラインに 適用する。原子関数が第一級の値であり、再合成はそれらに対する高階の合成である。

3. アテンション経路化選択的活性化としてのSWIFT

中核となる機構は、関連度が集中するときに必ず成り立つ条件文である。もし アテンション型のスコアリングが、 再合成に関連する少数の原子関数の部分集合を選択し、かつ その選択がすべての候補を検討するよりも安価で あるならば、そのとき 再合成のコストはライブラリ全体ではなく、選択された部分集合に比例して増大する。 これは、mixture-of-expertsルーティングおよび効率的アテンションの系譜[2]の背後にある選択的活性化の原理を、 関数合成へと持ち込んだものである。

スケーリングの目標は集中から導かれる。[ILLUSTRATIVE] 上位k個の部分集合に集中するアテンションのもと では、密な経路は候補を O(n log n) でスコアリングし、疎な経路は k ≪ n に対して O(k log n) でスコア リングする。二つの経路の差は集中比 k/n であり、ルーティングはそれを与えられたワークロード上で達成するか、 しないかのいずれかである。共通のワークロード上でのFlashAttention[2]が、定数を確定させる直接対決である。

4. パイプラインのIPO

フィードバックの段階がループを閉じる。測定されたルーティングコストが密/疎の切り替えを調整し、パイプラインは 実際に目にするワークロードの集中構造へと自らを合わせていく。

根拠と適用範囲

SWIFTアテンション機械化は、測定可能な一つの要をもつ設計である。すなわち、アテンション型のスコアリングが 関連度を十分に強く集中させ、疎な経路(O(k log n))が現実の再合成ワークロード上で密な経路 (O(n log n))を上回るか否か、である。O(n log n)O(k log n) の差は、集中したアテンションのもと での例示である。集中比 k/n が、それを決する経験的性質であり、共通のワークロード上のFlashAttention[2]が 定数を確定させる。再合成の経路は、関数レベルプログラミング[3, 4, 5]と、自己アテンション[1]から FlashAttention[2]に至る選択的活性化の系譜の上に立つ。FlashAttentionがベースラインであり、アテンションの 集中が結果を決する変数である。

参考文献

  1. Ashish Vaswani et al. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems (NeurIPS). arXiv:1706.03762.
  2. Tri Dao et al. (2022). FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness. Advances in Neural Information Processing Systems (NeurIPS). arXiv:2205.14135.
  3. John Backus (1978). Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. Communications of the ACM. [1977 ACM Turing Award Lecture]
  4. John Hughes (1989). Why Functional Programming Matters. The Computer Journal.
  5. Christopher Strachey (2000). Fundamental Concepts in Programming Languages. Higher-Order and Symbolic Computation. [Reprint of 1967 lecture notes]