文間の一貫性損失
BERTではMasked Language Modeling (MLM)損失に加えて,次文予測(NSP)が加えられてる.これは連続する文が正しいものか,適当な文の組み合わせ化を予測するバイナリ分類問題である.これはNLIや文ペア関係の推論などのタスクのためにデザインされたものだが,NSPの有用性に関しては疑問視されている.我々はこれはNSPタスクが簡単だからと推察する.NSPはトピック予測及び一貫性予測となっており,難しくなく,MLMとの重複があるのではないかと考える.そこでALBERTではSentence Order Prediction (SOP)を提案.これは文間の一貫性をモデル化するものである.2つの文は連続したものが元となるが,negative samplesではその文がスワップされて,それを判別できるようにするタスクである.SOPの有効性はNSPタスクと合わせて後ほど説明する
ALBERT: A Lite BERT for Self-supervised Learning of Language Representations Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, Radu Soricut https://arxiv.org/abs/1909.11942 code: https://github.com/google-research/google-research/tree/master/albert
概要
事前学習モデルで,モデルサイズを大きくするとパフォーマンスが向上する傾向にあるが,GPU/TPUメモリは高コストになり,さらに予期しないパフォーマンス低下を招くことがある.本論文では,メモリ消費量の削減のために2つのパラメタ削減方法を提案し,BERTの学習速度も向上させる(A Lite BERT, ALBERT).実験では,オリジナルのBERTと比べてモデルをスケールさせることができた.また文間の一貫性をモデリングすることにフォーカスしたself-supervisedな損失も提案.結果として,BERT-largeと比べて少ないパラメタで,GLUE, RACE, SQuADでSOTA.
イントロ
pretrainingのモデルが多く成果を上げている.また巨大なモデルを事前学習し,ダウンストリームのタスクに向けて蒸留したりする.しかし現在のSOTAモデルはパラメタ数が何億・何十億となっているので,メモリの制約が大きい.更に学習速度も問題となっている.またBERT-largeのようなモデルの隠れ層の大きさを純粋に大きくしていくと(2倍),性能が悪化していく
このような問題に対処するためにモデルの並列化や賢いメモリ管理法などがあるが,これはメモリ制約の問題にはよいが,パラメタのコミュニケーションのオーバーヘッドやモデルの悪化については言及していない.我々はこれらの問題のため,A Lite BERT (ALBERT)を提案.BERTよりも少ないパラメタ.
ALBERTでは2つのパラメタ削減テクニックを採用
これにより,BERT-largeと比べて18分の1のパラメタで1.7倍早く学習できる.またこのパラメタ削減は,学習を安定化させ一般化を促す正則化としても動作する.
またALBERTのパフォーマンス改善のため,文順序予測(SOP: Sentence-Order Prediction)のためのself-supervised損失を導入.SOPは文間の一貫性にフォーカスし,報告されている次文予測(NSP)の非効率性が報告されているため入れ替える.
関連研究
表現学習のスケーリング ここ2年ぐらいで単語埋め込みの事前学習から,フルネットワークの事前学習+fine-tuningにトレンドが移ってきた.事前学習型の言語モデルでは,しばしばモデルサイズに言及され,モデルサイズが大きいほどダウンストリームのタスク性能が向上すると報告されてきた:隠れ層サイズ,隠れ層数,アテンションヘッドの数.しかし先程示したように隠れ層サイズを2倍にしたBERTでは性能は悪化.よってモデルをただ単純に大きくすれば性能向上するという単純な話ではない.
レイヤー間のパラメタ共有 レイヤーをまたいだパラメタ共有の研究も最近は上がってきている
文順序 ALBERTでは,2つの連続する文順序が合っているかどうかを予測するタスクを事前学習中に行う. SkipthoughtやFasetSentでは周辺語を予測するものなどが以前はあった. BERTの次文予測では,2つの文が連続したものか,あるい関係ない文が連続しているかを予測する問題だった.あとで示すが我々の文順序の判定の方がよりチャレンジングでダウンストリームで役に立った.
ALBERTの要素
モデルアーキテクチャ
ALBERTのアーキテクチャはBERTと似ているが,以下に示す内容でカスタムしていく.
Factorized embedding parametrization 語彙数V,サブワード埋め込みサイズはE,隠れ層をHとする. オリジナルでは,VxHのパラメタ数が必要であるところを,VxE+ExHのパラメタ数に削減する. 例えば.V=30K,H=768, E=128と考えると,BERTで23Mのパラメタ(30Kx768)に対してALBERTで3.9M(30Kx128 + 128x768)と1/6程度になる.
レイヤー間のパラメタ共有 パラメタ共有と言っても色々方法があり,例えばフィードフォワードレイヤーのパラメタだけを共有したり,アテンションパラメタだけ共有したりと.ALBERTではすべてのレイヤー間でパラメタを共有. 例えばBERT-baseの12層レイヤーでは85Mのパラメタなので,85M/12=7.08Mまで削減できる.
Fig2にBERTとALBERTでの各レイヤーでの入力と出力の埋め込みのcosine 類似度を載せる.ALBERTでは,BERTよりも,レイヤーからのレイヤーの遷移がスムーズであると分かる.これはネットワークパラメタの安定化に効果がある.
モデルのセットアップ
BERTとALBERTののパラメタ比較をTable 2に示す.ALBERTはかなり小さくなっている.例えばBERT-largeとALBERT-largeでは,18倍のパラメタの差が生じている.
実験結果
ダウンストリームのタスクとして,GLUE,SQuAD,RACE (ReAding Comprehension from Examinations,英語の試験)を採用.
全体の結果(BERET vs ALBERT)
Table 3に示す
Factorized embedding parametrization
Table 4に埋め込みサイズEをALBERT-baseで色々変えてみたものを示す.またレイヤー間パラメタ共有も一緒に.
レイヤー間のパラメタ共有
ALBERTの埋め込みサイズEを768,128にして,様々なパラメタ共有を試した:all-shared, shared-attention, shared-FFN, not-shared (BERTスタイル)
Sentence Order Prediction (SOP)
追加の文間タスクに関して,None (XLNet, RoBERTAスタイル),NSPタスク(BERTスタイル),SOP(ALBERTスタイル)を目的関数にした場合,それぞれのタスクが解けるかをTable 6に示す.
ネットワークの深さと幅の効果
ネットワークの深さ(レイヤー数)と幅(隠れ層サイズ)がALBERTにどう影響を与えたか示した.レイヤー数を変えたものはTable 7,隠れ層サイズを変えたものをTable 8に示す.
Table 8には3-layerのALBERT-large設定で異なる隠れ層サイズ.
もし同じ時間で学習していたらどうなる
Table 3で示したとおり,ALBERTの学習は早い.また一般に,長い学習でパフォーマンスは上がる.そこでBERT-largeと同程度の時間で学習したALBERT-xxlargeの性能をTable 9に示す
幅の広い(隠れ層サイズ大)ALBERTは,より深い必要(レイヤー数)があるか?
ALBERT-large (H=1024)を,レイヤー12と24で実験したものをTable 10に示す.
追加の学習データとドロップアウトの効果
XLNet及びRoBERTaで使われた追加の学習データを利用してみた.
NLUタスクの現在のSOTA
シングルモデルとアンサンブルモデルで比較.シングルモデルではTable 2でのALBERT-xxlargeで,MLMとSOPタスク,及びdropoutなし設定.Table 13にGLUE,Table 14にRACE,SQuADを示す.
ディスカッション
ALBERT-xxlargeはBERT-largeよりも少ないパラメタにもかかわらず良い結果を示した.次のステップとして,スパースアテンションやブロックアテンションといった手法を通してALBERTの学習及び推論時間の向上である.またSOPの有用性も示した,これにはだ捉えられていない表現手法があると考える.
コメント
参考