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

Hugging Face 推出了 NeoMME,这是一个包含 260M 和 800M 参数版本的多语言多模态编码器系列。与依赖于独立的预训练视觉塔和因果语言模型的传统生成式视觉语言模型 (VLMs) 不同,NeoMME 使用单个双向 Transformer 来处理文本 token 和原始图像 patch,并使用掩码离散扩散目标从头开始训练。

多模态原生架构

NeoMME 通过使用相同的计算路径处理图像和文本,消除了与独立的视觉编码器和投影器相关的参数和计算开销。这种设计简化了跨模态的预训练、微调和推理服务。

核心技术规格

  • 统一处理: 文本使用分解的 token 嵌入,而图像被划分为 32×32 的非重叠 patch,并通过一个小型的 MLP 进行投影。
  • 动态分辨率: 模型保留了图像的长宽比和尺寸,使其能够为高分辨率、信息密集的文档页面分配更多 token。
  • 长上下文窗口: 16,384 个 token 的上下文长度支持多达两张 4K UHD 图像。该架构在大多数层中使用对称滑动窗口注意力机制,并在每六层和最后一层使用全局注意力机制。
  • 现代编码器堆栈: 模型结合了分组查询注意力 (grouped-query attention)、查询-键归一化 (query-key normalization)、门控注意力 (gated attention)、2D 旋转位置嵌入 (2D rotary position embeddings) 以及 squared-ReLU MLPs。
  • 多语言支持: 一个拥有 131k-token 词汇表的自定义 BPE tokenizer 在多语言文本、代码、数学和图像转录文本上从头开始训练。

预训练目标

NeoMME 被预训练为离散掩码扩散文本去噪器。对于多模态示例,图像 patch 保持可见,而模型重建掩码文本。通过应用 0.3 到 1 之间的损坏率,模型被迫依赖可见的图像证据而非仅靠语言的捷径,从而将文本锚定在视觉数据中。

NeoMME-Retriever 用于视觉文档检索

为了评估骨干网络,Hugging Face 开发了 NeoMME-Retriever,它使用 ColPali 页面图像方法对模型进行微调,用于视觉文档检索。这种方法直接对文档页面截图进行排名,绕过了 OCR 并保留了布局、图表和字体样式等视觉线索。

双头设计

NeoMME-Retriever 采用两个共同训练的头,以在检索基础设施中提供灵活性:

  1. Dense Head: 使用均值池化来创建一个单一的归一化向量,与近似最近邻 (ANN) 技术兼容,用于快速、紧凑的检索。
  2. Late-Interaction Head: 将每个 token 或 patch 投影到 128 维的归一化向量,保留查询 token 与图像区域之间的局部匹配,从而实现更高的精度。

性能与基准测试

在 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 | 0.556 | 0.559 | 0.874 | | Vultron Flash | 855M | 0.565 | 0.604 | 0.882 | | ColQwen2.5-v0.2 | 3.75B | 0.524 | 0.601 | 0.895 |

效率与优化

索引存储压缩

Late-interaction 嵌入对于高分辨率图像来说可能是存储密集型的(平均每份文档 1.5 MB)。NeoMME 采用两种方法来减少这种占用:

  • 分层 Token 池化: 聚类相似的文档向量并将其替换为均值。
  • 非对称量化: 将文档嵌入量化为 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 权重已根据 Apache 2.0 许可证发布,并已集成到 Hugging Face Transformers 库中。

Sources