NeoMME: 高效率的多模態原生與多語言編碼器

Hugging Face 推出了 NeoMME,這是一個包含 260M 和 800M 參數版本的多語言多模態編碼器系列。與依賴於獨立預訓練視覺塔(vision towers)和因果語言模型(causal language models)的傳統生成式視覺語言模型(VLMs)不同,NeoMME 使用單一的雙向 Transformer 來處理文本標記(tokens)和原始圖像補丁(image patches),並使用遮蔽離散擴散(masked discrete-diffusion)目標從頭開始進行訓練。

多模態原生架構

NeoMME 通過將圖像和文本通過相同的計算路徑進行處理,消除了與獨立視覺編碼器和投影器(projectors)相關的參數和計算開銷。這種設計簡化了跨模態的預訓練、微調和推理服務。

核心技術規格

  • 統一處理: 文本使用分解標記嵌入(factorized token embeddings),而圖像則被劃分為 32×32 的非重疊補丁,並通過一個小型 MLP 進行投影。
  • 動態解析度: 模型保留了圖像的長寬比和尺寸,使其能夠為高解析度、資訊密集的文檔頁面分配更多標記。
  • 長上下文窗口: 16,384 個標記的上下文長度可支持多達兩張 4K UHD 圖像。該架構在大多數層中使用對稱滑動窗口注意力機制(symmetric sliding-window attention),並在每第六層和最後一層使用全局注意力機制。
  • 現代編碼器堆疊: 模型結合了分組查詢注意力(grouped-query attention)、查詢-鍵歸一化(query-key normalization)、門控注意力(gated attention)、2D 旋轉位置嵌入(2D rotary position embeddings)以及 squared-ReLU MLPs。
  • 多語言支持: 使用從頭開始在多語言文本、代碼、數學和圖像轉錄文本上訓練的自定義 BPE 分詞器,其詞彙表大小為 131k。

預訓練目標

NeoMME 是作為一個離散遮蔽擴散文本去噪器進行預訓練的。對於多模態範例,圖像補丁保持可見,而模型則重建遮蔽的文本。通過應用 0.3 到 1 之間的遮蔽率,模型被迫依賴可見的圖像證據而非僅僅依賴語言捷徑,從而將文本與視覺數據聯繫起來。

NeoMME-Retriever 用於視覺文檔檢索

為了評估骨幹網絡,Hugging Face 開發了 NeoMME-Retriever,它使用 ColPali 頁面圖像方法對模型進行微調,以進行視覺文檔檢索。這種方法直接對文檔頁面的截圖進行排序,繞過了 OCR,並保留了佈局、圖表和字體樣式等視覺線索。

雙頭設計

NeoMME-Retriever 採用兩個共同訓練的頭部(heads)來提供檢索基礎設施的靈活性:

  1. Dense Head: 使用平均池化(mean pooling)來創建一個單一的歸一化向量,與近似最近鄰(ANN)技術兼容,實現快速、緊湊的檢索。
  2. Late-Interaction Head: 將每個標記或補丁投影到一個 128 維的歸一化向量,保留查詢標記與圖像區域之間的局部匹配,從而實現更高的精確度。

性能與基準測試

在 ViDoRe v3 基準測試中,NeoMME-Retriever-260M 實現了 0.523 的 nDCG@10,這是所有 800M 參數以下模型的最高分。其性能與規模大得多的 ColQwen2.5 (3.75B 參數) 非常接近(差距僅 0.002 nDCG@10),同時使用的參數數量減少了約 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 嵌入向量對於高解析度圖像而言可能非常耗費存儲空間(平均每份文檔 1.5 MB)。NeoMME 採用了兩種方法來減少這種佔用:

  • 層級化標記池化: 聚類相似的文檔向量並將其替換為其平均值。
  • 非對稱量化: 將文檔嵌入向量量化為 int8 或二進制,同時保持查詢向量的高精確度。

使用池化因子 8 和二進制文檔,存儲空間從每頁 1.5 MB 減少到 6 kB(減少了 255 倍),同時保留了超過 95% 的基準 nDCG@10。

推理吞吐量

NeoMME-Retriever-260M 在語料庫索引期間展現了顯著的速度優勢。在 NVIDIA L40S GPU 上,以 2048×2048 的輸入尺寸,它每秒可編碼約 51 頁,吞吐量幾乎是 ColModernVBERT (26 頁每秒) 的兩倍。

視覺 RAG 集成

NeoMME-Retriever 可作為視覺檢索增強生成(RAG)流水線的第一階段。該系統不檢索文本塊,而是檢索原始頁面圖像,並將其傳遞給視覺語言模型(VLM)。這允許 VLM 利用原始佈局、圖表和表格,這些資訊在文本提取過程中往往會丟失。

所有 NeoMME 權重文件(checkpoints)均根據 Apache 2.0 許可證發布,並已集成到 Hugging Face Transformers 庫中。

Sources