Featured image of post BERT・RoBERTa・DeBERTa・ModernBERTの違い

BERT・RoBERTa・DeBERTa・ModernBERTの違い

目次

背景

  • G2Pライブラリを作る時に調査した先行文献などのメモを調べる中で、BERT・RoBERTa・DeBERTa・ModernBERTといった名前が次々に出てきて混乱した
  • この記事では、BERT系モデルの主要な系譜を、それぞれ何を改良したのかという軸で整理する
  • 補足: GATv2(Brody, Alon, Yahav, 2022, ICLR)は名前が似ているが、BERT系の言語モデルではなく、グラフニューラルネットワーク(GNN)の分野の技術(Graph Attention Networkの改良版)で、系統が異なる

BERT系モデルの系譜

BERT: 土台となったモデル

  • Devlin, Chang, Lee, Toutanova (2018) “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”
  • 2つの事前学習タスクを使う
    • Masked Language Model(MLM): 入力の15%のトークンをマスクし、周囲の文脈から元のトークンを予測する
    • Next Sentence Prediction(NSP): 2つの文が連続しているかどうかを判定する
  • 双方向(Bidirectional)Transformerを採用し、各トークンが前後両方向の文脈を同時に見られるのが特徴。GPTのような左から右への一方向のモデルと対照的
  • WordPieceというサブワード分割のトークナイザーを使用

RoBERTa: BERTの学習方法を洗練

  • Liu et al. (2019) “RoBERTa: A Robustly Optimized BERT Pretraining Approach”
  • アーキテクチャ自体はBERTと同じで、学習方法を見直した改良版という位置づけ
  • NSPタスクを除去(効果がないと判明したため)
  • 静的マスキング(BERTは学習データ全体に対して事前に1回だけマスクパターンを決める)から、動的マスキング(エポックごとにマスクパターンを変える)に変更
  • より大きいバッチサイズ、より多くの学習データ、より長い学習時間を使用し、BERTは訓練不足だったと指摘している

DeBERTa: 注意機構を改良

  • He, Liu, Gao, Chen (2020) “DeBERTa: Decoding-enhanced BERT with Disentangled Attention”
  • Disentangled Attention(分離型注意機構): 各単語を「内容(content)」と「位置(position)」という2つの別々のベクトルで表現し、注意重みの計算に、内容同士・内容と位置・位置と内容という分離した行列を使う
  • Enhanced Mask Decoder(EMD): デコード層に絶対位置情報を組み込むことで、相対位置情報だけを使うDisentangled Attentionを補う
  • G2Pライブラリを作る時に調査した先行文献などのメモで扱ったHu, Zhan & Lin (2026)の論文も、CRFの素性計算にDeBERTa-baseを使っているとされる
  • 後継のDeBERTaV3(He, Gao, Chen, 2021年初版・2023年ICLR採択)では、事前学習タスクをMLMから、ELECTRA方式のRTD(Replaced Token Detection、置換トークン検出)に変更。さらに、生成器と識別器の埋め込みが学習時に逆方向に引き合ってしまう「tug-of-war現象」を避けるGradient-Disentangled Embedding Sharingという手法を導入し、GLUEベンチマークでV2より1.37pt改善している

ModernBERT: BERTの現代化

  • Warner et al. (2024) “Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference”
  • 2兆トークンという大規模データで学習し、文脈長もBERTの512トークンから8192トークンまで大幅に拡張
  • RoPE(Rotary Positional Embeddings)・GeGLU活性化関数・Flash Attentionなど、2024年時点の技術を取り入れて、BERTのアーキテクチャ全体を現代化したモデル
  • 日本語版として、SB Intuitionsのmodernbert-jaが公開されている

横断的な違い

トークナイザーの違い

  • アーキテクチャの改良とは別に、トークナイザー(文章をトークンに分割する方法)もモデルごとに異なる
モデルトークナイザー
BERTWordPiece
RoBERTaByte-level BPE(Byte Pair Encoding)
DeBERTaRoBERTaと同系統のBPE
ModernBERT修正版のBPE(語彙サイズを拡張し、コードのトークンも含む)
  • 日本語のように単語の区切りが明確でない言語では、文字単位のトークナイザーが使われることも多い
  • 例えば、京都大学が公開しているku-nlp/deberta-v2-large-japanese-char-wwmは、SentencePieceで文字単位のトークンに分割する。その上で、Whole Word Masking(単語全体をまとめてマスクする学習手法)を適用するために、Juman++で単語境界を先に特定しておくという、文字単位のトークン化と単語単位のマスキング戦略を組み合わせたハイブリッドな設計になっている

モデルサイズのバリエーション

  • どのモデルも、複数のサイズで公開されていることが多い
  • 例えばBERTは、12層・1.1億パラメータのBERT-baseと、24層・3.4億パラメータのBERT-largeが公開されている
  • RoBERTa・ModernBERTも同様に、base・largeそれぞれのサイズで公開されており、タスクの難易度や計算資源に応じて選べる
  • DeBERTaV3は、base・large以外に、より細かいサイズ展開がある
サイズバックボーンパラメータ数
xsmall22M
small44M
base86M
large304M
  • 日本語版(ku-nlp、DeBERTaV2ベース)では、large(deberta-v2-large-japanese-char-wwm)に加えて、約1,010万パラメータ・語彙サイズ22,012トークンのdeberta-v2-tiny-japanese-char-wwmという、公式のDeBERTaV3には無い「tiny」サイズも公開されている

4つのモデルの比較

モデル発表年主な変更点
BERT2018MLM+NSP、双方向Transformerの提案そのもの
RoBERTa2019NSP除去、動的マスキング、学習レシピの改善(アーキテクチャはBERTと同じ)
DeBERTa2020Disentangled Attention、Enhanced Mask Decoder(注意機構そのものの改良)
ModernBERT2024RoPE・GeGLU・Flash Attention・長い文脈長など、2024年時点の技術でアーキテクチャ全体を現代化
  • RoBERTaは「学習方法」の改善、DeBERTaは「注意機構」の改良、ModernBERTは「アーキテクチャ全体の現代化」という、それぞれ違う軸の改善になっている
  • どのモデルも、Transformer Encoderによる双方向の文脈理解と、マスクされたトークンを予測する事前学習という、BERTが確立した基本思想は継承している

まとめ

  • BERT・RoBERTa・DeBERTa・ModernBERTは、いずれもTransformer Encoderをベースにした双方向言語モデルという同じ系譜に属する
  • RoBERTaはBERTと同じアーキテクチャで学習方法だけを改良し、DeBERTaは注意機構そのものを改良し、ModernBERTは2024年時点の技術でアーキテクチャ全体を現代化した、という違う軸の改善
  • トークナイザーもモデルごとに異なり(WordPiece、Byte-level BPEなど)、日本語のような言語では文字単位のトークナイザーと単語単位のマスキングを組み合わせる設計も使われる
  • どのモデルもbase・largeなど複数サイズで公開されている
  • GATv2のような、名前が似ているだけで全く異なる分野(グラフニューラルネットワーク)の技術と混同しないよう注意が必要

参考文献

Built with Hugo
テーマ Stack は Jimmy によって設計されています。