BERTの真の実力を引き出す RoBERTa

3つの要点

✔️ BERT の性能をより向上させることが可能かを様々な側面から検証
✔️ dynamic mask 導入、Next Sentence Prediction 廃止、データ量増加、などを実施
✔️その結果 XLNet などの BERT 以降に提案されたモデルと同等以上の性能を発揮

 

BERT の登場以降、自然言語処理のタスクにも pre-trained モデルを fine-tuning して利用するケースが増えています。SoTA 争いも激しく、XLNet をはじめとして様々な改良版や発展版が提案されています。

 

BERT を上回る性能だと喧伝し実際に BERT よりも高い性能を発揮しているわけですが、いくつかの新しいアイデアを導入した BERT がそもそもその性能を十分に発揮しているのかどうかはそれほど明らかではありませんでした。

オリジナルのBERTは次の二つの事前学習を行なっています

実際、MLM(穴埋めクイズ)に使用する学習データは学習前に準備してそれを使い回すようになっていたりして検討の余地が多いことが分かります。他にも、mask は単語単位で適用するのが自然と考えられますが、最初に発表された段階では mask はサブワード単位(例えば `runn, ##ing” が “[MASK]” “##ing” のようになったりします)になっていて、しばらくしてからようやく単語全体の mask が提供されたりもしています(該当の commit)。

NSP(隣接文クイズ)もその必要性に疑問を呈されていて、オリジナルの BERT の論文では有効だと言われていながらも、他の論文では性能向上に寄与していないという実験結果が示されたりしています。

このように、BERT はまだ色々な側面から十分に検証されたとは言えない状態です。
BERT は自然言語処理における一つの転換点になったとも言える重要なモデルですので、理解を深めるためにより入念に調べる価値があると考えられます。

今回紹介する論文で提案されている RoBERTa は、BERT の真の実力を明らかにするために様々な検証を実施し、その結果 BERT がそれ以降に発表されたモデルと同等以上の性能を発揮できるということを示しました。
以降では、オリジナルの BERT との違いに注目してその内容を解説していきます。

RoBERTa の内容

RoBERTa ではモデルアーキテクチャは BERT と全く同様の multi-head self-attention を採用しています。
BERT に関しては既知のものとして説明を割愛しますが、BERTを知らない方は 過去記事 でも紹介しているのでよろしければこちらをご覧ください。

検証用のデータセットに関して説明しておきます。
様々な言語理解のタスクをまとめた GLUE や質問応答のデータセットである SQuAD(v1.1.2.0) に関してはオリジナルの BERT の論文でも使用されていて有名なタスクですが、この論文で使われているもう一つのタスクである RACE は少し馴染みがないかもしれません。

これは、中国の中学校と高校における英語の試験から読解問題を集めたもので、passage に対していくつかの設問があってそれぞれを四択問題で解答する形式になっています。平均して 300 単語程度の passage で比較的長いので、長距離の依存性を把握する必要がある難易度の高いタスクになっています。

RACE で使われるデータの例。
原論文 (https://arxiv.org/abs/1704.04683) より引用。

 

以降では提案手法である RoBERTa のポイントを BERT との違いに注目しながら説明します。重要な相違点として以下が挙げられます。

・MLM の mask を static (静的) なものから dynamic (動的) なものに変更した
・NSP を使わないことにした
・データ量を増やし、ハイパーパラメタをより適切なものに変更した
・入力文字列のトークナイズを文字単位からバイト単位のものに変更した

この記事をシェアする