e4exp / paper_manager_abstract

0 stars 0 forks source link

Adaptive Multi-Resolution Attention with Linear Complexity #616

Open e4exp opened 3 years ago

e4exp commented 3 years ago

トランスフォーマーは、シーケンスモデリングの数多くのタスクにおいて、最先端の技術を改善してきました。 しかし、計算量とメモリ使用量がシーケンスの長さに対して2次関数的に増加することに加えて、自己注意メカニズムは同じスケールの情報しか処理しないため、すべてのアテンションヘッドが同じ解像度になってしまい、結果としてTransformerの能力が制限されてしまいます。 この問題を解決するために、我々はAdaptive Multi-Resolution Attention(略してAdaMRA)と呼ばれる新規かつ効率的な構造を提案する。 具体的には、マルチレゾリューション・マルチヘッド・アテンション・メカニズムを活用し、アテンションヘッドが長距離の文脈情報を粗いものから細かいものまで取り込むことを可能にする。 さらに、問い合わせ表現と異なる注意粒度の手がかりとの間の潜在的な関係を捉えるために、どの解像度の注意を使うかの決定を問い合わせに委ね、これにより、vanilla Transformerと比較してモデルの能力をさらに向上させています。 複雑さを軽減するために、性能を低下させることなくカーネルアテンションを採用しています。 いくつかのベンチマークを用いた大規模な実験により、最先端の性能-効率-メモリのトレードオフを達成することで、我々のモデルの有効性と効率性が実証された。 科学界でのAdaMRAの利用を促進するために、コードの実装は公開される予定です。

e4exp commented 3 years ago

1 はじめに

近年のTransformerの登場は、自然言語処理研究の状況を劇的に変えました。 Transformerは、機械翻訳[Vaswani et al., 2017]、自然言語推論[Williams et al., 2017]、テキスト分類[Howard and Ruder, 2018]、質問応答[Rajpurkar et al., 2016]、自動音声認識[Dong et al., 2018]、画像生成[Parmar et al., 2018]、画像キャプション作成[Xu et al., 2015]など、さまざまなタスクで優れた性能を発揮しています。 Transformersの主な革新点は、マルチヘッドの自己注意メカニズムの導入であり、入力シーケンスのペア的な相互作用を、互いの距離に関係なくモデル化しています。 この操作は非常に効果的であることが示されています。 しかし、Transformerの成功例はいくつかありますが、重要な要素である注目行列の計算は、シーケンスの長さに対して二次的な時間と空間の複雑さがあるため、効率上の大きなボトルネックになることがわかりました。 そのため、最大シーケンス長は利用可能なメモリ量によって制限されます。 このようなTransformerの本質的な限界により、文書分類のような、より長いシーケンス長を必要とするドメインへの適用は成功しませんでした。 また、大規模なTransformerベースのモデルを実際に構築するには、コストがかかることが知られています。 微調整の段階は比較的安価ですが、メモリの問題は、これらのモデルを使用できるシナリオを制限します。 計算コスト以外にも、注目ヘッドの定性的な分析[Vaswani et al., 2017]によると、ヘッドは、どのような現象を捉えるかによって、よりフラットな分布やよりピークのある分布を好む傾向があることが示唆されています。 したがって、極端に長いシーケンスを使用すると、モデルのパワーが制限される可能性があります。 このため、これらの制限に取り組むために、効率的で高速なTransformerの幅広いスペクトルが提案されています。 例えば、[Beltagy et al., 2020, Wang et al., 2020a, Tay et al., 2020a, Child et al., 2019, Zaheer et al., 2020, Correia et al., 2019, Qiu et al., 2019, Roy et al., 2021, Kitaev et al., 2020, Zhao et al., 2019, Vyas et al., 2020]では、各クエリがアテンドするキーの量を制限することで、問題となる複雑さに対処している。 しかし、これらの方法では、長期的な依存関係が壊れるか、時間効率が悪くなります。 また、ソフトマックスの代わりに低ランクカーネルで定義された密なアテンションマトリクスを使用する研究も古くから行われています[Katharopoulos et al., 2020, Choromanski et al., 2020, Xiong et al., 2021, Peng et al., 2021]。 これらのアプローチは、速度-記憶-精度のトレードオフを改善していますが、前述の自己記憶メカニズムの限界に悩まされています。

