ニュース
モデル
製品
keyboard_arrow_down
読者
URL を読み取ったり検索したりすると、大規模なモデルのサポートが向上します。
ベクトルモデル
世界クラスのマルチモーダル、多言語埋め込み。
並べ替え者
検索の関連性を最大化する世界クラスのニューラルレトリーバー。
ディープサーチ
最善の答えが見つかるまで、検索し、読み、推論してください。
もっと
keyboard_arrow_down
分類子
画像とテキストのゼロショットおよび少数ショットの分類。
スライサー
長いテキストをチャンクまたはトークンに分割します。

APIドキュメント
AIプログラミングアシスタントIDEまたは大規模モデル用のコードを自動生成
open_in_new


会社
keyboard_arrow_down
私たちについて
営業担当者に問い合わせる
インターンプログラム
参加しませんか
open_in_new
ロゴをダウンロード
open_in_new
利用規約


ログイン
login
ModernBERT のパラメータ効率
ModernBERT のコードモデリング
ModernBERT の長文コンテキスト処理
苦い教訓?
結論
技術記事
1月 22, 2025

ModernBERT から何を学ぶべきか?

より大規模なトレーニングデータ、効率的なパラメータサイジング、そして深くて薄いアーキテクチャを特徴とする ModernBERT は、今後の BERT 系モデルの方向性を示しています。
Nan Wang
Alex C-G
Nan Wang, Alex C-G • 10 読む時間

2018 年、Google が BERT を公開し、現在の LLM ブーム以前から NLP のゲームチェンジャーとなりました。現在でも、多くの Small Language Model が BERT をベースに構築されています。2024 年 12 月、ModernBERT は最近の LLM 開発から得られた知見をこれらの小規模モデルに適用しました。主なポイントは?パラメータ効率の向上、コード理解能力の向上、長文脈処理の改善です。

この投稿では、私たちがよく知る 2 つのモデル:jina-XLM-RoBERTa(jina-embeddings-v3 の多言語バックボーン)と RoBERTa-large と比較して ModernBERT を分析します。各モデルを見てみましょう:

  • ModernBERT(2024 年 12 月)は、Answer.AI、LightOn、HuggingFace が共同開発した最新の SLM です。8,192 トークンのコンテキストウィンドウのための RoPE や GeGLU レイヤーなどの最新の最適化を活用し、効率性を維持しながらパフォーマンスを向上させています。
  • jina-XLM-RoBERTa(2024 年 9 月)は、Meta の XLM-RoBERTa をベースにした多言語テキスト埋め込みモデルです。オリジナルの XLM-RoBERTa が XLM 大規模多言語データセットを使用して RoBERTa を強化したのに対し、jina-XLM-RoBERTa は拡張コンテキストトレーニング、RoPE の実装、FlashAttention-2 のサポートでさらに進化させています。このモデルは jina-embeddings-v3 のバックボーンとして機能しています。
  • RoBERTa-large(2019 年 7 月)は Meta が開発した、3 億 5,500 万パラメータを持つ BERT の改良版です。拡張トレーニング、より大規模なデータセット、ダイナミックマスキングなどの革新により、GLUE、SQuAD、RACE などの主要ベンチマークで印象的な結果を達成しています。これにより、テキスト分類から質問応答まで、様々な NLP タスクに適しています。

これらのモデルを 3 つの核心的な側面から比較することで、モデル開発者向けに ModernBERT の効果的な設計選択を強調し、将来の BERT 系モデルの開発に向けた重要な洞察を特定することを目指します。また、jina-embeddings-v3 の開発から得た学びと、jina-embeddings-v4 および jina-reranker-v3 に向けた改善計画についても共有します。

tagModernBERT のパラメータ効率

まず、ModernBERT のパラメータ効率へのアプローチを検討しましょう - 最近の LLM 開発からいくつかの重要な洞察を取り入れています。ModernBERT は 3 つの主要な戦略を活用しています:より深くより薄いアーキテクチャ、制御された語彙サイズ、小規模モデルからの段階的なモデルのアップスケーリングです。

tag深くて薄いアーキテクチャ

