NeoMME: 効率的なマルチモーダルネイティブかつ多言語対応エンコーダー
Hugging Faceは、260Mおよび800Mパラメータバージョンの多言語マルチモーダルエンコーダーファミリーであるNeoMMEを発表しました。個別の事前学習済みビジョンタワーと因果言語モデルに依存する従来の生成型ビジュアル言語モデル(VLM)とは異なり、NeoMMEは単一の双方向Transformerを使用して、テキストトークンと生の画像パッチの両方を処理し、マスクされた離散拡散(masked discrete-diffusion)目的関数を用いてゼロから学習されます。
マルチモーダルネイティブなアーキテクチャ
NeoMMEは、画像とテキストを同じ計算パスで処理することにより、個別のビジョンエンコーダーとプロジェクターに関連するパラメータ数と計算のオーバーヘッドを排除します。この設計により、モダリティを横断した事前学習、ファインチューニング、およびサービングが簡素化されます。
コア技術仕様
- Unified Processing: テキストは分解されたトークン埋め込みを使用し、画像は32×32の重なり合わないパッチに分割され、小さなMLPを介して投影されます。
- Dynamic Resolution: モデルは画像の縦横比とサイズを維持するため、情報密度の高い高解像度ドキュメントページにより多くのトークンを割り当てることができます。
- Long Context Window: 16,384トークンのコンテキスト長は、最大2枚の4K UHD画像をサポートします。アーキテクチャは、ほとんどのレイヤーで対称的なスライディングウィンドウ・アテンションを使用し、6層ごとに、および最終レイヤーでグローバル・アテンションを使用します。
- Modern Encoder Stack: モデルは、grouped-query attention、query-key normalization、gated attention、2D rotary position embeddings、および squared-ReLU MLPsを組み込んでいます。
- Multilingual Support: 131kトークンの語彙を持つカスタムBPE tokenizerが、多言語テキスト、コード、数学、および画像トランスクリプトを用いてゼロから学習されました。
事前学習の目的関数
NeoMMEは、離散マスクされた拡散(discrete masked-diffusion)テキストデノイザーとして事前学習されます。マルチモーダルな例では、画像パッチは可視のままですが、モデルはマスクされたテキストを再構成します。0.3から1の間の汚染率(corruption rates)を適用することで、モデルは言語のみのショートカットではなく、可視の画像証拠に依存することを強制され、テキストを視覚的データに接地(grounding)させます。
NeoMME-Retrieverによる視覚的ドキュメント検索
バックボーンを評価するために、Hugging FaceはNeoMME-Retrieverを開発しました。これは、ColPaliのページ画像手法を用いて、視覚的ドキュメント検索のためにモデルをファインチューニングしたものです。このアプローチは、OCRを介さず、レイアウト、チャート、フォントスタイルなどの視覚的特徴を直接ドキュメントページのスクリーンショットからランク付けします。
Dual-Head Design
NeoMME-Retrieverは、検索インフラストラクチャに柔軟性を提供するために、2つの共同学習されたヘッドを使用します:
- Dense Head: 平均プーリングを使用して単一の正規化されたベクトルを作成し、高速でコンパクトな検索のための近似最近傍探索(ANN)技術と互換性があります。
- Late-Interaction Head: 各トークンまたはパッチを128次元の正規化されたベクトルに投影し、クエリ・トークンと画像領域の局所的な一致を維持することで、より高い精度を実現します。
パフォーマンスとベンチマーク
ViDoRe v3ベンチマークにおいて、NeoMME-Retriever-260MはnDCG@10で0.523を達成し、800Mパラメータ以下のモデルの中で最高スコアを記録しました。これは、はるかに大きなColQwen2.5 (3.75B parameters) のnDCG@10の結果に0.002の差で迫る性能であり、約14倍少ないパラメータ数で実現されています。
| Model | Params | ViDoRe v3 (nDCG@10) | ViDoRe v2 (nDCG@5) | ViDoRe v1 (nDCG@5) |
|---|---|---|---|---|
| ColModernVBERT | 250M | 0.261 | 0.407 | 0.806 |
| NeoMME-260M | 260M | 0.523 | 0.522 | 0.860 |
| ColSmol-500M | 500M | 0.340 | 0.455 | 0.825 |
| NeoMME-800M | 800M | 800M | 0.559 | 0.874 |
| Vultron Flash | 850M | 0.565 | 0.604 | 0.882 |
| ColQwen2.5-v0.2 | 3.75B | 0.524 | 0.601 | 0.895 |
効率性と最適化
インデックス・ストレージの圧縮
Late-interaction embeddingsは、高解像度画像のためのものですが、ストレージを大量に消費する可能性があります(ドキュメントあたり平均1.5 MB)。NeoMMEは、このフットプリントを削減するために2つの方法を採用しています:
- Hierarchical Token Pooling: 類似したドキュメント・ベクトルをクラスター化し、それらを平均値で置き換えます。
- Asymmetric Quantization: クエリ・ベクトルは高精度を維持しつつ、ドキュメント・エンベディングを int8 または binary に量子化します。
プーリング係数を8とし、バイナリ・ドキュメントを使用する場合、ベースラインのnDCG@10の95%以上を維持しながら、ストレージはページあたり1.5 MBから6 kBに削減されます(255倍の削減)。
推論スループット
NeoMME-Retriever-260Mは、コーパス・インデックス作成時のスループットにおいて、大幅な速度の優位性を示しています。NVIDIA L40S GPU上で2048×2048の入力サイズを使用した場合、1秒間に約51ページをエンコードし、ColModernVBERT(26ページ/秒)のほぼ2倍のスループットメントを示しています。
視覚的 RAG 統合
NeoMME-Retrieverは、視覚的 Retrieval-Augmented Generation (RAG) パイプラインの第一段階として機能します。テキスト・チャンクを検索する代わりに、システムは元のページ画像を取得し、それをビジュアル言語モデル(VLM)に渡します。これにより、VLMは、テキスト抽出時に失われがちな元のレイアウト、図解、表をそのまま利用することが可能になります。
すべてのNeoMMEチェックポイントは Apache 2.0 ライセンスの下で公開されており、Hugging Face Transformers ライブラリに統合されています。