大規模な言語モデル:DeBERTa — デコーディング強化BERTと解釈された注意力
「大規模な言語モデル:DeBERTa ─ デコーディング強化BERTと解釈された注意力」
トランスフォーマーの高度なアテンションメカニズムを探索する
はじめに
最近、BERTは多くの自然言語処理タスクでナンバーワンのツールとなっています。その卓越した処理能力、情報の理解力、高い精度での単語埋め込みの構築能力は、最先端のパフォーマンスに達しています。
BERTが基にしているのは、トランスフォーマーアーキテクチャから派生したアテンションメカニズムです。アテンションは、現在の大型言語モデルの鍵となる要素です。
大型言語モデル:BERT — トランスフォーマーからの双方向エンコーダ表現
最先端の埋め込みの構築方法を理解する
towardsdatascience.com
それでもなお、機械学習の世界では新しいアイデアやアプローチが定期的に進化しています。2021年にBERTのようなモデルで最も革新的な技術の1つが登場し、”切り離されたアテンション”という強化された注意力のバージョンが紹介されました。このコンセプトの実装により、切り離されたアテンションを取り入れたモデルであるDeBERTaが生まれました。DeBERTaは新しいアーキテクチャ原則を2つだけ導入していますが、他の大型モデルと比較して、その改善は顕著です。
この記事では、元のDeBERTa論文に言及し、その動作を理解するための必要な詳細をすべてカバーします。
1. 切り離されたアテンション
元のトランスフォーマーブロックでは、各トークンは要素ごとの埋め込みの合計という形でトークンの内容と位置に関する情報を含んだ単一のベクトルで表現されます。このアプローチの欠点は、情報の損失の可能性です。モデルは、特定の埋め込みベクトルの成分において、単語自体かその位置どちらがより重要かを区別しないかもしれません。
DeBERTaは、同じ情報を2つの異なるベクトルに格納する新しいメカニズムを提案しています。さらに、アテンション計算のアルゴリズムも修正され、トークンの内容と位置の関係を明示的に考慮します。例えば、「research」と「paper」という言葉は、近くに現れる場合と異なるテキストの部分に現れる場合では、はるかに依存関係が強いです。この例は、内容と位置の関係も考慮する必要性を明確に示しています。
切り離されたアテンションの導入には、アテンションスコアの計算方法の修正が必要です。このプロセスは非常に簡単であることがわかります。2つのベクトルで構成される埋め込み間の相互アテンションスコアの計算は、それぞれのサブベクトルの四つの対称積の和に簡単に分解できます:
同様の方法は行列形式でも一般化できます。ダイアグラムから、コンテンツと位置情報のそれぞれの組み合わせを表す四つの異なるタイプの行列(ベクトル)が観察されます:
- コンテンツ-コンテンツ行列
- コンテンツ-位置行列
- 位置-コンテンツ行列
- 位置-位置行列
位置-位置行列は単語の内容に関する詳細を持たないため、有益な情報を保存していないことがわかります。これが切り離されたアテンションでこの用語が破棄される理由です。
休憩用の3つの期間については、最終出力の注意マトリックスは元のトランスフォーマーと同様に計算されます。
計算プロセスは同様に見えますが、考慮する必要がある微妙な点が1つあります。
上記の図から、DeBERTaのQc-krᵀ行列とKc-Qrᵀ行列の積の間の乗算記号*が通常の行列の乗算記号xと異なることに気付くことができます。実際には、これは偶然ではなく、DeBERTaの述べられた行列ペアは、トークンの相対的な位置を考慮するために若干異なる方法で乗算されます。
- 通常の行列の乗算の規則によれば、C = A x Bならば、C[i][j]はAのi番目の行とBのj番目の列の要素ごとの乗算によって計算されます。
- DeBERTaの特殊なケースでは、C = A * Bならば、C[i][j]はAのi番目の行とBのδ(i, j)番目の列との乗算として計算されます。ここで、δは以下の式で定義される索引iとjの相対距離関数を表します:
kは、索引iとjの最大の相対距離を制御するハイパーパラメータと考えることができます。DeBERTaでは、kは512に設定されています。公式をより良く理解するために、索引iとjの異なる位置の相対距離(k = 6)を可視化したヒートマップをプロットしてみましょう。
たとえば、k = 6、i = 15、j = 13の場合、iとjの相対距離δは8と等しいです。インデックスi = 15とj = 13のコンテンツからポジションスコアを取得するには、query-content Qcとkey-position Kr行列の乗算時に、Qcの15番目の行はKrᵀの8番目の列と乗算される必要があります。
ただし、位置対コンテンツスコアの場合、アルゴリズムは若干異なる方法で動作します:相対距離はδ(i, j)ではなく、この場合はδ(j, i)の値を行列の乗算に使用します。論文の著者によれば、「これは、与えられた位置iにおいて、位置対コンテンツがiのクエリ位置に対してキーのコンテンツの注意重みを計算するため、相対的な距離がδ(j, i)であるためです」と説明されています。
δ(i, j) ≠ δ(j, i)、つまりδは対称的な関数ではないため、iとjの間の距離はjとiの間の距離とは異なります。
softmax変換を適用する前に、注意スコアはより安定したトレーニングのために定数√(3d)で除算されます。このスケーリング係数は元のトランスフォーマー(√d)で使用されるものと異なります。DeBERTaの注意メカニズムでは3つの行列の合計で大きな値が生じるため、√3倍の差が正当化されています。
2. パワーアップされたマスクデコーダ
分解可能なアテンションは、コンテンツと相対的な位置関係のみを考慮します。ただし、絶対的な位置関係についての情報は考慮されておらず、結果の予測において実際に重要な役割を果たす場合があります。DeBERTaの論文の著者は、このような状況の具体例を示しています。これは「新しいショップが新しいモールの横にオープンした」という文で、予測のためにBERTに「ショップ」と「モール」というマスクされた単語が与えられています。マスクされた単語は「新しい」という形容詞の意味とローカルなコンテキスト(近くにあること)は同じですが、分解可能なアテンションによって把握されない異なる言語的なコンテキストがあります。言語には、これに類似した状況が数多く存在するため、絶対的な位置関係をモデルに組み込むことが重要です。
BERTでは、絶対的な位置関係は入力埋め込みで考慮されます。DeBERTaでは、絶対的な位置関係はトランスフォーマーレイヤーすべての後に適用されますが、ソフトマックス層の前に適用されます。実験で、トランスフォーマーレイヤーすべてで相対的な位置関係を捕捉し、その後で絶対的な位置関係を導入することでモデルの性能が向上することが示されました。研究者によれば、逆にするとモデルが相対的な位置関係について十分な情報を学習するのを防ぐ可能性があります。
アーキテクチャ
論文によると、パワーアップされたマスクデコーダ(EMD)には2つの入力ブロックがあります:
- H — 前のトランスフォーマーレイヤーからの隠れた状態。
- I — デコードに必要な情報(例:隠れた状態H、絶対的な位置エンベッド、または前のEMDレイヤーの出力)。
一般的には、モデル内に複数のEMDブロックが存在する場合があります。その場合、次のルールで構築されます:
- 各EMDレイヤーの出力は、次のEMDレイヤーの入力Iとなります。
- 最後のEMDレイヤーの出力は、言語モデルのヘッドに送られます。
DeBERTaの場合、EMDレイヤーの数はn = 2であり、最初のEMDレイヤーのIとして位置エンベッドが使用されます。
NLPで頻繁に使用されるもう1つの技術は、異なるレイヤー間での重みの共有です。これはモデルの複雑さを軽減することを目的としています(例:ALBERT)。このアイデアは、DeBERTaのEMDブロックでも実装されています。
大規模言語モデル、ALBERT — コンパクトかつ効率的なモデルを生み出すためのBERTアーキテクチャの選択肢の基本的な技術を理解する
towardsdatascience.com
I = H かつ n = 1 の場合、EMDはBERTデコーダーレイヤーと同等になります。
DeBERTa設定
削減研究
実験により、DeBERTaのすべての導入コンポーネント(位置とコンテンツのアテンション、コンテンツと位置のアテンション、パワーアップされたマスクデコーダ)が性能を向上させることが示されました。これらのいずれかを削除すると、劣った指標が得られます。
スケールインバリアントなファインチューニング
さらに、著者らは「スケールインバリアントなファインチューニング」と呼ばれる新しい対抗的なアルゴリズムを提案し、モデルの汎化性能を向上させました。アイデアは、入力シーケンスへの小さな摂動を組み込むことで、モデルをアドバーサリアルな例に対してより強くすることです。DeBERTaでは、摂動は正規化された入力単語エンベッドに適用されます。このテクニックは、サイズの大きなファインチューニングされたDeBERTaモデルにおいてもより効果的です。
DeBERTaの派生モデル
DeBERTaの論文では、3つのモデルが紹介されています。それらの比較は以下の図に示されています。
データ
DeBERTaのベースとラージバージョンでは、以下のデータセットを組み合わせて事前学習を行っています:
- 英語版ウィキペディア + BookCorpus (16 GB)
- OpenWebText (Redditの公開コンテンツ: 38 GB)
- Stories (31 GB)
データの重複を取り除いた結果、データセットのサイズは78 GBに縮小されます。DeBERTa 1.5Bでは、著者たちはさらにそれの2倍のデータ(160 GB)を使用し、印象的な128Kのボキャブラリーサイズを持っています。
一方、RoBERTaやXLNet、ELECTRAなどの他の大型モデルは160 GBのデータで事前学習されています。同時に、DeBERTaはさまざまなNLPタスクでこれらのモデルと比較可能またはより良いパフォーマンスを示しています。
トレーニングに関しては、DeBERTaは各ステップに2Kのサンプルを持つ100万ステップで事前学習されます。
結論
DeBERTaアーキテクチャの主要な側面を見てきました。ディスタングルな注意と強化されたマスク符号化アルゴリズムを内部に持つことで、DeBERTaは多くのデータサイエンティストにとって非常に人気のある選択肢になり、また多くのKaggleコンペティションで勝利の要素となっています。DeBERTaについてもう1つ驚くべき事実は、それがSuperGLUEベンチマークで人間を凌駕する最初のNLPモデルの一つであるということです。この一つの結果だけで、DeBERTaがLLMの歴史に長く残ることを結論付ける十分な証拠となります。
参考資料
特記以外のすべての画像は著者によるものです。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles