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つの共同学習されたヘッドを使用します:

  1. Dense Head: 平均プーリングを使用して単一の正規化されたベクトルを作成し、高速でコンパクトな検索のための近似最近傍探索(ANN)技術と互換性があります。
  2. 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 ライブラリに統合されています。

Sources