ModernBERT-large は 28 層と深くなっていますが、jina-XLM-RoBERTa と RoBERTa-large は 24 層です。興味深いのは、追加の層があるにもかかわらず RoBERTa-large とパラメータ数が同じということです。jina-XLM-RoBERTa は 89 言語を扱うため、より多くのパラメータが必要ですが、他の 2 つは英語のみに焦点を当てています。

小規模 LLM では、幅(隠れユニット数)よりも深さ(レイヤー数)が重要です。深くて薄いモデル構造は抽象的な概念の捕捉に優れ、より優れた最終パフォーマンスをもたらします。

トランスフォーマーのパラメータの大部分は、アテンション層と全結合層から来ています。ModernBERT は 28 層にわたって 2,624 の隠れユニットを使用し、RoBERTa-large の 24 層にわたる 4,096 ユニットと比較して「より薄く」することで、サイズ面で競争力を維持しています。この「より深く」て薄い設定により、モデルを肥大化させることなくパフォーマンス目標を達成しています。

ModernBERT-large jina-XLM-RoBERTa RoBERTa-large
パラメータ数 400M 550M 355M
隠れ状態 1,024 1,024 1,024
中間次元 2,624 4,096 4,096
アテンションヘッド 16 16 16
レイヤー数 28 24 24
語彙サイズ 50,368 250,002 50,265

このアプローチは、Meta の MobileLLM 研究と一致しており、小規模モデルでは複雑なパターンの捕捉とパフォーマンスの向上において、幅よりも深さが重要であることが分かっています。本質的に、並列処理のために広いレイヤーを持つよりも、より多くのトランスフォーマーレイヤーを通じて情報を処理する能力の方が価値があることが証明されています。

この深くて薄いアーキテクチャがどのように機能するか、データを見てみましょう。

従来の浅くて太いアーキテクチャを使用する同等のモデルと比較すると、ModernBERT は検索や STS などの主要タスクでより良い結果を出しています - しかもパラメータ数は同程度を保っています。
ModernBERT-large jina-XLM-RoBERTa RoBERTa-large
STS12 72.6 72.7 68.9
STS13 84.9 83.9 81.0
STS14 77.5 77.7 74.8
STS15 84.8 85.8 84.1
STS16 79.4 79.6 78.6
STS17 87.5 87.2 87.2
TRECCOVID 61.1 59.6 49.3
FiQA 44.4 40.0 40.7
NFCorpus 32.6 30.6 27.9
SciFact 68.6 65.5 63.1
平均 69.3 68.2 65.6

jina-XLM-RoBERTa を例に取ると、RoBERTa-large の浅くて太いアーキテクチャをベースに、語彙を 50K から 250K トークンに増やし、より多くのデータで訓練していますが、それでも ModernBERT の方が優れています。これは、アーキテクチャの変更が効率性に大きな違いをもたらしていることを示唆しています。

tag語彙サイズの重要性

まず、トランスフォーマーでの語彙パラメータの計算方法を見てみましょう。トランスフォーマーでは、語彙パラメータ = 個別トークン数 × 隠れ次元数 となります。jina-XLM-RoBERTa の例では:25 万トークンと 1,024 次元で、実際の言語タスクを処理する前に、語彙エンコーディングだけで 2 億 5,600 万パラメータが必要になります!

Transformerでは、最初の層がトークンを重み行列(語彙重み)を使って隠れ状態にマッピングします。すべての UTF-8 コードポイント(1,112,064)を 1,024 の隠れ次元で使用することを考えると、トークン変換だけで巨大な 1,112,064 × 1,024 = 1 B のパラメータが必要になります。より大きな LLM(100B 以上のパラメータ)ではこのオーバーヘッドを処理できますが、小規模なモデルでは深刻な制約となります。これがまさに、BPE のようなトークナイザーを使用する理由です。これは一般的な UTF-8 コードポイントを 1 つのトークンに効率的に統合します。

ただし、次のことに注目してください:語彙の重みはアテンションメカニズムに寄与しません - 単なる参照テーブルです。固定パラメータ予算で動作する SLM の場合、語彙が大きいということは、実際の言語処理を行うアテンション層に使用できるパラメータが少なくなることを意味します。これは、より小規模な英語のみの ModernBERT-large が多言語対応の jina-XLM-RoBERTa よりも優れたパフォーマンスを示す理由を説明しています - jina-XLM-RoBERTa は複数の言語をサポートするためにより多くのパラメータ(47%!)を割り当てています。ModernBERT の焦点を絞った語彙は、パフォーマンスを向上させるだけでなく、推論も高速化し、リソースに制約のあるアプリケーションで特に効果的です。

