プロジェクトのALBERT最適化の理論と実践のBERTライン(添付githubの):これらの興味深いシリーズ6における広告業界

要約:BERT良い効果と理由は、広い範囲のための2つの主要な利点は、NLPの分野で非常に画期的な出来事。実際のプロジェクトでは、主にテキストラベルを再生するために、実際には、BERTのテキスト分類のタスクを実行するために使用されます。オリジナルの生態BERT事前研修モデル簡単に数百あるいはギガビットサイズには、モデルの列車速度は非常に遅く、非常に非友好的なのBERTモデルラインのためだからです。Benpian研究現在、より多くの火災BERT最新のデリバティブ商品ALBERT BERTは、オンラインサービスを行います。メモリ消費量を削減するため、最終的にはトレーニング速度BERTを改善するために、主要なベンチマークで最高の間にあるALBERTパラメータ低減技術は、速く走るように記述するだけでなく、うまく実行することができます。希望はわずかに小さいパートナーヘルプのBERT回線を必要とする対象としています。


カタログ
01プロジェクトの背景
ALBERTにBERTから02の
03マイルは、ワンステップ:Xianpaoの通じモデル
以上の04の練習分類タスク
要約




01プロジェクトの背景

元生態BERT事前研修モデル簡単に数百あるいはギガビットサイズ、スピードトレーニングは非常に非常に非友好的なモデルラインのために遅くなります。BERTモデルラインの問題を達成するために、実際には、それは、研究、現在の超火災BERT最新のデリバティブ商品ALBERTプロジェクトは、上記の問題を解決することができますどのくらいの速良いトレーニングモデルです。

紙によるALBERT:提案した「ALBERT A LiteのBERTのために自己を Learningof言語表現を監修」 来て。下流の作業でパフォーマンスモデルを向上させることができ、通常の状況下で、事前のトレーニングモデルのサイズを増やしますが、理由は「制限のGPU / TPUメモリ、長いトレーニング時間と予期しないモデル退化」やその他の問題のため、著者は、ALBERTモデルを提案しました。

ペーパーダウンロード:


ALBERT人気の理解はパラメータの数が少ない軽量モデルをBERTということです。ALBERT BERTは軽量であるが、最新のデリバティブ商品ですが、最高の間にある主なベンチマークでは、効果を割り引くませんでした。

02からALBERTのBERTは、

背景1. ALBERT表示され

、コンピュータビジョン、ネットワークの深さを向上させる最も簡単かつ効果的な方法のモデルの性能を改善する方法の爆発させた分野を学ぶの深さは。画像分類タスクを取るために、図の下に、例えば、ネットワークは、層の数を増加し続けて、モデルの効果は偉大なアップグレードになります見ることができます。

図中の層の数を増加させる効果を高めるネットワークモデル。


同じ状況は、ネットワークが得られる深く広いリフティング効果モデルとなるような、BERTで発生します:

図2 BERTモデルネットワークは、広い奥行き効果が向上することであるほど


パラメータ爆発:しかし、ネットワークは重大な問題をもたらす深く広がっなります。ここでBERTパラメータスケールモデルの量は、道路の変更「脂肪」の異なるパラメータを見て:

図3 BERTパラメータ爆発


どのようにBERTは「脂肪」そうではありませんが、効果はまだ良い学術研究の焦点であるので、行うには、優先順位のBERTラインのどの一つです。また、ALBERTんです。

2. BERT「脂肪」

BERTを薄くしたい、最初の長い「肉」を知っています。BERTパラメータの源である特徴抽出、など変圧器を使用してBERT。前にCビットの中途半端な変圧器への補助的な役割からのコメント:これらの興味深いシリーズ4における広告業界興味缶ルックバックされるトランス、小さなパートナーの非常に詳細な分析。

パラメータブロックのトランス主要源:マッピングモジュールトークン埋め込みパラメータが20%以上を占める第一のブロック、第二のブロックは、フィードバック層と前面層に注目され、FFN、パラメータが80%以上を占めます。

図4トランスソースパラメータとBERTの構成図

3. ALBERT最適化戦略

戦略まず、(パラメータ化を埋め込む因数分解)埋め込みパラメータ分解

BERTは、高次元空間語にワンホットベクトルをマッピングし、パラメータは、第一の実施形態が使用されているO(VXH)、ALBERT分解の量でありますワンホットベクトルワードが使用されるパラメータであるように、低次元空間(寸法E)にマッピングされ、次いで高次元空間(寸法H)に対して背面にマッピングのみO(VXE + EXH)、もしE <<パラメータHの量が多くを削減されますとき。ここで上記の前記の第一部分を埋め込むトークンBERTパラメータのいくつかを減らす、それはある程度です。

原因は、パラメータを考慮量によって減少させることができる独立したトークンの埋め込みがベクターによって緻密ワンホットベクトルに変換されるコンテキストです。隠された層としてFFNと注目の第二の部分は、より多くの情報を含む、コンテキスト依存です。だから、あまり低次元埋め込みマトリックスを通過するワンホットベクトル・ワードのH E仲介より行うことによって、それが可能であるバックの高次元の埋め込み行列にマッピングされます。赤いボックスは、部品の分解を示しています。

