ホームページ > 記事 > テクノロジー周辺機器 > ネチズンは称賛:トランスフォーマーが年次報告書の簡易版をリード
大規模モデルのルートから最適化します。
Transformer アーキテクチャ は、ディープ ラーニングの分野における最近の多くの成功事例の背後にある主力であると言えます。深い Transformer アーキテクチャを構築する簡単な方法は、複数の同一の Transformer 「ブロック」を次々に積み重ねることですが、各「ブロック」はより複雑で、特定の配置と組み合わせを必要とする多くの異なるコンポーネントで構成されており、優れたパフォーマンスを実現します。
2017 年に Transformer アーキテクチャが誕生して以来、研究者はそれに基づいた多数の派生研究を開始しましたが、Transformer の「ブロック」にはほとんど変更が加えられていません。
そこで質問は、標準の Transformer ブロックを簡素化できるかということです。
最近の論文では、チューリッヒ工科大学の研究者が、収束特性やダウンストリーム タスクのパフォーマンスに影響を与えることなく、LLM に必要な標準の Transformer ブロックを簡素化する方法について議論しています。信号伝播理論と経験的証拠に基づいて、残留接続、正規化層 (LayerNorm)、射影パラメータと値パラメータ、MLP シリアル化サブブロック (並列レイアウトを優先する) などの一部の部分を削除できることがわかりました。 ) GPT のようなデコーダー アーキテクチャとエンコーダー スタイルの BERT モデルを簡素化します。
研究者らは、トレーニング速度に影響を与えずに関係するコンポーネントを削除できるかどうか、また、Transformer ブロックにどのようなアーキテクチャ上の変更を加える必要があるかを検討しました。
論文リンク: https://arxiv.org/pdf/2311.01906.pdf
Lightning AI 創設者、機械学習研究者セバスティアン・ラシュカは、この研究を「今年のお気に入りの論文の一つ」と呼んでいます:
しかし、研究者の中には「コメントするのは難しい」と疑問を抱く人もいます。完全なトレーニング プロセスを見たことがない限り、正規化層や残留接続がなければ、パラメータが 1 億を超えるネットワークでどのようにスケールできるでしょうか?#''
Sebastian Raschka 氏も同意しました:「はい、彼らが実験したアーキテクチャは比較的小規模です。これを数十億のパラメータを持つ Transformer に一般化できるでしょうか? それはまだわかりません。」 しかし、彼はまだ言います。この作業は印象的であり、(初期化スキームを考慮すると) 残留接続の削除が成功したことは完全に合理的であると考えられます。
これに関して、チューリング賞受賞者のヤン・ルカン氏は次のようにコメントしました。「私たちは深層学習アーキテクチャの分野の表面に触れただけです。これは高次元空間なので、ボリュームはほぼ完全に含まれています」
なぜ Transformer ブロックを単純化する必要があるのでしょうか?
研究者らは、トレーニング速度に影響を与えずに Transformer ブロックを簡素化することが興味深い研究課題であると述べています。 まず第一に、最新のニューラル ネットワーク アーキテクチャは設計が複雑で、多くのコンポーネントが含まれています。これらのさまざまなコンポーネントがニューラル ネットワークのトレーニングのダイナミクスで果たす役割と、それらがどのように相互作用するかはまだ不明です。この質問はディープラーニングの理論と実践の間のギャップに関係するため、非常に重要です。 信号伝播理論は、ディープ ニューラル ネットワーク アーキテクチャにおける実際的な設計の選択を促すという点で影響力があることが証明されています。信号伝播は、入力全体の階層表現の内積によって捕捉された、初期化時のニューラル ネットワーク内の幾何学的情報の進化を研究し、ディープ ニューラル ネットワークのトレーニングにおいて多くの印象的な結果をもたらしました。 ただし、現時点では、この理論は初期化中のモデルのみを考慮しており、多くの場合、最初の順方向パスのみを考慮しているため、残差接続の寄与など、ディープ ニューラル ネットワークのトレーニング ダイナミクスにおける多くの複雑な問題を明らかにすることはできません。トレーニングスピードです。信号の伝播は改造の動機付けにとって重要ですが、研究者らは、理論だけから単純化されたTransformerモジュールを導き出すことはできず、経験的な洞察にも依存していると述べています。 実際のアプリケーションの観点から見ると、現在、大規模な Transformer モデルのトレーニングとデプロイにかかるコストが高額であることを考えると、Transformer アーキテクチャのトレーニングと推論パイプラインの効率が向上すれば、大幅な節約の可能性が高まります。不要なコンポーネントを削除して Transformer モジュールを簡素化できれば、パラメーターの数が減り、モデルのスループットが向上します。 この論文では、残差接続、値パラメーター、投影パラメーター、およびシリアル化サブブロックを削除した後、トレーニング速度と下流タスクのパフォーマンスの点で標準の Transformer に匹敵できることにも言及しました。最終的に、研究者らはパラメータの数を 16% 削減し、トレーニングと推論時間のスループットが 16% 増加することを観察しました。Transformer ブロックを簡素化するにはどうすればよいですか?
研究者は、信号伝播理論と経験的観察を組み合わせて、Pre-LN モジュールから開始して最も単純な Transformer ブロックを生成する方法を紹介しました (以下を参照)。
この論文の第 4 章の各セクションで、著者はトレーニング速度に影響を与えることなく、一度に 1 つのブロック コンポーネントを削除する方法を紹介します。
このパートのすべての実験では、CodeParrot データセット 上の 18 ブロック 768 幅の因果限定デコーダーのような GPT モデルを使用します。このデータセットは十分に大きいため、作成者が単一トレーニング エポック モードでは、汎化ギャップが非常に小さいため (図 2 を参照)、トレーニング速度に集中できます。
残留接続の削除
研究者は最初に、注目サブブロック内の残留接続を削除することを検討しました。これは、式(1)の表記において、α_SAを0に固定することに相当します。アテンションの残留接続を単に削除すると、信号の劣化、つまりランク崩壊が発生し、トレーニング可能性が低下する可能性があります。論文のセクション 4.1 では、研究者らが自分たちの方法を詳しく説明しています。
#投影/値パラメータの削除
図 3 から、値パラメータと投影パラメータ W^ が完全に削除されていると結論付けることができます。 V、W^P は、更新ごとのトレーニング速度の損失を最小限に抑えて可能です。つまり、β_V = β_P = 0 でアイデンティティが初期化された 場合、同じ数のトレーニング ステップの後、この研究は基本的に Pre-LN のパフォーマンスを達成できます。ブロックのパフォーマンス。この場合、W^V = W^P = I はトレーニング プロセス全体を通じて W^V = W^P = I になります。つまり、値と射影パラメータは一貫しています。著者らはセクション 4.2 で詳細な方法を示しています。 #MLP サブブロックの残留接続の削除上記のモジュールと比較して、MLP サブブロックの残留接続を削除するには、さらに挑戦的。以前の研究と同様に、著者らは、図 22 に示すように、MLP 残留接続なしで Adam を使用した場合、信号伝播を通じてアクティベーションをより線形にしても、更新ごとのトレーニング速度が大幅に低下することを発見しました。
彼らは、ガウス重み、直交重み、恒等重みなど、Looks Linear 初期化のさまざまなバリエーションも試しましたが、無駄でした。したがって、MLP サブブロックでの作業と初期化全体を通じて、標準のアクティベーション (ReLU など) を使用します。
著者らは、PALM や ViT-22B など、最近のいくつかの大型変圧器モデルで人気があることが証明されている並列 MHA および MLP サブブロックの概念に目を向けます。並列トランスのブロックを下図に示します。
最後に削除するのは正規化層です。これにより、図 1 の右上隅にある最も単純なブロックが取得されます。信号伝播の初期化の観点から、著者はこのセクションの簡略化のどの段階でも正規化層を削除できます。彼らの考えは、Pre-LN ブロックでの正規化によって暗黙的に残留ブランチの重みが軽減され、この有益な効果は別のメカニズムを通じて正規化層なしで再現できるというものです。残留接続を使用する場合は、残留ブランチの重みを明示的に軽減します。 、または、アテンション マトリックスを同一性の方向にバイアスするか、MLP の非線形性を「より多くの」線形性に変換します。
作者は修正プロセス中にこれらのメカニズムを考慮したため (MLP β_FF や Shaped Attend の重みを減らすなど)、正規化の必要はありません。著者らはセクション 4.4 で詳細を説明しています。
実験結果深さの拡大
信号伝播理論は通常、深い深さに焦点を当てていることを考えると、この場合は信号の劣化です。通常発生します。したがって、当然の疑問は、単純化されたトランスフォーマー ブロックによって達成されるトレーニング速度の向上は、より深いレベルまで拡張できるかということです。
図 6 から、深さを 18 ブロックから 72 ブロックに拡張した後、この研究のモデルと Pre-LN 変圧器の両方のパフォーマンスが向上していることがわかります。これは、この研究が単純化されたことを示しています。モデルのトレーニングが高速化されるだけでなく、より深い深度によって得られる追加のパワーも活用します。実際、正規化を使用すると、この研究の単純化されたブロックと Pre-LN の更新ごとの軌跡は、異なる深さではほとんど区別できなくなります。
BERT
次に、著者らは、単純化されたブロックのパフォーマンスがさまざまなデータセットやアーキテクチャ、さらには下流のタスクにも適用されることを示します。彼らは、マスクされた言語モデリングに双方向エンコーダ専用 BERT モデルの一般的な設定を選択し、ダウンストリーム GLUE ベンチマークを採用しました。
図 7 に示すように、実行後 24 時間以内では、この調査の単純化されたブロックは、(詰め込まれた) Pre-LN ベースラインと比較した、マスクされた言語モデリング タスクの事前トレーニング速度に匹敵します。一方、値や投影を再度変更せずに残りの接続を削除すると、トレーニング速度の大幅な低下につながります。図 24 では、著者らはマイクロバッチ ステップの等価図を示しています。
さらに、表 1 では、研究者らは、GLUE ベンチマークで微調整した後、自分たちの方法が以前と同様に機能することを発見しました。詰め込まれた BERT ベンチマークはかなり優れています。
表 2 では、下流のタスクを分類しています。公平な比較のために、Geiping & Goldstein (2023) と同じ微調整プロトコル (5 エポック、各タスクの一定のハイパーパラメーター、ドロップアウトの正則化) を使用しました。
#効率の向上
表 1 では、研究者はマスキング言語でのさまざまな Transformer ブロックの使用法についても詳しく説明しています。 パラメーターの数モデリングタスクでのトレーニング速度。彼らは、ベースラインの Pre-LN 詰め込み BERT に対する 24 時間の事前トレーニング中に実行されたマイクロバッチ ステップ数の比率として速度を計算しました。結論として、このモデルは Pre-LN ブロックよりも使用するパラメーターが 16% 少なく、SAS-P と SAS は反復あたりそれぞれ 16% と 9% 高速です。 ここでの実装では、並列ブロックは Pre-LN ブロックよりもわずか 5% 高速であるのに対し、Chowdhery et al. (2022) によって観察されたトレーニング速度は 15% 高速であることに注意してください。は、最適化の実装により、全体的なトレーニング速度がさらに向上する可能性があることを示しています。 Geiping & Goldstein (2023) と同様に、この実装でも PyTorch の自動オペレーター融合テクノロジーが使用されています (Sarofeen et al.、2022)。長期トレーニング
最後に、より多くのデータで小規模なモデルを長期間トレーニングするという現在の傾向を考慮して、研究者らは、より長期間にわたってブロックを簡素化することについて議論しました。 Pre-LN ブロックのトレーニング速度がトレーニング後も達成できるかどうか。これを行うために、CodeParrot で図 5 のモデルを使用し、3x トークンでトレーニングします。正確に言うと、トレーニングにはバッチ サイズ 128、シーケンス長 128 で (40K ステップではなく) 約 120K ステップがかかり、その結果、約 2B トークンが生成されます。 図 8 からわかるように、より多くのトークンがトレーニングに使用された場合でも、簡略化された SAS および SAS-P コード ブロックのトレーニング速度は、PreLN コード ブロックと同等か、それ以上です。 研究の詳細については、元の論文を参照してください。以上がネチズンは称賛:トランスフォーマーが年次報告書の簡易版をリードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。