そこで、コアモデルのパラメータのみ(語彙の重みを除く)を見てみると、ModernBERT は実際にその同等モデルよりも多くの計算能力を持っています:ModernBERT は jina-XLM-RoBERTa よりも 19% 多く、RoBERTa-large よりも 15% 多くのパラメータを実際の言語モデリングに割り当てています!

モデル仕様 ModernBERT-large jina-XLM-RoBERTa RoBERTa-large
言語サポート 英語のみ 89 言語 英語のみ
語彙サイズ 50.4K 250K 50.3K
総パラメータ数 400M 550M 355M
語彙パラメータ 51M 256M 51M
語彙パラメータ比率 13% 47% 14%
コアモデルパラメータ 349M 294M 304M

tag「ウェイトタイリング」によるモデルのアップスケーリング

jina-BERT-v2 バックボーンの構築において、ゼロからの SLM のトレーニングはリソースを大量に消費し、複雑でした。ModernBERT はこれをウェイトタイリングと呼ばれるスマートな初期化アプローチで解決しています - 基本的に ModernBERT-large を小規模なベースバージョンの重みからブートストラップします。

この手法は完全に新しいものではありません - DeepMind の Gopher の研究を基に構築され、Microsoft の Phi-2 モデルでも見られます。しかし、ここでの適用は SLM トレーニングのボトルネックに対処する上で特に効果的です。

ModernBERT は Gopher チームの深さ初期化戦略を使用して、22 層から 28 層にスケールアップします。追加の層(23-28)については、ModernBERT-base の元の 22 層からの重みを使用して各層を初期化します。各層の重み行列については、Phi-2 のセンタータイリングアプローチを使用します。その仕組みは次の通りです:ModernBERT-base の重みを ModernBERT-large の行列の中央に配置します。まだ空いているエッジについては?元の重みを循環的に巻き付けて埋めます。

この初期化戦略により、ModernBERT-large は大きな利点を得ています - ゼロから始めるのではなく、より小規模な対応モデルからの事前学習されたパターンを活用します。これはこのサイズ範囲の言語モデルのスケールアップに特に効果的であることが証明されています。

ウォームスタートしたモデルは、(追加されたパラメータによる)高い初期損失から、ベースモデルの損失に非常に近い値まで急速に回復することがわかりました。417M のパラメータを 3 倍以上に拡大し、ゼロから収束まで訓練された同等のモデルよりも高いパフォーマンスを維持できました。これは、利点がトレーニングの開始時に限定されていなかったことを意味します。ただし、より大きなサイズでは、収束時に得られる相対的な利点は減少し、特に幅の拡大では顕著です。

循環的な重みの巻き付けは単なる便宜的なものではありません - アテンション行列が自然に周期的なパターンを示す方法とうまく一致します。Gopher の研究では、このアプローチは SLM(9B パラメータ未満)で特に効果を発揮しますが、より大規模なモデルの領域に移行すると、その利点は徐々に減少し始めることが示されています。

tagModernBERT のコードモデリング

ModernBERT は、コード最適化されたトークナイザーとトレーニングデータを使用して、コード理解に特化したアプローチを提供します。このコード処理のための微調整は、理解とリトリーバルのタスクの両方で成果を上げています。

私たちは jina-embeddings-v2-code コーパスを使用してベンチマークを実行し、3 つのモデルをバックボーンとして比較しました:ModernBERT、jina-XLM-RoBERTa、RoBERTa-large。テストは CodeSearchNet - テキスト説明をコードスニペットにマッチングさせるものでした。ModernBERT は全面的に両方の代替モデルを上回りました。

