自然言語の事前トレーニングを10倍高速化する方法

自然言語の事前トレーニングを10倍高速化する方法

近年、自然言語処理における事前トレーニングは研究分野でホットな話題となっており、有名なGPT-3も新たな波を巻き起こしています。しかし、誰もが知っているように、このような大規模なモデルのトレーニングには大量のリソースが必要です。Wikipedia データで単純な BERT-Base モデルをトレーニングする場合でも、多数の GPU を使用して 1 ~ 2 週間のトレーニングが必要です。GPU の購入コストは言うまでもなく、電気代だけでも数万ドルの費用がかかります。このような消費は、業界の少数の大企業によってのみ達成可能であり、非常に高いハードルが関連分野の探求と全体的な開発を制限しています。

[[377234]]

事前トレーニングの導入ハードルを下げるために、Microsoft Research Asia の機械学習グループの研究者は、機械学習のさまざまな観点から、事前トレーニングのさまざまな側面を加速する方法を提案しました。具体的には、研究者らは新しいTransformerベースの構造TUPEを提案し、BERTの効率的なデータ利用戦略を設計し、人間の学習に似た事前トレーニングタスクを拡張しました。

最初の 2 つの作品は、新しくリリースされた ICLR 2021 に採択されました。これらの方法は、単独で使用することも、組み合わせて使用​​することもでき、さらなる高速化を実現できます。これまで 10 日間かかっていたトレーニングが、たった 1 日で完了できるようになりました。

Transformer に基づく新しい構造 TUPE (ICLR 2021)

誰もが位置埋め込みについて知っていますが、この設計は本当に効率的で合理的でしょうか?

Transformer 構造は異なる位置からの単語を認識できないため、モデルは通常、位置表現によって支援される必要があります。最も簡単な方法は、位置表現を入力単語ベクトルに直接追加することですが、単語ベクトルと位置ベクトルを追加するのは正しい選択でしょうか?

単語ベクトルの加算と減算の演算では意味を維持できますが、位置ベクトル自体には意味がありません。この 2 つを追加すると、モデルの学習が難しくなりますか?最初のレイヤーで Transformer の注意重みを拡張すると、次のようになります。

上記の展開された式から、2 つの問題が見つかります。

まず、中央の 2 つの項目は単語と位置情報の交差を導入しますが、特定の位置が特定の単語と強く関連している必要があると言う理由はありません (論文の詳細な実験分析では、中央の 2 つの項目に一定の冗長性があることも示されています)。

2 番目に、最初の項目と 4 番目の項目はそれぞれ単語と位置の関連性を計算しますが、同じパラメーター化された関数 (W^Q と W^K) を使用するため、注意表現能力が制限されます。

上記の 2 つの問題を解決するために、Microsoft Research Asia の研究者はいくつかの簡単な変更を加えました。

簡単に言えば、位置とテキスト (トークン) の交差が削除され、異なる変換マトリックスが使用されます。

BERT などの多層 Transformer モデルでは、上記の式の 2 番目の項が異なるレイヤー間で共有されることに注意してください。したがって、計算は一度だけ行えばよく、追加の計算コストは​​ほとんど発生しません。

図1: TUPE (位置エンコーディング非依存型トランスフォーマー) の全体構造

図2: 実験結果

さらに、研究者らは、局所的な部分に重点を置きすぎることで文全体の情報を無視することがないよう、[CLS]トークンの位置も特別に処理しました。全体的なTUPE(Transformer with Untied Positional Encoding)構造を図1に示します。

実験結果を図 2 に示します。この方法は、最終的にベースラインよりもはるかに優れているだけでなく、1000k ステップのベースラインの効果を 30% (300k ステップ) で達成できることが分かります。

TUPE の全内容は、https://openreview.net/forum?id=09-528y2Fgf でご覧いただけます。

効率的なデータ活用: BERT が人間のようにメモを取る (ICLR 2021)

言語データセットでは、単語は通常非常に長い尾を持つ分布を持ち、つまりデータセット全体で多数の単語の出現頻度が非常に低いことがよく知られています。しかし、これらの低頻度単語の単語ベクトルは、トレーニング品質が低いことがよくあります。

これらの低品質の単語ベクトルにより、モデルがトレーニング文全体を理解するのが難しくなり、その結果、モデルの事前トレーニング全体の速度が低下します。

例えば、図3に示すように、「COVID-19」が低頻度の単語である場合、クローズテストを行う人がその意味を知らないと、正しい単語を埋めることは非常に困難になります。同様の問題は、自然言語の事前トレーニング中にも発生する可能性があります。

図3: 低頻度語

そこで、マイクロソフト リサーチ アジアの研究者は、低頻度語を動的にメモする方法である Taking Notes on the Fly (TNF) を提案しました。この方法は、過去にまれな単語が出現した文の情報を記録し、モデルが低頻度語を再度見たときに、より完全に理解できるようにします。

図3に示すように、研究者は、モデルが「COVID-19パンデミックは現在進行中の世界的危機である」という注釈から「COVID-19」が生命に関連していることを推測し、タスクを理解しやすくなり、上記の穴埋め問題「生命」の答えを導き出すことを期待しています。

具体的には、TNF はメモの辞書を維持します。この注釈辞書では、低頻度単語ごとに文脈表現ベクトル(Contextual presentation)が注釈として保持されています。

単語が出現すると、TNF はノート辞書からそのコンテキスト表現ベクトルを取得し、その単語ベクトルとともに、その位置のモデルの入力を形成します。また、この単語のノートの内容を更新します。図4に示すように:

図4: TNFトレーニングプロセス

研究者らは、実験のために、よく知られた効果的な言語事前トレーニング方法である BERT と ELECTRA に TNF を適用しました。また、事前トレーニング済みモデルを GLUE で微調整し、比較しました。

