NeoMME:高效多模态原生多语言编码器

NeoMME 是一种多模态原生的多语言编码器,有 260M 和 800M 两个参数版本。它的核心思路是舍弃流行的生成式视觉语言模型架构——即不依赖预训练的视觉塔(vision tower)或因果语言模型,而是用一个双向 Transformer 同时处理文本 token 和原始图像 patch。整个模型从零开始训练,目标函数是掩码离散扩散。

训练时,图像始终可见,文本 token 以不同比例被随机遮住。低遮住率时模型可以靠周围文字猜测,高遮住率则迫使模型必须依赖图像证据来重建文本。这种设计让模型学会真正的跨模态理解,而不是文本 shortcut。预训练数据混合了多语言文本、代码、数学、自然图像和文档图像,总计约 524B packed token(其中 290B 来自纯文本),相比 ModernBERT 的 2T 规模较小,因此使用了 NorMuon 优化器提升数据效率。

微调后的检索版本 NeoMME-Retriever 采用 ColPali 的页面图像方法,直接对文档截图做稠密和后期交互(late-interaction)双头检索。在 ViDoRe v3 基准上,260M 模型达到 0.523 nDCG@10,是所有 800M 以下参数模型中的最高分,和 ColQwen2.5(3.75B)的 0.524 只差 0.002,但参数量少 14 倍。800M 模型达到 0.556,接近 0.85B 的 Vultron Retriever Flash(0.565)。在 NVIDIA L40S 上,260M 模型编码 2048×2048 分辨率图像约 51 页/秒,是 ColModernVBERT(26 页/秒)的近两倍。

后期交互索引的存储开销很大:原始 float32 下平均每页约 1.5 MB。他们用层次化 token 池化(hierarchical token pooling)和非对称量化(asymmetric quantization)做压缩。池化因子 10、int8 量化后每页降到 39 kB(压缩 39 倍),保留 99% 以上基线 nDCG@10更极端的池化因子 8、binary 文档量化后每页仅 6 kB(压缩 255 倍),仍保留 95% 以上质量。用户可以根据存储预算和精度要求选取压缩配置。

所有模型 checkpoint 以 Apache 2.0 许可发布,并已集成到 Hugging Face Transformers,开箱即用。官方还提供了视觉 RAG 演示,演示如何将检索到的页面图像直接发给 VLM 生成答案,省去 OCR 步骤。

NeoMME: an efficient Multimodal-native and Multilingual Encoder

查看原文