ModernBERT リリースノート

ModernBERT は、BERT 類似モデルのスロットイン置換として設計されたエンコーダー専用モデルの新しいファミリです。速度と精度の両面で以前のエンコーダーに対するパレト改善を提供し、8,192 トークンのシーケンス長を特徴とし、トレーニングデータに大量のコードを組み込んでいます。

モデルバリアントと可用性

ModernBERT は次のの 2 つのサイズで利用可能です:

  • Base: 149百万パラメータ
  • Large: 395百万パラメータ

これらのモデルは transformers v4.48.0 に統合されています。最大の効率を得るため、開発者は Flash Attention 2 とともに ModernBERT の使用を推奨しています。以前の BERT モデルとは異なり、ModernBERT はトークンタイプ ID を使用しません。

パフォーマンスと効率

ModernBERT は、検索、自然言語理解、コード検索タスクにおいて、以前のエンコーダーモデルを上回る性能を示します。

主なベンチマーク

  • Accuracy: ModernBERT は、DeBERTaV3 のメモリの5分の1未満を使用しながら GLUE で DeBERTaV3 を上回る最初のベースサイズモデルです。
  • Speed: 混合長入力において、DeBERTa より最大 4 倍高速であり、長コンテキスト推論において NomicBERT や GTE-en-MLM といった高品質モデルよりほぼ 3 倍高速です。
  • Context Length: 8,192 トークンのコンテキストウィンドウにより、ModernBERT の容量はほとんどの既存エンコーダーより 16 倍以上大きく、RAG パイプラインや長コンテキスト検索のパフォーマンスを大幅に向上します。
  • Code Retrieval: ModernBERT は、大規模コードデータでトレーニングされた最初のエンコーダーモデルであり、StackOverflow-QA (SQA) データセットで 80 を超えるスコアを達成しています。

ハードウェア効率

NVIDIA RTX 4090 GPU でテストしたところ、ModernBERT は可変長入力に対して優れた効率を示します。重い xformers 依存を回避し、Flash Attention のみを必要とします。その設計によりバッチサイズを大きく取ることができ、より小型で安価な GPU への導入や、ブラウザーおよびスマートフォンへの直接デプロイが可能になります。

テクニカルアーキテクチャ

ModernBERT は、最近の Large Language Model (LLM) の研究から得られた進歩を取り入れ、特に Transformer++ からインスピレーションを得て、クラシックな Transformer アーキテクチャをアップデートします。

アーキテクチャの改善

  • Rotary Positional Embeddings (RoPE): 古い位置エンコーディングを置き換え、単語の相対理解を向上させ、より長いシーケンスへのスケーリングを可能にします。
  • GeGLU Layers: 標準の MLP レイヤーを置き換え、元の GeLU 活性化関数を改善します。
  • Symmetry and Stability: アーキテクチャは不要なバイアス項を削除し、埋め込み後の追加の正規化レイヤーを加えてトレーニングを安定化します。

効率メカニズム

  • Alternating Attention: 計算複雑度を削減するため、ModernBERT は 3 層ごとにのみグローバルアテンション(フル入力に注意を向ける)を使用し、他の層では 128 トークンのスライドウィンドウを用いたローカルアテンションを使用します。
  • Unpadding and Sequence Packing: ModernBERT はパディングトークンを削除し、シーケンスをミニバッチに連結して無駄な演算を排除します。この実装は Flash Attention の RoPE サポートを活用し、以前のアンパディング手法より 10-20% の速度向上を実現します。
  • Hardware-Aware Design: モデルの次元はグリッドサーチにより最適化され、一般的な推論 GPU(RTX 3090/4090、A10、T4、L4)に合わせつつ、BERT 互換の埋め込みサイズ(ベースは 768、ラージは 1024)を維持しています。

トレーニングプロセス

ModernBERT は、ウェブドキュメント、科学論文、コードなど多様な英語ソースから 2 兆トークンでトレーニングされ、古いエンコーダーで一般的な繰り返しデータへの依存を減らしています。

トレーニングフェーズ

  1. Initial Phase: 1,024 トークンのシーケンス長で 1.7 兆トークンでトレーニング。
  2. Long-Context Adaptation: 8,192 トークンのシーケンス長で 250 億トークンでトレーニング。
  3. Annealing: ProLong ベースのサンプリングミックスを使用した 50 億トークンの最終フェーズ。

トレーニング最適化

  • Masking Rate: マスキング率を 15% から 30% に増加。
  • Objective: オーバーヘッドを削減するため、Next-Sentence Prediction (NSP) 目的を削除。
  • Batch-Size Warmup: 初期学習を加速するため、バッチサイズを段階的に増加。
  • Weight Tiling: ModernBERT-Large はランダム初期化ではなく、ModernBERT-Base の重みをタイリングして初期化され、トレーニング速度とパフォーマンスが向上しました。

Sources