e4exp / paper_manager_abstract

0 stars 0 forks source link

Do Transformers Need Deep Long-Range Memory? #670

Open e4exp opened 2 years ago

e4exp commented 2 years ago

ディープアテンションモデルは、多くの分野で逐次データのモデリングを進化させてきました。 特に言語モデリングにおいては、Transformer-XL(過去の活性化の長距離メモリで強化されたTransformer)が、よく研究されたさまざまなベンチマークにおいて、最先端であることが示されています。 Transformer-XLは、ネットワークの各層に長距離メモリを搭載しており、従来のRNNに比べて数千倍の状態を実現しています。 しかし、これが必要なのかどうかは不明です。 我々は、6倍少ない長距離メモリで同等の性能を得ることができ、ネットワークの低層での注意の範囲を制限することで、より良い性能を得ることができることを示すために、一連の介入を行いました。

e4exp commented 2 years ago

1 はじめに

本を読むとき、私たちは、物語を理解するために、文章中の登場人物や出来事を表現します。 これは、選択的な記憶プロセスによって行われます。 文章の細かい部分はすぐに忘れてしまいますが、本の詳細については比較的コンパクトな表現を保持しています。 初期の自然言語モデルでは、Long Short-Term Memory (Hochreiter and Schmidhuber, 1997)などのリカレントニューラルネットワーク(RNN)が使われていたが、これは過去をコンパクトな状態ベクトルでモデル化することで、この選択的記憶アプローチを模倣したものである。 このモデルは、タスクの損失を最適化するために、関連する情報を暗黙のうちにその状態に格納することを学習します。 LSTMは90年代に登場して以来、20年以上にわたって最先端の言語モデルとして君臨しており(Melis et al.2017)、間違いなく最もユビキタスな神経配列モデルです。 しかし、人間の記憶システムとは異なり、LSTMはテキストを読む際に長距離の文脈を推論するのに苦労します。 これは複数のコンテキストで観察されている。 人間の評価者が決定した長期的な構造を持つ書籍テキストのセクションで言語モデルの予測をテストする、慎重に管理されたLAMBADAベンチマーク(Paperno et al.2016)では、LSTMは完全に失敗します。 すなわち、人間が70%以上の精度とされているところ、LSTMは0%の確率で正しい単語を推測する。 通常の言語モデリングの場合、Danilukら(2017)は、注意力で補強されたLSTMが、先行する7つの単語の文脈を超えて出席することはほとんどないと観察しています。 LSTMの言語モデルのサンプルは、すぐに全体的なテーマを欠いた一般的なテキストになってしまう。 このことから、言語モデリングのタスクに無視できない長距離信号があるのかどうか、多くの人が疑問に思っています。

最近、私たちは、深層注意モデルが、次の単語の予測という単純な目的であっても、テキストから長距離信号を引き出すことができると考えています。 Transformer(Vaswani et al., 2017)の登場により、モデルの注意を数千語にまで拡張することで、言語モデリング性能の大幅な向上が得られます。 Transformer-XL(Dai et al., 2019)は、過去の活性化のキャッシュを導入することで長距離の配列モデリングに特化したTransformerの変種であり、4つの主要なLMベンチマークであるPTB(Mikolov et al., 2010)、LM1B(Chelba et al., 2013)、Enwik8(Hutter, 2012)、WikiText(Merity et al., 2016)において、最先端の結果を得た。 後者の2つの場合、Daiら(2019)は、モデルが1,000語以上の文脈を効果的に使用していることを示し、結果として得られたサンプルには、段落にまたがるテーマの一貫性が反映されています。 GPT-2(Radford et al., 2019)やMegatron(Shoeybi et al., 2019)のように、Transformerが長い文脈や大量のデータと対になった場合、結果として得られるサンプルは長距離の一貫性や文体のリアリズムが顕著に表れます。