実験結果によると、両方の事前トレーニング方法では、TNF がベースラインと同じ実験結果を達成した場合、TNF のトレーニング時間はベースラインの 40% に過ぎません (図 5 を参照)。

図5: TNFトレーニング曲線

TNF をベースラインと同じ反復回数でトレーニングすると、GLUE およびほとんどのサブタスクの平均 GLUE スコアの点で、TNF はベースラインを上回ります。

TNF の全作品は、https://openreview.net/forum?id=lU5Rs_wCweN でご覧いただけます。

合理的な事前トレーニングの目標: BERTはABCDの複数選択問題を実行することを好む

現在、多くの事前トレーニング済みモデルは、入力文の一部をマスクし、モデルにマスクされた部分を復元させるマスク言語モデルタスクを使用しています。このタスクは実際には「穴埋め」問題に相当しますが、試験でよく見られる穴埋めとは異なり、自然言語の事前トレーニングにおける穴埋めオプションは辞書全体です。

明らかに、人間にとっても、代替の答えがないオープンな環境でこの「穴埋め」タスクを正確に完了することは非常に困難です。

図6: 複数選択タスク

実際、人間にとっては、複数選択や真偽の質問に回答する方が簡単です。選択肢が限られているため、タスクの難易度は大幅に軽減されます。有名な「ELECTRA」モデルは判断問題を採用しています。初期に設計された判断問題は簡単なので、トレーニング効率が非常に高いです。

モデルがトレーニングされるにつれて、判断の質問はますます難しくなり、モデルは常に効果的なフィードバックを得ることができます。 ELECTRA とは少し異なり、Microsoft Research Asia の研究者がこのモデル用に設計した事前トレーニング タスクは ABCD の複数選択問題であり、研究者らは複数選択問題の難易度を動的に調整できるようになることを期待しています。

学習の初期段階では、モデルが比較的単純なタスクを完了できるように、単純な複数選択の質問が設計されており、それによって学習プロセスが高速化されます。後期段階では、タスクの難易度が徐々に増加し、より洗練された結果が得られます。

ここでは、さまざまな難易度のタスクとオプションの数を設計することで、タスクの難易度を調整できます (オプションが多いほど、タスクは難しくなります)。

図7: メタコントローラを使用した事前トレーニング

簡単な課題から難しい課題まで訓練する効果を実現するために、多肢選択問題の難易度を適応的に変更できる問題設定が可能な「メタコントローラ」を提案する。

特に、このメタ コントローラは、マスクされた言語モデルで事前トレーニングされ、メイン モデルとともに反復的にトレーニングされる、より小さな BERT です。

各文は、まずマスクされます。次に、メタ コントローラはマスクされた文を入力として受け取り、マスクされたターゲット ワードに関連する単語の例を出力します。これらの単語の例は、代替回答を構築するために使用されます。

図8: 適応型多肢選択課題に基づく事前トレーニング実験結果

トレーニングの初期段階では、メタコントローラーが十分にトレーニングされていないため、生成された代替回答の品質は高くなく、メインモデルはこれらの簡単なタスクに関する正しい知識をすぐに学習できることがわかります。

トレーニングの後の段階では、メタ コントローラーは完成に近づき、高品質の候補回答を生成できるため、メイン モデルはこれらの困難なタスクでさらに進化できます。

このメタコントローラを BERT に適用すると、元の BERT と比較してトレーニング速度が 80% 向上することがわかります。つまり、ダウンストリームタスク GLUE では、計算オーバーヘッドの 20% でトレーニングされたモデルは、トレーニングに 5 倍の時間がかかる BERT モデルに匹敵します。

全文はhttps://arxiv.org/abs/2006.05744でご覧いただけます。

<<:  機械学習で知っておくべき3つの特徴選択方法!

>>:  EUがAIを活用して社会イノベーションを推進する方法

ブログ    
ブログ    

推薦する

顧客エンゲージメントにおける 5 つの主要な AI トレンド

クラウド通信および顧客エンゲージメント プラットフォームである Twilio が発表した新しい調査レ...

AI はビジネスのやり方を永久に変えるのでしょうか?

Google、Facebook、Twitterなど、世界中の大手テクノロジー企業が人工知能ソリュー...

顔認識の未来:スマートシティにとって何を意味するのか

顔認識技術は、スマートシティの安全を維持できる多数のアプリケーションをサポートする能力を備えています...

「怠け者」を助ける掃除ロボットの規模は600億台を超える

近年、世界経済の発展に伴い、人間の生活環境は徐々に改善され、人口も増加傾向にありますが、急速な人口増...

...

クラウド コンピューティングを超えて考える: インテリジェント エッジはコンピューティングと AI の未来です

インテリジェント エッジは、スマート デバイスとモノのインターネットをデータ収集ポイントから、組織に...

AIGCと因果推論により双方向の

本文に入る前に、まずはJiuzhang Yunji DataCanvasを紹介したいと思います。九張...

TSN タイムセンシティブネットワークテクノロジーの簡単な分析

産業インテリジェンスの継続的な発展に伴い、産業インターネットは産業インテリジェンス発展のための重要な...

ChatGPTは医療業界に革命を起こす

ChatGPT は 11 月下旬のリリース以来、ビジネス、法律、医学部の大学院レベルの試験に合格する...

...

チューリング賞受賞者のジュディア・パールが語る「データだけに頼るな」

[[412443]]現在の人工知能研究コミュニティでは、データ中心の方法が絶対的に優勢であり、その...

Python での機械学習アルゴリズムの実装: ニューラル ネットワーク

今日は引き続き、パーセプトロンをベースにしたニューラルネットワークモデルを紹介します。パーセプトロン...