Masked LMとは何か?BERT以降の仕組み・改良・実装と応用ガイド

Masked Language Model(Masked LM)とは

Masked Language Model(以下MLM、マスクド言語モデル)は、入力テキストの一部のトークンを「マスク」し、そのマスクされたトークンを周囲の文脈(左右のトークン)から予測することを学習する事前学習の手法です。従来の左から右への自己回帰型言語モデル(例えばGPT系)と異なり、MLMは双方向(bidirectional)な文脈を活用できるため、語の意味理解や文脈把握に強みがあります。代表的な導入例はGoogleのBERT(2018年)です。

基本的な学習手順

典型的なMLMの学習フローは次のとおりです。

  • トークナイズ:テキストをサブワードトークン(WordPieceやBPEなど)に分割。
  • マスキング候補の選択:入力トークンのうち一定割合(BERTでは15%)を学習の対象に選ぶ。
  • マスク操作:選ばれたトークンに対して、以下のような処理をランダムに行う(BERTの設定)。
    • 80%を特殊トークン[CLS]/その他ではなく'[MASK]'に置き換え
    • 10%をランダムな語(ボキャブラリ内)に置き換え
    • 10%は元のままにする(マスクを行わない)
  • 目的関数:マスクされた位置のみでクロスエントロピー損失を計算し、正解トークンを予測するように学習。

この手法により、モデルは左右両方向の情報を同時に参照して単語を推定する力を獲得します。

BERTが導入した工夫と意義

BERT(Bidirectional Encoder Representations from Transformers)はMLMを中心に据え、Transformerのエンコーダ部を用いた最初の大規模事前学習モデルとして注目を集めました。BERTの重要な点は以下です。

  • 双方向コンテキストを統一的に学習できること(従来の双方向化はトリックが必要だった)。
  • 下流タスクでは事前学習の表現をファインチューニングするだけで高性能を発揮。
  • MLMに加えてNext Sentence Prediction(NSP)タスクを導入し、文間関係の学習を試みた(後にRoBERTa等でNSPの有用性が再評価される)。

MLMの課題とその後の改良

MLMは強力ですが、いくつか技術的課題があり、これを改善する研究が多数出ています。

1) [MASK]トークンの不整合(pretrain–finetune mismatch)

プレトレーニングでは多数の[ MASK ]トークンが入力に現れるが、ファインチューニングや実運用の下流タスクでは通常[ MASK ]は存在しない。この不一致は学習と実運用のギャップを生む可能性があります。

2) 部分的マスクの限界(単語/フレーズの切断)

サブワード分割では、重要な語彙が複数トークンに分割され、個別にマスクされると文脈の情報が分散してしまう。Whole-Word Masking(同一語をまとめてマスク)やSpan Masking(連続したフレーズをマスク)でこの問題を緩和できます。SpanBERTは連続したスパン(語句)をマスクし、スパン境界情報を予測することで性能向上を示しました。

3) サンプル効率

MLMはマスクした位置でのみ損失を計算するため、学習サンプルの情報利用効率が低いという指摘があります。ELECTRAはGenerator(小さなMLEモデル)でトークンを置換し、Discriminatorで「置換されたトークンか否か」を全トークンに対して判定する手法を提案し、同じ計算量でより高いサンプル効率を達成しました。

4) Next Sentence Prediction(NSP)の有効性

BERTで導入されたNSPは当初、文間関係学習に寄与すると考えられましたが、RoBERTa等の研究ではNSPを削除しても性能低下しないことが示され、代替の文間タスク(Sentence Order Predictionや連続性推定など)が提案されています。

代表的な派生モデルと特徴

  • RoBERTa(Facebook, 2019): データ量、バッチ、学習率を増やし、NSPを廃止、動的マスキングを採用することでBERTを上回る性能。
  • SpanBERT(2019): スパン単位のマスキングとスパン境界情報を利用する目的関数で、コア参照解析や抽出タスクに強い。
  • ELECTRA(2020): 置換トークン検出(replaced token detection)という効率的な目的で、計算効率と少量学習での性能が優れる。
  • DeBERTa(2021): Disentangled Attention(語表現を内容・位置で分離)やEnhanced Mask Decoderで表現力を向上。