の量を低減するため、図5の因数分解パラメータ

分解効果を埋め込むトークン図:全体的なモデルパラメータの17%減少したが、1%未満モデルを減少させる効果のみ。

の量の影響を低減するため、図6の因数分解パラメータ


2つの戦略の間のパラメータ(クロスレイヤパラメータの共有)、共用層

パラメトリック分析トランス層によっては、より多くの注目は、トークンと対角線上の[CLS]に割り当てられ、それぞれの層の同様の視覚的なパラメータを示しので、あなたは、クロスレイヤパラメータ共有スキームを使用することができます。

一般に二つのオプションがある共有トランスエンコーダ構造に対応し、クロスレイヤパラメータを話す:一つは共有パラメータ注目モジュールであり、他方はネットワーク層パラメータはFFNフィードフォワードニューラル共有されています。以下に示すような特定の結果:

7パラメータモデルの共有パラメータおよび量の効果を使用して

低次元空間がE = 768にマッピングされ、そして比較が共有されていないときにパラメータがパラメータFFN層を見ることができる、共有、パラメータは主に減少したモデルリードの効果に起因する約50%減少します。共有注意層パラメータモデルの結果にあまり影響です。

戦略三、ビルド自己学習課題-コヒーレント文予測

(次の文予測)NSPの変換により、ミッション、文の強化継続的な学習を改善するための事前訓練ミッション。

これらの興味深いシリーズ3で業界を広告:スターBERTの中NLPキーは、近年の技術革新自体のNLPマスターのフィールドは、主にランダムシールド言語モデル仮面LM、次の文であるBERT優れた業績を指しBERTモデルを、説明次の文予測を予測します。興味のパートナーは見て次の少し良く戻ることができます。

NSPタスク自体が目的では2つの文が連続文であるかどうかを予測することで、バイナリ分類タスクです。NSPは、実際に予測し、予測の整合性関係の対象となっている二つのサブタスクが含まれています。ポジティブサンプルとして二つの連続する文で同じ文書を選択するNSPタスクは、ネガティブサンプルのドキュメントとして別の文を選択してください。別の文書から、差は非常に大きくなる可能性があるため。連続文を予測するモデルの能力を高めるために、ALBERTは、新しいタスクのSOP(SenteceOrder予測)、正のサンプル取得モードと同じNSPを提案し、文は陽性サンプルが逆に負のサンプルの順序になります。

SOPやショーNSPの効果を次のように:

図8 SOPとNSPの効果を示します

図から分かるように、タスクは、タスクのNSP SOPタイプを予測することができない、それはSOP NSPタスクを予測することができます。全体的に、このモデルはまた、SOPタスクNSPタスクの効果に優れています。

ドロップアウト除去するための戦略4、

主にオーバーフィット防止にドロップアウトしますが、一般的に、実際のMLMない簡単なオーバーフィッティングします。ドロップアウトにも効果的にモデルメモリの使用率を訓練中に少数の中間変数を強化するように除去することができます。

図9ドロップアウトエフェクト効果

その他の戦略:ネットワークモデル効果への影響の幅と深さ

1.ネットワークの深さが深い方が良い
ALBERTが有効で異なる深さで発見することができ、コントラスト:深めの層と、異なるNLPタスクの影響をモデル化する特定のアップグレードがあります。しかし、このような状況は絶対的ではなく、いくつかのタスクの効果が減少します。

図1のネットワーク10の深さの影響。

2.広いネットワーク良好の幅場合
ALBERT大型モデル幅の異なるネットワークの効果は3見つけることができるコントラスト奥行きモデル:ネットワークモデル幅の増加と共に、同様の幅及びモデルの深さの効果は、異なるタスクの効果NLP特定のアップグレードがあります。一部のタスクは、衰退の存在の効果になります。

図幅のネットワーク11の影響

全体的に、本質的には、メモリ消費量を削減するため、最終的にはトレーニング速度BERTを向上させるために、主に次の側面を最適化するためのパラメータALBERT削減技術を使用することです。

  • ファクタリングによっておよび効率パラメータを改善するために、モデルパラメータの数を減らすために、層間のパラメータを共有します。
  • SOP代替NSP、自己教師あり学習タスクの能力を高めるために文章を学習の連続性を強化する能力によって、
  • 一時変数ドロップアウト排除することで大幅に節約することができ、モデルが効果的にトレーニングデータのサイズを小さく、モデルの効率を向上させる、トレーニングプロセスのメモリ使用率を向上させます。

03マイル最初のステップ:開始とモデルによって

、実際のメインプロジェクトは、中国を識別することであるので、それは主にALBERT中国語版ALBERT_zh、githubのプロジェクトのアドレスを使用することである:

私は非常に興味深い絵を見て前に覚えて、現時点では私の気持ちの良い説明することができます:

