ニュース

Transformer レイヤーをスクランブル/スキップするとどうなりますか?最新の研究でその情報の流れの仕組みが明らかに

2024-07-26

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

西風は蒼飛寺から吹いてくる
パブリックアカウント QbitAI

Transformer における情報の流れのメカニズムは、最新の研究によって明らかになりました。

すべてのレイヤーが必要ですか?中間層も同じことをしているのでしょうか?レイヤーの順序は重要ですか?

もしいくつかのレイヤーをスキップする、たとえば、レイヤー 4 の出力がレイヤー 6 に接続された場合はどうなるでしょうか。レイヤーの順序をランダムにシャッフルする, たとえば4-6-5-7はどうでしょうか。

「ペインターとしてのトランスフォーマー層」と呼ばれる最近の研究が人気を博しており、AI スタートアップの Sakana AI と Emergence AI の研究チームによって完成されました。



彼らはTransformerの内部動作原理から出発し、一連の実験を通じて上記の問題について結論に達しました。チームは、これらの原則を深く理解することで、既存のモデルの利用効率が向上するだけでなく、アーキテクチャの改善や新しいバリアントの開発にも役立つと述べています。

Google DeepMind 研究者で ViT の著者である Lucas Beyer は、この本を読んだ直後にこの本を気に入ったと言いました。

素晴らしいまとめです!実験の一部は以前の研究で示されていますが、追加された新しい詳細が気に入っています。特に、「推論」タイプのタスクが他のタスクよりも影響を受けることが強調されています。



多くの学者や技術者も強い推奨を表明した。

これらの洞察の一部が最終的に Transformer の改善に使用されることは間違いありません。



実験では、レイヤーのコピーは創造的なタスクには役立ちますが、通常は推論タスクには効果的ではないこと、レイヤーの順序の変更は中間レイヤーで最も効果的に機能しますが、修復の調整が必要であることを再度確認しました。



では、研究チームはこの研究でどのような実験を行ったのでしょうか?どのような質問に答えられましたか?

実験モデルの選択とベンチマーク

まずは実験構成を見てみましょう~

実験してみるデコーダーのみそしてエンコーダのみモデル上で実行されます。

その中でもデコーダー専用モデルが選ぶのはラマ2、主に 32 層と 70 億のパラメータを持つ Llama2-7B を研究します。拡張実験には 13B (40 層) および 70B (80 層) モデルも含まれています。

エンコーダ専用モデルが選ぶバート、24 のレイヤーと 3 億 4,000 万のパラメーターを備えています。

研究者らは、これらのモデルに対して標準的な事前トレーニング チェックポイントを使用しました。すべての実験でモデルはフリーズされ、標準的な微調整ステップを含む BERT の評価を除いて、モデル パラメーターは微調整やその他の方法によって変更されませんでした。

ベンチマーク テストに関して、Llama2 は次の標準ベンチマークを使用します: ARC (科学テスト問題)、HellaSwag (常識問題)、GSM8K (数学問題)、WinoGrande (常識推論)、LAMBADA (語彙予測)。その中で、LAMBADA は、トレーニング中に使用された元のトークン予測に最も近い混乱を測定するために使用されます。

Llama2 のパフォーマンス評価では、ベンチマークの正規化された中央値が提供され、パフォーマンスを 0 から 1 (モデル最適パフォーマンス) で定量化します。

BERT の場合、GLUE ベンチマークが採用され、ベンチマークの非正規化平均スコアなどの評価指標が追跡されます。標準の BERT 評価には微調整ステップが含まれており、これによりモデルが適応されることに注意してください。付録では、モデルの頭部のみを調整できる場合の評価結果も示しています。

この実験の動機は、もともと次の質問から生じました。

何らかの方法で複数のレイヤーを単一の、おそらくより大きなレイヤーに結合することは可能でしょうか?おそらくトレーニング中の残留接続の使用により、ニューラル ネットワークの中間層が共通の表現空間が使用されてもよい。(これは標準的な多層パーセプトロンには当てはまりません。標準的な多層パーセプトロンには、層間の共通表現や配置の一貫性を促進するメカニズムがありません)

レイヤーが表現空間を共有できる場合、後続の条件計算、または事前トレーニングされた Transformer モデルと下流のアプリケーションに新しい知識を動的に追加することに重要な影響を及ぼします。

Transformer に関する 8 つの主要な質問
レイヤーは同じ表現空間を使用しますか?

異なるレイヤーが同じ表現空間を共有しているかどうかを判断するために、研究者らはトランスフォーマーの特定のレイヤーをスキップしたり、隣接するレイヤーの順序を変更したりする堅牢性のこと。

たとえば、Llama2-7B モデルで、出力ストリームを通常の「レイヤー 4 -> レイヤー 5 -> レイヤー 6」の順序から「レイヤー 4 -> レイヤー 6」に変更し、レイヤー 5 をスキップするとどうなりますか?

