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)來提供檢索基礎設施的靈活性:
- Dense Head: 使用平均池化(mean pooling)來創建一個單一的歸一化向量,與近似最近鄰(ANN)技術兼容,實現快速、緊湊的檢索。
- 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 庫中。