しかしトランスフォーマーは、過去のコンパクトで選択的な表現を放棄している。 彼らは、すべての時間ステップ(与えられた注目範囲まで)とネットワーク内のすべての層で、隠れた活性化を保存します。 これは、以前のRNNの隠れた状態やオリジナルのテキストよりも何桁も大きなスペースを消費します。 例えば、典型的な最先端のLSTM言語モデルの状態サイズは、Wikipediaの記事をモデル化するための4KB(Raeら、2018年)から、ニュースをモデル化するための64KB(Jozefowiczら、2016年)までの範囲であり、1MBを超えることはありません。 一方、現在の最先端の18層のTransformer-XLのWikipediaの記事の状態サイズは112MBです。 状態がここまで大きいのは、レイヤーごとに別のメモリ(例えばサイズd=1024の1600個のベクトル)を維持しているからです。 もし、これが不要だとわかったら、状態のメモリを大幅に減らすことができます。

この論文では、「Transformerの大部分のレイヤーに短距離注意を使用して、同じ性能を回復することができるか」という単純な疑問を検討しています。 仮説としては、推論の多くのステップが短距離相関を伴うだけなので、これは可能であると考えています。 しかし、実際にはそれが可能であることがわかりました。 ベースラインであるTransformerXLに比べて、長距離記憶のごく一部(1/6)を使用することで、長距離言語モデリングにおいて同等の性能を回復しました。 重要なのは、長距離メモリをネットワーク上のどこに配置するかが重要であることです。ネットワークの下層部に配置しても効果はありませんが、下層部に配置したり、ネットワーク上にインターリーブさせたりすると、より効果的です。 このようなモデルでは、高価な注目操作が減るため、時間とメモリが2倍少なくて済むことを示しています。

e4exp commented 2 years ago

3 実験

Enwik8とWikiText-103という2つの著名なロングレンジ言語モデリングベンチマークにおいて、Transformer-XLがより少ないロングレンジメモリ(LRM)レイヤーで同等の性能を発揮できるかどうかを調査しました。

3.1 介入実験

介入実験では、特定のレイヤーの長距離メモリを、サブセットのレイヤーのms = 128サイズの短距離メモリ(SRM)に置き換えます。 ms=128としたのは、TPUv3には128x128の行列乗算ユニットが搭載されており、0以外の小さなサイズは128にパディングされるためです。 これは、TPUv3には128×128の行列乗算ユニットが搭載されており、0以外の小さなサイズは128にパディングされるため、妥当なサイズであると言えます。 最も古い活性化が何らかの文脈を持つように、ms > 0を選びました。モデルのメモリサイズを変更するだけなので、パラメータ数とは無関係であり、モデルのパラメータ数は常に一定に保たれています(Enwik8では277M、WikiText-103では257M)。

また、LRM をネットワーク内のどこに配置するかについても検討し、 (i) 等間隔でインターリーブする、 (ii) ネットワークの最初の層に配置する、 (iii) ネットワークの後の層に配置する、としました。

これを視覚的に表したのが図1です。

3.2 モデルの設定

メモリの設定を除けば、Daiら(2019)と同じモデルの設定を使用しています。 トレーニング中は、検証セットで定期的に評価を行い、早期の停止基準を選択します。 Enwik8の場合、モデルの評価を高速化するために、検証セットの最初の50万文字について定期的に評価します。 16個のTPUv3チップを同期させて、全体のバッチサイズを32にして、すべてのモデルを学習しました。 ウィンドウサイズはn = 384,ロングレンジメモリ(LRM)サイズはm = 2304となっています. テスト時には,LRM のサイズを m = 6000 に拡張し,検証セットを一掃することで選択した.

image

e4exp commented 2 years ago

4 結果