あるいは、レイヤー 4 の出力がレイヤー 6 に送信され、次にレイヤー 6 の出力がレイヤー 5 に送信され、次にレイヤー 7 に送信された場合はどうなりますか?

以下の図に示すように、実験の結果、最初と最後の数層を除いて、Llama2-7B は、層シーケンスをスキップまたは変更することで優れた堅牢性を示します

つまり、中間層は表現空間を共有し、中間層と「外層」(最初と最後の層)は独立した表現空間を持ちます。



この仮説をさらに確認するために、研究者らは、さまざまなモデル (Llama2-7B、Llama2-13B、BERT-Large) のさまざまな層の隠れ状態アクティベーション間の平均コサイン類似度を測定し、ベンチマーク間で比較しました。

下の図 3 は、すべての中間層間の一貫性 。たとえば、下部の 4 番目の層のアクティブ化は、上部の 4 番目の層のアクティブ化と非常によく似ています。 40 レイヤーの Llama2-13B の場合、レイヤーは類似性に基づいて 4 ~ 5 つのグループに分類できることがわかります。レイヤー 0、レイヤー 1 ~ 3、中間レイヤー、そして最後の 1 つまたは 2 つのレイヤーです。



これは、モデルが次の可能性があることを示唆しています。「開始」、「中間」、「終了」レイヤーには 3 つの異なる表現空間があります。 。研究者らはまた、モデル内の層の総数に応じて「開始層」の数が増加しているように見えることも発見しました。

さらに、コサイン類似度が高い場合は、共有された表現空間が存在することが証明される可能性がありますが、類似度が低い場合は、これらの空間が共有されていないことがより示唆されます。上の図 3 の Llama2-7B のデータは、図 2 に示すパフォーマンス結果と非常に一致しており、次のことがさらに証明されています。

少なくとも中間レベルの表現空間は共有される。

すべてのレイヤーが必要ですか?

中間層の表現空間が本当に共有されていることをさらに検証するために、研究者らはまた、レイヤースキップ実験(実験中に微調整は行われませんでした)。

具体的には、次の図に示すように、N 番目の層の出力が N+M 番目の層 (M>1) の入力に直接渡されるため、M-1 層が「スキップ」されます。



元々、N+M 層は N+M-1 層からの入力のみでトレーニングされていましたが、今では N 層の活性化を理解できるようになりましたか?

このタイプの実験では、研究者は最初の層と最後の N-1 層を通常どおり実行し、N+1 層から TN 層までをスキップまたは変更します (T はモデル内の層の総数)。

以下の図 4 に示すように、複数のベンチマーク テストでは、Llama2-7B と BERT-Large徐々にパフォーマンスが低下している (図は、左から右にスキップされるレイヤーの数が徐々に増加していることを示しています)。この結果から次のことが明らかになりました。

すべての層が必要なわけではなく、中間層の少なくとも一部を省略しても全体的なパフォーマンスに重大な影響を与えることはありません。



中間層はすべて同じ機能を実行しますか?

共通の表現空間を共有する場合、中間層は冗長ですか?

この質問に答えるために、研究者らは前回の「スキップ」実験をやり直しましたが、今回は中間層をスキップする代わりに、すべての中間レイヤーのウェイトを中央レイヤーのウェイトに置き換えました。,以下に示すように。

実際、中央層では T-2N+1 回が実行されます。ここで、T はモデルの総層数です (Llama2-7B は 32 層、BERT-Large は 24 層)。



結果のベンチマーク テストでは、置き換えられるレイヤーの数が増加するにつれて、モデルのパフォーマンスが急速に低下する 。また、パフォーマンスの低下は、単に一部のレイヤーをスキップするよりもはるかに深刻であり、この種のウェイトの交換は非常に有害です。



したがって、中間層がそれぞれ異なる機能を実行することは冗長ではありません。中間層間で重みを共有すると、悲惨な結果が生じる可能性があります。

レイヤーの順序は重要ですか?

上記の実験は、中間層が表現空間を共有しているにもかかわらず、この空間に対して異なる操作を実行することを示しています。では、これらの操作の順序は重要なのでしょうか?研究者らは2セットの実験を実施した。

まず、中間層は次のようにトレーニングされます。逆順順番に実行されます(逆順)。レイヤ TN の出力をレイヤ TN-1 に渡し、同様にレイヤ N まで続けて、そのレイヤの出力を最後の TN レイヤに渡します。

以下に示すように:



二つ目の実験は、ランダムな配置中間層は順序付けされ、10 個のランダム シード結果にわたって平均化されます。

どちらの場合も、モデルは次のような結果を示します。ゆっくりとしたパフォーマンスの低下





以下は実験結果のスポイラーです。逆の順序かランダムな順序かに関係なく、モデルのパフォーマンスはこれらの層を直接スキップするよりも優れています。これは、層がトレーニング以外の順序で入力に対して実行された場合でも、モデルのパフォーマンスが向上していることを示しています。それでも効果的な出力を生成できます。

では、レイヤーの順序は重要なのでしょうか?結論は次のとおりです。