別の著名な研究ラインは、メモリ容量を増加させることである[Sukhbaatar et al.、2019、Ye et al.、2019、Rae et al.、2019]。しかし、これらの作品は依然として同じ規模の情報を処理しています。 計算コスト以外にも、上述したすべてのモデルの自己注目メカニズムは、同じスケール、すなわちすべての注目ヘッドが同じ解像度にある状態でしか情報を処理していない。 しかし、テキストや言語の分野では単語や文章レベルの情報、画像の分野では低レベルや高レベルの特徴など、ほとんどの分野で情報は階層的な構造を持っているという事実にヒントを得て、情報を粗いものから細かいものへと処理することが、階層的に構造化された情報を捉えるのに有効であることを提案します。

そこで我々は、Adaptive Multi-Resolution Attention (AdaMRA)を提案する。 これは、長距離の依存関係を粗から細へと捉える、時間と空間の線形なアテンションである。 より正確には、すべてのアテンションヘッドを通して一定の解像度を維持するバニラ・トランスフォーマーとは異なり、AdaMRAでは、抽象度が異なる複数の解像度のアテンションヘッドを採用している。 さらに、クエリ表現と異なるアテンション・グラニュラリティの手がかりとの間の潜在的な関係を捉えるために、各クエリは対応するアテンション・ヘッドにルーティングされます。 さらに、性能を犠牲にすることなくカーネルアテンション[Katharopoulos et al.,2020]を採用する。 提案手法をLong-Range-Arena (LRA) ベンチマーク [Tay et al., 2020b] で評価したところ、AdaMRAはシーケンス長に対して線形の計算量でありながら有望な性能を達成することが示された。 印象的なことに、図1に示すように、LRAの平均スコアは、vanilla Transformerと前回の最高性能モデルBigBirdから、それぞれ4.32と3.66増加しました。 時間と空間の効率性という点では、AdaMRAはGPU上でvanilla Transformerよりも約10倍高速で、GPUの実行メモリ占有量は5倍小さくなっています。

image

e4exp commented 3 years ago

3 モデル

本節では、提案手法を正式に説明する。 セクション3.1では、まず注目メカニズムを簡単に再検討し、その計算量を提示する。 続いて、セクション3.2でAdaMRAを紹介する。 セクション3.3では、AdaMRAに対する解釈を示す。 最後に、セクション3.4でAdaMRAの複雑さを実用的に分析する。

3.1 自己言及とその線形化の再検討

自己言及関数は、すべてのトークンについて、他のすべてのトークンの特徴表現の加重平均を、表現間の正規化された類似性スコアに比例した重みで計算します。 形式的には、X = {x (1), ..., x(n)}とします。 X = {x (1), ..., x(n)}∈R n×d は,次元dのn個のトークンからなる入力列を表す. 層の入力Xを線形投影した3つの行列Q, K, Vが与えられると

image

ここで,Q,K,V∈R n×d,WQ,W K,WV∈R d×d 。

一般的な用語に従い、Q、K、Vをそれぞれクエリ、キー、バリューと呼ぶ。 キーは、各アイテムとクエリの間の類似性スコアを計算するために使用される。 次に、正規化された類似性スコアを用いて、各クエリコンテキストにおける各アイテムの値を重み付けする。 アテンションは、クエリとキーの間の類似性スコアによる値の加重和を出力する。 このように、任意の類似性関数に対する一般化されたアテンション関数は次のように書くことができる。

image