この差は理にかなっています - jina-XLM-RoBERTa も RoBERTa-large もトレーニング中にプログラミング言語を見ていません。一方、ModernBERT-large は 2 兆のトークンでトレーニングされ、その中には相当量のコードが含まれていました。このプログラミング構文とパターンへの露出が、コード関連タスクで明確な優位性を与えています。jina-XLM-RoBERTa が RoBERTa-large をわずかに上回っているのは、より大きな多言語トレーニングデータによるものと思われます - 同じアーキテクチャでより多くの露出があったためです。それでも、両者は ModernBERT-large に大きく後れを取っています。
タスク ModernBERT-large jina-XLM-RoBERTa RoBERTa-large
AdvRetrieval 0.342 0.363 0.331
QueryRetrieval.python 0.521 0.530 0.525
QueryRetrieval java 0.679 0.633 0.644
QueryRetrieval.javascript 0.755 0.768 0.732
QueryRetrieval.php 0.815 0.781 0.755
QueryRetrieval.ruby 0.729 0.744 0.722
QueryRetrieval.go 0.833 0.809 0.796
Retrieval.go 0.778 0.750 0.759
Retrieval.java 0.840 0.792 0.796
Retrieval.javascript 0.817 0.792 0.757
Retrieval.php 0.852 0.805 0.796
Retrieval.python 0.849 0.816 0.787
Retrieval.ruby 0.849 0.796 0.803
Avg. 0.743 0.721 0.708

tagトークナイザーの優位性

ModernBERT がコードを上手く扱える理由を詳しく見ていきましょう - これはOLMo トークナイザーを使用しているためで、標準の BERT/RoBERTa トークナイザーとは異なり、特にコード用に学習されています。

トークナイザーは UTF-8 テキストをベクトルにマッピングされるトークンに分割します - これが実際にモデルが処理するものです。学習中に、頻繁に出現する文字列を単一のトークンに組み合わせることを学習します。違いは何でしょうか?標準のトークナイザーは init を in + it に分割してしまい、プログラミングのコンテキストを見失います。しかし ModernBERT のコードを意識したトークナイザーは、分割せずにそのまま理解します。

スペースの扱いについて興味深い点があります:ModernBERT は Python の先頭スペースを単一のトークンとして保持し、4 スペースと 8 スペースを区別します - これはコード構造にとって重要です。一方で、jina-XLM-RoBERTa は連続するすべてのスペースを単一の _ に圧縮し、RoBERTa-large は各スペースを個別のトークンとして扱います。これは、ModernBERT のエンコーダーがコードを処理する際により整理された、意味のある入力を受け取る一方で、他のモデルは断片化された、一貫性の低いトークンで作業していることを意味します。

ModernBERT は Python の先頭スペースを単一のトークンとして保持し、4 スペースと 8 スペースを区別します - これはコード構造にとって重要です。一方、他のモデルは断片化された、一貫性の低いトークンで作業しています。

tagModernBERT の長文コンテキスト処理

ModernBERT は、その広範な学習コーパス(8,192 トークンのサンプルで 300B トークン)とグローバルとローカルの注意を組み合わせた高度な技術のおかげで、長文処理において大きな進歩を遂げています。

長文処理能力を評価するために、13 の言語にわたる包括的な長文ベンチマークであるMLDR データセットを使用しました。ModernBERT は現在英語のみをサポートしているため、ModernBERT と jina-XLM-RoBERTa を比較するために MLDR の英語サブセットに焦点を当てました。これらのモデルは両方とも 8K トークンの入力を処理できますが、RoBERTa-large は 512 トークンの制限があり、長文分析には不十分なため、このベンチマークから除外されました。

ModernBERT-large jina-XLM-RoBERTa
MLDR-en 0.351 0.290

ModernBERT の優れたパフォーマンスは、単に広範な長文学習によるものだけではありません - それは主にグローバルとローカルの注意メカニズムを革新的に組み合わせたことによります。すべての層で計算コストの高いグローバル注意を適用する jina-XLM-RoBERTa とは異なり、ModernBERT はより効率的なアプローチを取ります。グローバル注意(3 層ごとに theta 160,000 で使用)とローカル注意(theta 100,000 で 128 トークンのスライディングウィンドウを使用)を交互に切り替えます。このハイブリッド戦略は、高いパフォーマンスを維持しながら、学習時間を劇的に削減します。

ModernBERT では、3 層ごとに RoPE theta 160,000 のグローバル注意を採用し、残りの層では RoPE theta 10,000 の 128 トークンのローカルスライディングウィンドウ注意を使用します。—— ModernBERT

tag苦い教訓?

