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 兆トークンでトレーニングされ、古いエンコーダーで一般的な繰り返しデータへの依存を減らしています。
トレーニングフェーズ
- Initial Phase: 1,024 トークンのシーケンス長で 1.7 兆トークンでトレーニング。
- Long-Context Adaptation: 8,192 トークンのシーケンス長で 250 億トークンでトレーニング。
- Annealing: ProLong ベースのサンプリングミックスを使用した 50 億トークンの最終フェーズ。
トレーニング最適化
- Masking Rate: マスキング率を 15% から 30% に増加。
- Objective: オーバーヘッドを削減するため、Next-Sentence Prediction (NSP) 目的を削除。
- Batch-Size Warmup: 初期学習を加速するため、バッチサイズを段階的に増加。
- Weight Tiling: ModernBERT-Large はランダム初期化ではなく、ModernBERT-Base の重みをタイリングして初期化され、トレーニング速度とパフォーマンスが向上しました。