Vaswani et al., 2017]によると、統一された類似性関数はSof tmaxの形をとることができます。 したがって、二次的な複雑さは、トークンのすべてのペアの間の類似性スコアの計算から生じる。 注意関数を定義するためには,式2のsim(-)が非負関数である必要があり,これはすべてのカーネルk(x, y) : R F × R F → R+を含む[Katharopoulos et al.] このようなカーネルに特徴表現φ(x)が与えられると、一般化された注目関数(Eq.2)を以下のように書き換えることができる。

image

Sum j=1 φ(Kj )V T j と Sum j=1 φ(Kj )は、すべてのクエリに再利用できるため、メモリと計算の両方の観点から、複雑さを二次関数から線形関数に減らすことができました。 シーケンスの異なる部分が異なる方法で関連している可能性があるという事実を考慮して、Transformerではマルチヘッドアテンションが導入されました。 H個のアテンションヘッドがあると仮定すると、これは単に式2をH回並列に適用することであり、それぞれが異なる、学習された線形変換を行うことで特殊化を可能にしています。

image

ここで、W Q h , W K h∈R d×dk , WV h∈R d×dvは、クエリ、キー、値をそれぞれh番目の部分空間に投影する行列であり、WO∈R Hdv×dは、ヘッドの線形変換を計算する行列であり、典型的には、Hdv=Hdk=dである。

3.2 適応型マルチ・レゾリューション・アテンション

階層的に構造化された情報を効果的に捉えるために、我々はAdaMRAを提案する。 主なアイデアは、マルチ・レゾリューション・アテンション・ヘッドを粗いものから細かいものまで採用し、クエリが異なるアテンション・レゾリューションの間で選択できるようにすることである。 このプロセスは各層ごとに独立して行われ、異なる層のクエリが異なる解像度のコンテクストに注目できるようにする。 ここでは、AdaMRAを1つのTransformerレイヤーの文脈で説明し、簡潔にするためにレイヤーインデックスを省略します。 AdaMRAでは、入力シーケンスX∈R n×dは、クエリQ∈R n×d、キーK∈R n×d、値V∈R n×dを形成するために、やはり3つの線形層を通過する(nはシーケンス長、dは埋め込み次元)。 各アテンションヘッドhに対して、圧縮率chを定義し、値が大きいほど、より細かく圧縮された情報であることを示す。 コンテキスト情報を符号化するために,ある種の圧縮演算を用いて圧縮されたキーと値を生成するが,これはkmeansクラスタリング[Vyas et al., 2020, Roy et al., 2021],投影[Wang et al., 2020b],および畳み込み[Rae et al., 2019]などから選択することができる. 計算効率を上げるために、セグメント手段[Xiong et al., 2021]を採用し、元の(n × d)次元のKとVを(mh × d)次元の圧縮Ke hとVe hに圧縮する。 ここで、hはh番目の頭部を表し、mh = nchは頭部hのランドマークの数である。 より正確には、頭部hの圧縮率chが与えられれば、n個のキー/値をmh個のセグメントに分離する。 我々の実験では、nはmで割り切れるが、実際にはそうでない場合、mで割り切れる長さに入力をパディングすることができる。 なお、マルチ・レゾリューション・アテンションを得るためには、各ヘッドの圧縮率は異なる。 このような圧縮戦略は、重要な情報の保存を保証するだけでなく、cは通常小さな数であるため、モデルを単純化することができます。 圧縮率の影響についての詳細は、セクション4で説明します。

圧縮されたキーKe hと値Ve hが手元にある状態で、注目すべき点は異なる解像度であることです。 問い合わせの表現と異なる注意の粒度の手がかりとの間の潜在的な関係を把握するために、問い合わせの表現にエンコードされた情報を条件として、問い合わせ自身にどの注意の解像度を使用するかを選択させます。 これは、注目層の前にRouter [Shazeer et al., 2017]を追加することで実現される(図2参照)。 ルーターは、トークン表現qiを入力とし、これを最適に決定されたエキスパート、すなわちアテンションヘッドにルーティングする。 具体的には、パラメータ化された関数であるF(-)を採用し、クエリqiをd次元からH次元に投影します(Hはヘッドの数)。 そして,この値をSof tmaxで正規化します. 実際には,現在のヘッドにルーティングされないトークンをマスクアウトする. 形式的には

