大型言語モデル、StructBERT ー 言語構造を事前学習に組み込む

大型言語モデルの究極進化!StructBERT - 言語構造を事前学習に取り込む

より良い学習目標を取り入れることで、モデルをよりスマートにする

イントロダクション

BERTが初めて登場して以来、感情分析、テキストの類似性、質問応答など、さまざまなNLPタスクで驚異的な結果を示してきました。それ以降、研究者たちはBERTをさらに性能向上させるために、アーキテクチャの変更、トレーニングデータの拡充、ボキャブラリーサイズの増加、レイヤーの隠れ層の変更などを行ってきました。

大規模言語モデル: BERT — トランスフォーマーからの双方向エンコーダ表現

BERTがどのように最先端の埋め込みを構築するのかを理解する

towardsdatascience.com

RoBERTaのような他の強力なBERTベースのモデルが作成されたにもかかわらず、研究者たちはBERTのパフォーマンスをさらに向上させる効率的な方法を見つけました。これにより、BERTを上回る性能を持つ新しいモデルであるStructBERTが開発されました。

StructBERTのアイデアは比較的シンプルで、BERTの事前学習目標をわずかに変更することに焦点を当てています。

この記事では、StructBERTの論文の主な詳細を説明し、元々変更された目標を理解します。

事前学習

ほとんどの部分で、StructBERTはBERTと同じアーキテクチャの原則を持っています。ただし、StructBERTはBERTの言語知識を拡張するために2つの新しい事前学習目標を提供しています。この目標に基づいてモデルが訓練される際は、マスキングされた言語モデリングと共に行われます。以下でこれら2つの目標を見てみましょう。

1. ワード・センテンス目標

実験の結果、マスクされた言語モデリング(MSM)タスクは、BERT設定において広範な言語知識の獲得に重要な役割を果たすことが示されました。事前学習後、BERTは高い精度でマスクされた単語を正しく推測することができます。しかし、単語が入れ替えられた文を正しく再構築することはできません。この目標を達成するために、StructBERTの開発者は入力トークンを部分的にシャッフルすることでMSM目標を変更しました。

元のBERTと同様に、入力シーケンスはトークン化され、マスクされ、トークン、位置、セグメントの埋め込みにマッピングされます。これらの埋め込みはすべて合計され、BERTに送られる結合埋め込みが生成されます。

マスキングでは、ランダムに選択されたトークンの15%がマスクされ、言語モデリングに使用されます(BERTと同様)。ただし、マスキング後、StructBERTは各部分列内でK個の連続してマスク解除されたトークンのうち5%をランダムに選択し、それらをシャッフルします。デフォルトでは、StructBERTはトリグラム(K = 3)で動作します。

Example of a trigram shuffling

最後の隠れ層が計算されたとき、マスクされたトークンとシャッフルされたトークンの出力埋め込みは、元のトークンをその初期位置を考慮に入れて予測するために使用されます。

最終的に、ワード・センテンスの目標はマスク言語モデリングの目標と同じ重みで組み合わされます。

2. 文章構造の目標

BERTの事前学習タスクのもう一つである次文予測は比較的単純とされています。これをマスターしても、BERTのパフォーマンスが大幅に向上するわけではありません。そこで、StructBERTの研究者はBERTが文の順序を予測できるように、この目標の難易度を高めました。

ドキュメント内で、順次の文S₁とS₂のペアを取り、StructBERTは3つの可能な方法のいずれかでトレーニングの例を構築します。これらの方法は、1/3の等確率で発生します:

  • S₂の後にS₁が続く(ラベル1);
  • S₁の後にS₂が続く(ラベル2);
  • ランダムなドキュメントから別の文S₃をサンプリングし、S₁の後に続く(ラベル0)。

これらの3つの手順のいずれかで順序付けられた文のペアが作成され、それらが連結されます。最初の文の前にはトークン[CLS]が追加され、各文の終わりを示すために[SEP]トークンが使用されます。BERTはこのシーケンスを入力とし、最後の隠れ層で一連の埋め込みを出力します。

「BERT」で次の文予測タスクに最初に使用された[CLS]埋め込みの出力は、現在「StructBERT」で使用され、入力シーケンスの元の作成方法に対応する3つの可能なラベルのうちの1つを正しく識別するために使用されます。

トレーニングサンプルの構成

最終目標

最終目標は、単語および文の構造目標の線形結合で構成されています。

単語および文の構造目標を含むBERTの事前トレーニング

StructBERTの設定

BERTとStructBERTでは、主な事前トレーニングの詳細がすべて同じです:

  • StructBERTはBERTと同じ事前トレーニングコーパス、英語のウィキペディア(2500M語)とBookCorpus(800M語)を使用します。トークン化はWordPieceトークナイザーで行われます。
  • オプティマイザ:Adam(学習率l = 1e-4、重み減衰L₂ = 0.01、β₁ = 0.9、β₂ = 0.999)。
  • 学習率ウォームアップは、合計ステップの最初の10%で実行され、それから線形に減少します。
  • 全てのレイヤーでドロップアウト(α = 0.1)レイヤーが使用されます。
  • 活性化関数:GELU。
  • 事前トレーニング手順は40エポック実行されます。

StructBERTのバージョン

オリジナルのBERTと同様に、StructBERTにはベースバージョンとラージバージョンがあります。レイヤー数、アテンションヘッド数、隠れ層サイズ、およびパラメータ数などの主な設定は、それぞれBERTのベースバージョンとラージバージョンと対応しています。

StructBERTベースとStructBERTラージの比較

結論

新しいトレーニング目標の導入により、StructBERTはNLPの新たな限界に到達し、さまざまな下位タスクでBERTを常に上回る成果を収めました。両方の目標がStructBERT設定で欠かせない役割を果たすことが示されました。単語の構造目標は主に単文の問題でモデルの性能を向上させ、StructBERTが単語の順序を再構築する能力を持つようにしますが、文の構造目標は文のペアタスクに特に重要な文間関係の理解能力を向上させます。

参考資料

すべての画像は、特記がない限り著者によるものです

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more