MLMと自己回帰モデル(AR)の違い

主な違いは次のとおりです。

  • 条件性:MLMは左右両方向の条件付き(双方向)予測、ARは過去のみ条件。
  • 生成能力:ARはそのまま次トークンを順次生成できるためテキスト生成向き。MLMは欠損補完(infilling)は可能だが、自然な連続生成には工夫が必要。
  • 確率モデルの取り扱い:ARはシーケンス確率を直接評価可能。MLMはトークン単位での事後確率を学ぶが、シーケンス全体の尤度を直接得るのは困難(擬似尤度などの手法で回避)。

実装上のポイントとハイパーパラメータ

実務でMLMを用いる際の注意点と推奨値:

  • マスク率:BERTの15%が一般的だが、タスクや言語によって調整。span maskingを用いる場合は合計マスクトークン量に注意。
  • Whole-Word Masking:英語や形態的にまとまりが重要な言語では有効。日本語では形態素解析後に同様の処理を検討。
  • トークナイザ:サブワード分割の方式(WordPiece/BPE/SentencePiece)や語彙サイズ(例:30k〜50k)が性能と計算効率に影響。
  • 損失計算:標準MLMはマスク位置のみでクロスエントロピーを計算。ELECTRAなどは全位置での判別損失を採用。
  • 動的 vs 静的マスキング:動的マスキング(学習ステップごとにマスクを変える)はより多様なコンテキストを提供するため推奨。
  • バッチサイズと学習率:大規模モデルでは大きなバッチサイズと学習率ウォームアップ(ウォームアップ後減衰)が重要。

評価指標と下流タスクへの転移

MLMの評価にはプレトレーニング時のマスク予測精度(per-token accuracy / perplexity)を見ることがあるが、実際には下流タスク(分類、QA、抽出、コア参照、文生成など)でのファインチューニング性能が重要です。また、GLUEやSuperGLUEといったベンチマークが一般的に用いられます。特定領域(医療・法律等)ではドメインコーパスでの追加事前学習(continued pretraining / domain-adaptive pretraining)が効果的です。

応用例

  • 自然言語理解(文分類、感情分析、意図推定)
  • 質問応答(extractive QAでは強力)
  • 固有表現抽出やコア参照解析(SpanBERTなどの改良が有効)
  • テキスト補完・穴埋め(文の一部を埋めるタスク)
  • 検索・ランキング(文書埋め込みやクロスエンコーディングで利用)

実務上の注意(データ・倫理・法務)

大規模コーパスで事前学習されたMLMは、学習データのバイアスや機密情報の漏洩リスクを内包します。モデル出力に差別的・不正確な表現が出る可能性があるため、データガバナンス、フィルタリング、出力検査、説明可能性の確保などが必要です。個人情報や機密データの利用時は法令・社内ルールに従ってください。

今後の展望

MLMは依然としてNLPで中心的な役割を担っており、今後も以下の方向で発展が続くと考えられます。

  • よりサンプル効率のよい目的関数(ELECTRA系の発展)
  • スパン・構造を意識したマスク手法と目的関数(構文や意味単位での学習)
  • 多言語・クロスリンガル学習の改良(言語間転移の最適化)
  • 事前学習・ファインチューニングのより良い統合(少数ショットや継続学習への適用)

まとめ

Masked Language ModelはBERTにより広く知られるようになった双方向事前学習の中心的手法です。文脈理解に優れ、下流タスクへ転移しやすい一方で、[MASK]トークンの不整合やサンプル効率の問題といった課題も存在します。近年はSpanBERT、RoBERTa、ELECTRA、DeBERTaといった改良が提案され、用途や計算予算に応じた選択肢が増えています。導入時はマスク戦略やトークナイザ、ドメイン適応、倫理面での配慮をバランスよく設計することが重要です。

参考文献