図2では,いくつかの層のバリエーションについて,Enwik8の学習曲線をプロットしている. 最も悪い結果となったのは、最下層に1つの長期記憶を持つモデルです(黒い曲線)。 しかし、おそらくもっと驚くべきことに、ネットワークの下層に12個のLRMを持つモデルは、最終層に1個のLRMを持つモデルよりも実際に悪いことがわかります(濃い緑)。 次に、24個のLRMを使用した完全なTXLは、モデル全体にLRMを配置するか、最後の12層にLRMを配置するかで、12個のLRMを使用したモデルと同じように見えることがわかります。 なお、これらのモデルをハイパーパラメータ設定ごとに複数のシードで実行することはできませんでしたが、一般的に言語モデルは一貫して最適化されることがわかっています(例えば、深層強化学習モデルとは異なります)。

図 3 では、LRM の数と配置を変化させたモデルの最終的なテスト性能を BPC(bits-per-character)で示し、対応する単語レベルのパープレキシティを示しています。 位置が重要であることは明らかですが、長距離メモリを最初の層に配置した場合、性能は著しく低下します。 これは、長距離の相関関係を利用する前に、局所的な文脈で表現を構築する方が良いからではないかと考えています。 例えば、何千もの時間軸をさかのぼって過去の出来事を検索する前に、キャラクターを特定された名前付きのエンティティ(例えば)にまとめる必要があります。 さらに、中間層にLRMのみを配置した場合、インターリーブやファイナルよりも劣ることがわかりました(4つの長距離記憶で1.01bpc)。 これは、上位層に長距離記憶を配置することに大きなメリットがあることを示しています。 重要なのは、12個のLRMを使用したフルモデルのテスト性能に匹敵し(わずかに上回る)、4個のLRMを使用したモデルでも、非常に近い結果が得られたことです(0.9846/24 vs 0.9916/4 interleaved)。

注目すべきは、我々のTXLベースラインが実際にEnwik8で公開されたバージョンを上回っていることである:0.985 BPC(我々の)対0.993(Dai et al. また、同じ18層のTransformerXLパラメータを使用して、WikiText-103で単語レベルの言語モデリングを検査します (Dai et al. ベースラインテストのパープレキシティは18.3(公表値と一致)で、l/6(つまり3個)のLRMを使用した場合、インターリーブと最後の層の間隔でそれぞれ18.4と18.6が得られました。 また、最初の3層に3個のLRMを配置してみたところ、20.1のperplexityが得られました。 性能を大幅に向上させるためには、長距離メモリが重要であること、浅い層にはLRMを配置しない方が良いこと、同等のモデリング性能を得るためには、モデルの層と同じ数の長距離メモリを必要としないことを指摘しておきます。

4.1 性能

Enwik8アーキテクチャのLRMの数を変えてTransformer-XLを学習したときの性能を表1に示します。 これは、長距離メモリ層の数を変化させた場合の、Enwik8での学習反復中のレイテンシー(入力トークンごと)とピーク時の起動メモリ消費量を示しています。 長距離メモリを24層から4層に減らすことで、活性化ピークメモリを3倍に削減できることがわかります。 このようにして、価値のあるシンプルなパフォーマンスの改善が可能です。

4.2 短距離記憶の変化

前述の実験では、短距離記憶(SRM)の長さを128に固定し、長距離記憶の層の頻度と配置を変化させた。 ここでは、長距離メモリがl 6個あるアーキテクチャのSRMの長さを変えて、モデルの性能に影響を与えるかどうかを検討します。 SRMの長さを32~2048の20種類にし、インターリーブされた4つのLRM層を組み込んでモデルを学習(および評価)しました(学習時は2304、評価時は6000)。 その結果を図4に示します。メモリサイズを128以下にすると、行列が128×128のブロックで乗算されるため、TPUの学習セットアップでは速度が上がらないが、モデルの性能は低下する。 さらに、メモリサイズを512以上にすると、モデルの動作がさらに遅くなり、モデリングのパフォーマンスが低下します。 最適なSRMの長さは約512ステップで、Enwik8では0.974BPCとなり、TransformerXLのベースラインである0.99BPCよりもはるかに高いパフォーマンスを得ることができました。 このように、注目度の範囲を制限することで、モデルを高速化するだけでなく、パフォーマンスを向上させることができると結論づけています。

image

image