スケーリング則と苦い教訓は、主要なパフォーマンスの改善はパラメータ数と学習データの増加から来ることを示唆しています。この原則は、コーパスを拡大し、タスク特有の適応に LoRA を使用するというアプローチを導きました。

しかし、ModernBERT の成功により、アーキテクチャの最適化の力を過小評価していたことが明らかになりました。SLM がパラメータを必ずしも拡大せずとも、より良いデータモデル効率を通じて優れた結果を達成できることを示しています。最近のStella Embeddings 技術レポートもこの発見を裏付けており、コーパスやモデルサイズを増やすことなく、現在の埋め込みモデルの学習方法を改善できることを示しています。

Graph showing Scaling Law of Embedding Models with 'Parameter Size' on the x-axis and 'MTEB Performance' on the y-axis, featu
埋め込みモデルのスケーリング則。英語タスクにおける平均 MTEB パフォーマンスがモデルパラメータ数に対してプロットされています。各ドットは埋め込みモデルを表します。すべてのモデルを表す傾向線がハイライトされ、多言語モデルはシアン色で強調されています。jina-embeddings-v3が同サイズのモデルと比較して優れたパフォーマンスを示し、前身のjina-embeddings-v2からスーパーリニアな改善を示していることがわかります。このグラフは MTEB リーダーボードから上位 100 の埋め込みモデルを選択し、サイズ情報のないもの(通常はクローズドソースまたはプロプライエタリモデル)を除外して作成されました。明らかなトロール投稿も除外されました。

今後、データ利用についての理解が深まり、ModernBERT の技術を実装するにつれて、計算コストの低下とモデルサイズの縮小が予想されます。短期的には、ModernBERT 論文で概説された直接的な改善 - 特にコード関連データの統合とコードフレンドリーなトークナイザーの採用 - を実装できます。deep-and-thin アーキテクチャへの移行や、小さなモデルからの大規模モデルのブートストラップなど、より複雑な変更には、バックボーンモデルを一から構築する必要があります - これはより中期的な取り組みです。

ModernBERT の効率性は注目に値しますが、テキストのみという制限は今後の課題を示しています。マルチモーダル埋め込みモデルが人気を集める中、次の課題は、マルチモーダルアプリケーション向けの入力を処理できる、よりスマートで高速、そして高性能な検索基盤モデルの開発です。これらのアプリケーションはさらに長いコンテキストウィンドウを必要とします - これは解決すべき効率性の課題として残されています。

tag結論

この記事を通じて、ModernBERT が deep-and-thin アーキテクチャ、最適化されたトークナイザー、そしてウェイトタイリングを使用した効率的なスケーリングという 3 つの主要な革新によって BERT ファミリーモデルを進化させた方法を探ってきました。これらの改善により、ModernBERT は比較的コンパクトなサイズで優れたパフォーマンスを提供し、様々なタスクで RoBERTa-large と jina-XLM-RoBERTa の両方を上回ることができます。ModernBERT は、アーキテクチャの改善がパラメータサイズよりも重要になり得ることを示し、より効率的なモデルへの道を開いています。ウェイトタイリングの成功的な使用は、パフォーマンスを維持または向上させながら学習コストを削減できることを示しています。さらに、コンパクトな語彙と的を絞った最適化は、リソースが限られた環境での特化型 SLM の機会が広がっていることを示唆しています。

カテゴリー:
技術記事
rss_feed
オフィス
location_on
カリフォルニア州サニーベール
710 Lakeway Dr、Ste 200、サニーベール、CA 94085、アメリカ合衆国
location_on
ドイツ、ベルリン(本社)
Prinzessinnenstraße 19-20、10969 ベルリン、ドイツ
location_on
中国、北京
中国北京市海淀区西街48号ビル6号5階
location_on
深セン、中国
ルーム 402、4 階、福安テクノロジービル、深セン、中国
検索ベース
読者
ベクトルモデル
並べ替え者
ディープサーチ
分類子
スライサー
APIドキュメント
Jina APIキーを取得する
レート制限
APIステータス
会社
私たちについて
営業担当者に問い合わせる
ニュース
インターンプログラム
参加しませんか
open_in_new
ロゴをダウンロード
open_in_new
条項
安全性
利用規約
プライバシー
Cookieを管理する
email
Jina AI © 2020-2025.