AI / Technology
BERT深い双方向Transformerの事前学習による言語理解
一方向・別々の双方向・BERTの深い双方向を比べる模式図
図1 — 従来法との違いを教えるための新規模式図。ELMo型は左右を別々に学習して最後に結合し、当時のGPT型は左文脈のみを使う。BERTは各層で左右を共同利用する。根拠: 論文 §1、Appendix A.4 / Fig.3。
従来の生成型言語モデルは、ある語を表すときに左側しか見られない。ところが質問応答や固有表現抽出では、後ろにある語が前の語の意味を決めることが多い。たとえば「bank」が銀行か川岸かは、後続語が手掛かりになる。論文は、左から右だけの制約が、特に語単位の予測で不利になると指摘した。[論文 §1, pp.1–2]
MLMとNSPという二つの事前学習課題
図2 — MLMとNSPが共有エンコーダを育てる関係。実際の学習損失はMLM尤度とNSP尤度の平均の和。根拠: 論文 §3.1、Appendix A.2。
Next Sentence Prediction(NSP)では、文Aに対して文Bが実際の続きである例を50%、コーパスからランダムに選んだ例を50%与え、二値分類する。狙いは質問応答や自然言語推論に必要な「二つの文章の関係」を事前に学ぶことだった。[論文 §3.1, pp.4–5]
ラベルなし文章の事前学習から複数タスクへの転用
図3 — 同じ事前学習済みBERTから、用途ごとに小さな出力を分岐させる。タスクごとに別の微調整済みモデルは作るが、初期値は同じ本体である。根拠: 論文 Fig.1、§3.2、Appendix A.5。
入力はトークン・文区分・位置の3種類の埋め込みの和で表す。先頭の[CLS]は分類、[SEP]は文の区切りに使う。事前学習後は、分類なら[CLS]、質問応答や系列タグ付けなら各トークンの表現に小さな出力層をつなぎ、本体を含む全パラメータをタスクごとに微調整する。[論文 §3, Fig.1–2, pp.3–5]
研究付録
原題: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
著者: Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova
一次資料: arXiv:1810.04805(v2, 2019-05-24) / PDF
ひとことで: 単語を隠して当てる学習に変えることで、各層が左と右の文脈を同時に使える共通の言語モデルを作り、少量の追加構造で多くの理解タスクへ転用した研究。
要点
3つの持ち帰り
- 読む向きを一方向に固定しない。 BERTは入力の一部を隠し、左右に残った語から復元する。この工夫で、深いTransformerの全層が両側の文脈を共同で使えるようになった。[論文 §1, §3.1, pp.1, 4]
- 大きな事前学習を、軽いタスク適応につなぐ。 ラベルなし文章で同じ本体を育て、分類・文間関係・固有表現抽出・質問応答では主に出力層を足して全体を微調整する。[論文 Fig.1, §3.2, pp.3–5]
- 強い結果は広いが、安価ではない。 11の自然言語処理タスクで当時の最高水準を更新した一方、BERTLARGEは3.4億パラメータで、事前学習に64 TPUチップを4日使った。[論文 Abstract, §3, Appendix A.2, pp.1, 3, 13]
この論文の核心は「モデルをもっと複雑なタスク専用品にする」ことではなく、先に汎用的な読み方を学び、後から用途に合わせる という役割分担にある。
問題
一方向だけでは、語の意味を決めにくい
従来の生成型言語モデルは、ある語を表すときに左側しか見られない。ところが質問応答や固有表現抽出では、後ろにある語が前の語の意味を決めることが多い。たとえば「bank」が銀行か川岸かは、後続語が手掛かりになる。論文は、左から右だけの制約が、特に語単位の予測で不利になると指摘した。[論文 §1, pp.1–2]
既存の二つの転用法
当時の代表的な流れは二つあった。ELMoのように事前学習表現を「特徴」として専用モデルへ渡す方法と、GPTのように事前学習済み本体を下流タスクで微調整する方法である。BERTは後者を採りつつ、深い双方向化によって、文全体の分類だけでなく語単位の出力にも同じ本体を使いやすくした。[論文 §1–2, pp.1–3]
方法
隠した語を左右から当てる
Masked Language Model(MLM)では、WordPieceトークンの15%を予測対象に選ぶ。そのうち80%を[MASK]へ、10%をランダム語へ置き換え、残り10%はそのままにする。正解語そのものを入力から消すため、モデルは左右の文脈を使わないと当てられない。全入力を再構成するのではなく、選ばれた位置だけを予測する。[論文 §3.1, p.4]
文の続きかどうかも学ぶ
Next Sentence Prediction(NSP)では、文Aに対して文Bが実際の続きである例を50%、コーパスからランダムに選んだ例を50%与え、二値分類する。狙いは質問応答や自然言語推論に必要な「二つの文章の関係」を事前に学ぶことだった。[論文 §3.1, pp.4–5]
一つの本体を微調整する
入力はトークン・文区分・位置の3種類の埋め込みの和で表す。先頭の[CLS]は分類、[SEP]は文の区切りに使う。事前学習後は、分類なら[CLS]、質問応答や系列タグ付けなら各トークンの表現に小さな出力層をつなぎ、本体を含む全パラメータをタスクごとに微調整する。[論文 §3, Fig.1–2, pp.3–5]
証拠と限界
当時の11タスクで広く改善
論文報告では、BERTLARGEの公式GLUEスコアは80.5で、比較対象のOpenAI GPTは72.8だった。MultiNLIは86.7%(従来比+4.6ポイント)、SQuAD v1.1 Test F1は93.2、SQuAD v2.0 Test F1は83.1(従来比+5.1ポイント)である。ただしSQuAD v1.1の93.2は、7モデルのアンサンブルにTriviaQAを追加した設定であり、単一モデルの数字ではない。[論文 Abstract, Table 1–3, pp.1, 6–7]
| 評価 | BERTの報告値 | 読むときの注意 |
|---|---|---|
| GLUE 公式スコア | 80.5 | 論文執筆時点。GPTは72.8 |
| MultiNLI accuracy | 86.7% | 絶対値で+4.6ポイント |
| SQuAD v1.1 Test F1 | 93.2 | 7モデルのアンサンブル + TriviaQA |
| SQuAD v2.0 Test F1 | 83.1 | BERTLARGE単体、従来比+5.1ポイント |
切り分け実験が支える点
同じデータ・微調整条件で比べたアブレーションでは、左文脈のみのモデルはMLMの双方向モデルより全対象タスクで悪化し、特にMRPCとSQuADで差が大きかった。NSPを外すとQNLI、MNLI、SQuAD 1.1が低下した。これは「双方向の事前学習が効いた」という因果説明を補強する。ただし著者自身が記すように、GPTとの本比較にはコーパス量、バッチ量、特殊トークンの導入時期、学習率選択の違いも残る。[論文 §5.1, Appendix A.4, pp.8, 14]
コストと未確定事項
BERTBASEは1.1億、BERTLARGEは3.4億パラメータ。BooksCorpus 8億語と英語Wikipedia 25億語を使い、100万ステップ学習した。各事前学習は4日で、LARGEは64 TPUチップを使用した。また自己注意の計算量は系列長の二乗で増えるため、学習ステップの90%を長さ128、残り10%だけを512にしている。[論文 §3, Appendix A.2, pp.3, 5, 13]
論文が直接確立していないこともある。評価は英語中心のベンチマークであり、現実環境での公平性、事実性、頑健性、運用コストは検証していない。MLMは全トークンの15%しか予測しないため一方向モデルより収束がやや遅く、[MASK]が微調整時に現れない不一致もある。さらに小規模データではBERTLARGEの微調整が不安定で、複数回の再実行から開発セット最良を選んでいる。[論文 §3.1, §4.1, Appendix A.1, pp.4, 6, 12–13]
実務的な意味
専用モデル設計から共通基盤へ
実務への示唆は、タスクごとに言語理解部分を作り直す代わりに、共通の事前学習済みエンコーダを土台にできることだ。ラベルが少ない分類・抽出・質問応答でも、入力と出力を合わせて微調整する設計が現実的になった。これは論文結果からの解釈 であり、どの業務でも性能や費用が改善するという保証ではない。
導入前に確かめること
自分の言語・文章長・専門領域で再評価し、単一モデルの基準値と比べる。精度だけでなく、推論時間、メモリ、再学習回数も測る。小規模データでは複数シードを試し、開発セットへの過適合を避けるため最終テスト条件を先に固定する。BERTは生成器というより文章理解用のエンコーダなので、生成が主目的なら設計上の適合性を別に検討する。
読後の確認質問
- MLMはなぜ、正解語をそのまま見せずに左右の文脈を同時利用できるのか。
- 93.2というSQuAD v1.1の値は、どの追加データとアンサンブル条件で得られたか。
- 自分の用途では、事前学習コストを負担するのか、公開済みモデルを微調整するのか。
この論文についての3つの重要な質問
BERT:深い双方向Transformerの事前学習による言語理解はどの課題を扱いますか?
この論文の核心は「モデルをもっと複雑なタスク専用品にする」ことではなく、先に汎用的な読み方を学び、後から用途に合わせる という役割分担にある。
BERT:深い双方向Transformerの事前学習による言語理解の中心的な主張を支える根拠は何ですか?
論文報告では、BERTLARGEの公式GLUEスコアは80.5で、比較対象のOpenAI GPTは72.8だった。MultiNLIは86.7%(従来比+4.6ポイント)、SQuAD v1.1 Test F1は93.2、SQuAD v2.0 Test F1は83.1(従来比+5.1ポイント)である。ただしSQuAD v1.1の93.2は、7モデルのアンサンブルにTriviaQAを追加した設定であり、単一モデルの数字ではない。[論文 Abstract, Table 1–3, pp.1, 6–7]
BERT:深い双方向Transformerの事前学習による言語理解を読むときに注意すべき限界は何ですか?
論文報告では、BERTLARGEの公式GLUEスコアは80.5で、比較対象のOpenAI GPTは72.8だった。MultiNLIは86.7%(従来比+4.6ポイント)、SQuAD v1.1 Test F1は93.2、SQuAD v2.0 Test F1は83.1(従来比+5.1ポイント)である。ただしSQuAD v1.1の93.2は、7モデルのアンサンブルにTriviaQAを追加した設定であり、単一モデルの数字ではない。[論文 Abstract, Table 1–3, pp.1, 6–7]