BERTはまだまだ進化する!軽くて強いALBERTが登場!

3つの要点

✔️BERTの構造に2つの改善を施し、大幅なパラメーター削減を実現
✔️BERTで効果がないとされていた学習タスクを改善し、より文法を捉えた学習を実現
✔️パラメーター削減による速度の向上だけでなく、性能の向上をも実現

 

現在の自然言語処理のトレンドの一つとして、ELMoやBERT、XLNetのような言語モデルベースの機構を用いた事前学習により、様々なタスクの性能効能を目指すというものがあります。弊メディアでもこのトレンドを追いかけ、BERTやその改良版であるERNIEXLNetRoBERTaについて紹介してきました。

こうした手法を用いた事前学習は、QAタスクなどのタスクで大きな性能の向上に貢献します。一方で、BERTをベースとしたモデルはパラメーターが非常に多く、学習にも莫大な時間がかかることが知られています。また、BERTは構造的に学習が難しいため、パラメーターを増やしていくことで性能が下がってしまういう問題があります。さらにBERTの学習に盛り込まれているNext Sentence Prediction(NSP)は性能の向上に寄与しないと、かねてよりその必要性について議論されてきました。

ALBERT(A Lite BERT)ではこうした問題を解決するために、パラメーターの大幅な削減とそれに伴う学習速度の向上を実現しています。これらのパラメーター削減はタスク学習の制約としても機能するため、BERTの学習が効率的になり、最終的な性能の向上も報告されています。さらにNSPに代わる新たなタスク学習を盛り込むことで、本来NSPによって学習を試みていた「文脈の一貫性の理解」のより効果的な獲得を実現しました。

BERTの抱える悩み

 莫大なパラメーター数と学習時間

一般的に性能向上が報告されているBERTは、非常に多くのパラメーターを抱えた巨大なモデルとして知られています。パラメーターが多いということは、すなわち使用するメモリ量や学習にかかる時間が多いことを意味します。例えば配布されているBERTモデルの学習には、16個のTPUを用いて4日間の学習が必要となります。後続のXLNetに至っては、516個のTPUを用いて2.5日の学習が必要とされています。

これらの学習を一般的なクラウドコンピューティングで行おうとすると、それだけで数百万円かかってしまうという試算もされています。そのため、個人や中小企業が自前のデータでBERTやXLNetを学習することは難しく、配布されている学習済みモデルを利用するしかないといった問題があります。

 モデルの構造的な難しさ

BERTの抱える二つ目の問題として、学習の難しさが挙げられます。BERTの抱える莫大なパラメーター数のために、その最適化が難しいと考えられています。

例えば配布されているBERTよりもさらに巨大なBERTを学習することでモデルの表現力が増し、様々なタスクで性能が向上すると考えられます。しかし、単純にBERTのパラメーター数を増やすだけでは、むしろ性能が下がってしまうことが著者らの実験で示されています。下表は著者らによるBERTのパラメータ数を増やした実験で、1270Mものパラメーター数を持つ「さらに大きい」BERTを作成したところで、その性能は「大きい」BERTに劣ってしまうことが示されています。

進化したALBERT

本論文では、大きく分けて二つの改善方策が示されています。一つ目はこれまでのBERTの課題となっていたパラメーター数の削減です。これにはCross-Layer Parameter SharingとFactorized Embeddingという二つのテクニックが用いられています。この内二つ目はパラメーターを削減したBERTの学習をさらに効果的にするための工夫で、Sentence Order Predictionというタスクを新たに提案しています。

この記事をシェアする