図のステップモデルXianpao 12〜

私にとって「イズムの」この種のは、それから回帰したモデルの最初のステップは、延期の最適化のためとして、常に開始とそれを介してです。これは、最も実用的な効果は、我々はすぐにオンラインプロジェクトを実装することができるということです、自信を向上させるだけでなく、を介して実行されます。私は、ダウンロードgithubのプロジェクトに上記のアドレスで、完全なテキスト分類タスクに必要があるため、次のalbert_zhディレクトリにクラスタのジャンプに、コマンドのsh run_classifier_lcqmc.shが起動して実行することができ、実行。プロジェクトは、文の分類作業、唯一の関係類似文判定タスク、その開始と、この作業を通じて、ライン上の変化にタスクコードに後者によるものではないからです。

run_classifier_lcqmc.shスクリプトは、一般的に2つのブロックに分割し、第一片が準備作業を実行しているモデルは、第二のブロックは、モデルの実行です。以下は、データを取得することを含むモデル、モデルの事前トレーニングを受け、モデル機器に関連するパラメータなどです。

13のモデルの実行準備

第2のブロックは、プログラムと構成するために必要な関連パラメータを実行するために、主にコマンドPYTHON、モデルを実行する責任があります。

14モデル図


要約の下では、ここでの焦点は、成功したALBERT_zh自体提供を実行する方法を裁判官文関係のタスクを語りました。このデモでは、実数で、この分類タスクの当社の中国事業は、ここでは、非常に同様のタスクで私たちの実際のテキスト分類プロジェクトを完了するために、このスクリプトやコード実行の変換によってです。

以上の04の練習の分類タスク

:復興プロジェクトは、以下のアドレスでGitHubの

ここでは、元のプロジェクトのフォークダウン、と私は2つのファイルがrun_classifier_multiclass.shとrun_classifier_multiclass.py追加。これは、テキスト分類を実行するためのタスクスクリプトとコードです。実際には、変換の原理は次の上に大体あり、比較的簡単です。

プロジェクトの文章関係のタスクを決定するためのデータフォーマットは、元々提供された:ID、text_a、text_b、ラベル 、 タスクが最後に二つの単語を決定するために、実際には何の関係もありません。例えばポジティブサンプルを次のように

TEXT_A:どのような楽しい伝説のナイフのジャッキーの承認を?
text_b:ジャッキーは他の伝説もそれを話していましたか?
ラベル:1

:負のサンプルでは、このかもしれ
TEXT_A:どのような楽しい伝説のナイフのジャッキーの承認?
text_b:一番楽しいスポット成都、?
ラベル:0

正と負のサンプルの上記の2つの例により、我々は、文の判定タスクとの関係が何であるかを理解する必要があり、実際には、分類作業の教師付き学習を持っています。私たちは、主に単語を識別することは実際にはtext_a、ラベルでタグ上記のタスクに対応するためにどの属し、BERTによって実際のテキスト分類プロジェクトを行います。タスクの同じタイプのため、政策の焦点は、コードの存在text_b解析部にコードを変更することです。特定のスクリプトやコード変更はほとんどない必要性パートナーとシークがあり、二つの文書の上と言うことです。元のデータファイルは、TSV形式であることに留意すべきである、ここに私のcsv形式、データエントリは、他のモデルとは異なり、少しは動かなかったです。


概要

実際のプロジェクトでは、現在のBERT最新のデリバティブ商品ALBERTを使用してその研究を通じて、より速く、より良いトレーニングモデルにするBERTの必要性のラインを必要とします。効率パラメータを強化するためのモデルパラメータの数を減らすために、層間のファクタリングと共有パラメータによるALBERT、NOP、自己教師あり学習タスクの能力を高めるために文章を学習の連続性を増強する能力によって、SOP置換;一時変数ドロップアウト排除することで大幅に節約することができ、モデルが効果的にトレーニングデータのサイズを小さく、モデルの効率を向上させる、トレーニングプロセスのメモリ使用率を向上させます。プロジェクト内の最後の文は、実際のビジネスニーズに合わせて、当社の実際のプロジェクトのテキスト分類タスクに変換タスク間の関係を決定します。理論を持っていると言うことができ、ヘルプ小さなパートナーが速く、なぜALBERTのトレーニングを理解し、結果は良好でした。あなたは私の良いスクリプトの変換とコードアップとライン上で実行されていると直接ALBERTテキスト分類のタスクを使用して行う必要がある場合、また、実用的があります。

ピックアップによってデータ:小さなパートナーのこのタイプのような記事は私のマイクロチャネル公共数に焦点を当てることができます。私は最初の公開のマイクロチャンネル番号にリリースされる任意の乾燥は、またほとんどの同期、見出し、ジェーンの本、CSDNプラットフォームで知られています。小さなパートナーはまた、より多くの交流を歓迎します。質問があれば、私はカザフスタンの数は常にQマイクロ手紙公衆ことができます。


おすすめ

転載: www.cnblogs.com/wilson0068/p/12444111.html