image

ここで、F(-)はパラメータ化された関数であり、Q∈R n×d 、学習可能なパラメータW∈R d×H、ルータ確率P∈R n×Hである。 最後に,効率性を追求するために,カーネルアテンション[Katharopoulos et al.,2020]を採用し,式3を用いてアテンションを計算する。

ここで、Qh iはh番目のヘッドにルーティングされたi番目のクエリ、Ke hとVe hはh番目のヘッドの圧縮されたクエリと値である。 実験では、特徴関数φとしてReLUを採用している(特徴関数の分析についてはセクション4.3を参照)。 注意ヘッドの役割の解釈に関する最近の研究で示唆されているように、別々の注意ヘッドはトークン間の様々な関係を探すことを学習する可能性がある[Voita et al.、2019]。 したがって、実際には、同じ戦略を用いて、元のヘッドと同じ解像度を持つ複数のサブヘッドに分割し、モデルが異なる表現サブスペースからの異なる位置の情報に共同で注意を払うことができるようにします。 我々の実験では、すべてのアテンションヘッドは同じ数のサブヘッドを持っています。 マルチヘッドAdaMRAは次のように定義されます。

image

ここで,Q,K,V∈R n×d ,WO∈R Sdv×dは学習済み行列,dv=d/Sは投影部分空間の隠れ次元,Hはヘッドの数,Sはサブヘッドの数,hSはh番目のヘッドのS番目のサブヘッドを示す。 h番目のヘッドのS番目のサブヘッドは次のように定義される.

image

ここで、W Q hs , W K hs∈R d×dk , WV hs∈R d×dv は、クエリ、キー、値をそれぞれ hs 番目の部分空間に投影する行列である。 今回の実験では,Sdv = Sdk = d とした.

3.3 AdaMRAの解釈

直感的には、φ(Ke h ) T Ve hを、クエリが注目を実行する入力シーケンスのグローバルな記述/記憶と考えることができる。 これまでの研究で発見されたように、グローバルでマルチスケールな表現は有用です。 したがって、低レベルの詳細と高レベルのセマンティクスを組み合わせるために、各アテンションヘッドは、入力全体の異なるセマンティクスの側面に対応する、異なるメモリスケールを有する。 例えば、粗いメモリと細かいスケールのメモリは、それぞれ段落の要約と単語の表現に対応することができる。 特徴表現能力をさらに高めるために、どのような注意の解像度を使用するかの決定をクエリに任せます。 そのため、クエリは自分の表現に基づいて、異なる解像度の記憶をより柔軟に選択することができます。

3.4 効率の優位性

ここで、メモリと計算におけるAdaMRAの効率の優位性を示す。 H個のヘッドにそれぞれmh個のランドマークがあると仮定すると、セグメント手段を用いたランドマーク選択はO(n)となる。 カーネルアテンション[Katharopoulos et al., 2020]を使用することで、モジュールのメモリと計算の複雑さからO(n 2 )項を取り除くことができます。 その代わり、次元dのグローバルな記述・メモリ(φ(Ke h )T Ve h )の計算と新しい値の計算は、それぞれO(mhd 2 )とO(nd2 )を要する。 その結果、AdaMRAの総コストは、O(Hn + PH h=1 mhd 2 + Hnd2 )となり、すなわち、配列長nに対して線形にスケールします。 次のセクションでは、良好な性能を得るためには、小さなPH h=1 mh(典型的にはnより小さい)で十分であることを示し、AdaMRAのバニラ・トランスフォーマーに対する効率の優位性をさらに高めます。

image