レイヤー順序の調整はパフォーマンスに一定の影響を及ぼし、ランダムな順序と逆の順序の両方で一定のパフォーマンスの低下が見られます。

ランダムな順序は逆の順序よりもパフォーマンスが良いことに注意してください。これは、逆の順序がトレーニング中の順序とは完全に逆であり、ランダムな順序が少なくともある程度の連続的な一貫性を維持しているためである可能性があります (つまり、層 i は常に別の層 j の後にあり、ここで i>j)。

これらのレイヤーは並行して実行できますか?

レイヤーの存在、つまりスキップされないことが、レイヤーの実行順序よりも重要である場合、次のことを考慮することは可能ですか?これらのレイヤーを個別に実行し、その結果を結合します ?以下に示すように。



研究者らは、N 層から TN 層をスキップする代わりに、これらの中間層を並行して実行し、その平均結果を最後の N 層に渡す実験を実施しました。

結果は次の図に示されています。GSM8K 数学問題ベンチマークを除いて、すべてのベンチマークでパフォーマンスがゆっくりと低下しています。

興味深いことに、並列レイヤーはレイヤーをスキップするよりもパフォーマンスが優れていますが、レイヤーを逆の順序で実行するほどではありません。



要約すると、これらのレイヤーを並行して実行することは可能でしょうか?答えは次のとおりです。はい、数学を多用するベンチマークを除きます。

一部のタスクでは、順序の方が重要ですか?

ほとんどのバリアント (逆順、スキップ、並列を含む) は、抽象推論 ARC または数学推論 GSM8K ベンチマークで最も速いパフォーマンスの低下を示します。

これは、段階的推論タスクが Winogrande や HellaSwag などの「セマンティック」タスクよりもレイヤー順序の変更に敏感であるという事実によって説明できます。

これは、推論タスクには構造情報とセマンティクス情報の組み合わせが必要であるのに対し、HellaSwag などのタスクはセマンティクスのみで完了できるためです。

実験を通じて、研究者らは次のような結論を導き出しました。数学的および推論的なタスクは、「意味論的な」タスクよりも順序に依存します。

反復は並列レイヤーに役立ちますか?

Transformer の内部動作メカニズムを絵画を描くプロセスにたとえると、キャンバス (入力) が何人かの画家の間で受け渡され、何人かの画家は鳥の絵を描くのが専門で、何人かは車輪の絵を描くのが得意です... 各画家が順番に絵を描きます。別の画家から 画家はキャンバスを手に取り、絵画に追加するか、(残りの接続を使用して) 次の画家に直接渡すかを決定します。

特定のレイヤーは、適切な入力を受け取った場合にのみ絵画を「補完」することが考えられます。たとえば、「車輪を描く」アーティストは、最初に車のボディを見た場合、車輪を描く可能性が高くなります。

Transformer では、一部のレイヤーは、残りの接続を介して入力を直接渡すのではなく、適切な入力を受け取ったときにのみフォワード パスに寄与する場合があります。

こうやってみると、並列層を一度だけ実行する場合と比べて、並列レイヤーの反復実行パフォーマンスが向上するはずです。

研究者らは、以下に示すように、並列レイヤーの平均出力を同じレイヤーにフィードバックし、反復回数を固定することでこれをテストしました。



以下の図 9 では、研究者らは並列層を 3 回反復した結果を示しています。この方法は、並列層を 1 回だけ実行するよりも大幅に優れています。



唯一の例外は、開始レイヤー N が Llama2-7B の場合は 15、BERT の場合は 11 である場合です。この場合、ループを3回並列化する効果は、中間層のみを3回繰り返すのと等価であり、このときの並列層が完成モデルに相当する。

研究者らはまた、異なる反復回数で実験を繰り返しました。

以下の図は、Llama2-7B の並列層数 M と反復回数によって性能がどのように変化するかを示しています。



各 M の最適な反復数は赤いボックスで示されます。 M=29 と M=31 (ほぼすべての層が並列化されている) を除き、最適な反復回数は並列層の数にほぼ線形に比例します。

したがって、結論は次のとおりです。反復は並列レイヤーに役立ち、最適な反復数は並列レイヤーの数に比例します。

パフォーマンスへの影響が最も少ないバリアントはどれですか?

最後に、研究者らは実験におけるさまざまなバリアントをすべて同じグラフで比較しました。

結果は次のことを示しています。単一レイヤーを繰り返す(上記のように、中間のレイヤーを同数の最中央のレイヤーに置き換えます)最悪の影響、パフォーマンスはすぐにランダムなベースラインまで低下します。



反復並列処理とランダムレイヤーシーケンシャルのパフォーマンス低下は最小限に抑えられます。そのうち、反復並列処理は BERT と Llama2-7B で最も優れたパフォーマンスを発揮します。



論文の付録にはさらに多くの実験結果が追加されており、興味のあるご家族は元の論文を確認することができます。

論文リンク: https://arxiv.org/abs/2407.09298v1
参考リンク:https://x.com/A_K_Nain/status/1812684597248831912