前途科技前途科技
  • 服务
  • 关于
  • AI
    • AI 大模型
    • 具身智能
    • 算力芯片
  • 科技
    • 智能终端
    • 软件·互联网
    • 汽车·出行
    • 科学前沿
  • 资源中心
    • 深度研究
      • AI 前沿
      • 教程
      • AI 知识库
      • 案例研究
    • 行业报告
      • 白皮书
      • 行业报告
      • 研究报告
      • 技术分享
      • 专题报告
    • 精选案例
      • 金融行业
      • 医疗行业
      • 教育行业
      • 零售行业
      • 制造行业
  • 服务
  • 关于
联系我们
教程/09.07 · 00:00/12 MIN/作者:苏晚/1 阅读

NeoMME 拆解:单塔多模态编码器如何把视觉 RAG 索引压到每页 6 KB

Hugging Face 与 H Company 发布 NeoMME —— 260M 参数打平 3.75B 模型,late-interaction 索引从 1.5 MB 压到 6 KB。视觉 RAG 的账终于算得过来了。

Hugging Face 官方博客 Hcompany/neomme 上,Aurélien Lac 与 Tony Wu 发布了 NeoMME —— 一个 260M / 800M 双规格、原生多模态、多语种的编码器。作者把它形容为「两个朋友抽时间做的一次支线任务」,但读完这篇 blog,我更愿意把它当作 2026 年视觉 RAG(Visual RAG)系统一次值得停下来评估的重估:当每页文档的检索索引可以从 1.5 MB 压到 6 KB、同时保住 95% 的检索质量,我们过去用来推翻「把整份 PDF 变成图向量索引」这个想法的经济账,全部需要重算。

主线不是「又一个多模态编码器」,是 RAG 的存储账变了

作者把工程亮点写在了 TL;DR 里:ViDoRe v3 上 nDCG@10 达到 0.523(260M)与 0.556(800M),双双落在帕累托前沿;L40S 单卡上 260M 模型每秒能编码约 51 页,是 ColModernVBERT 的 2 倍;层次化 token 池化配合非对称量化,把 late-interaction 索引从每页 1.5 MB 压到 6 KB,压缩比 255×,检索质量仍保留 >95%。

这三条里,真正会改写行业成本模型的是第三条。

来算一笔粗账。企业 RAG 常见的规模是几十万到几百万页 PDF。以 100 万页为例:ColPali 类 late-interaction 检索的传统索引大约 1.5 TB,跑在 pgvector / Milvus / Qdrant 上都属于「必须单独规划存储层、还要考虑冷热分层」的量级;换到 NeoMME 的 6 KB/页方案,同样 100 万页的索引只需 6 GB,一台入门服务器的内存就能塞下。这不是「优化了一点」,是把 late-interaction 检索从「HNSW + 分布式向量库 + 分层存储」的复杂工程,压回到「单机内存索引」的复杂度。

过去两年,视觉 RAG(也叫 vision-first RAG、page-image RAG)在企业圈之所以雷声大雨点小,卡点从来不是精度而是账:一个部门的合同库、财务报告库、临床病历库随便就是几十万页,1 MB 上下每页的索引意味着数百 GB 起步。哪怕精度赢了 OCR + 文本切块 3~5 个点,采购决策者也很难签这笔账。NeoMME 的这条曲线,把这个账算穿了。

压缩前沿
图说:NeoMME-260M 在 ViDoRe v3 上的压缩前沿——pooling factor 与量化组合下的质量/存储权衡曲线。图片来源:Hugging Face / H Company

看这张图的正确姿势不是找一个「最优点」,而是看这条前沿本身在往右下走多远。pool 10× / int8+int8 时 39× 压缩,nDCG 保留 99.2%;再往前拉到 pool 8× / int8 query + binary document 时 255× 压缩,仍能守住 95.2%。落到实际选型上,这意味着一个新的产品经理沟通话术:「你告诉我预算和精度容忍度,我告诉你在这条曲线上停在哪。」以前这条曲线是几乎躺平的一小段,现在被拉出了一整个数量级的可选空间。

为什么值得「再来一个多模态编码器」:三次架构瘦身

作者对现状的判断很直接:过去两年做视觉文档检索的主流路线,是从预训练好的多模态生成模型(VLM)拿来改。视觉塔(vision tower)出图像特征、投影层对齐文本空间、因果 LM 解码器处理拼接序列。但检索、分类、token 标注这类任务本来就不需要自回归生成——你为了排一份 PDF 用不上「下一个 token 是什么」这份能力,却付出了全部因果 LM 解码器的参数与算力开销。

沿着这条批评,作者把架构瘦了三层:

第一层,扔掉解码器。这是 ModernVBERT 早就做过的事:改用双向编码器堆栈,只保留 encoder 部分。

第二层,扔掉单独的视觉塔。ModernVBERT 还保留着预训练好的 SigLIP2 vision tower,图像通过它变成 patch embedding 再进入文本编码器。NeoMME 把这一步也砍了——图像被切成 32×32 的 patch,一个小 MLP 直接投影到 token 空间,和文本 token 一起进入同一个双向 Transformer。

第三层,扔掉两阶段预训练。整个 backbone 从零开始训,图像和文本共用完全一致的计算路径。

编码器架构对比
图说:双塔、VLM-as-encoder、ModernVBERT、NeoMME 四种编码器架构对比。图片来源:Hugging Face / H Company

这三次「减法」的直接工程好处不止是参数少了。图像和文本走同一条路,意味着 pretraining、fine-tuning、并行策略、推理服务框架都不需要再为「跨模态桥接」写额外代码——batching 更简单,profiling 更透明,蒸馏和量化的行为在两个模态上是一致的。做过 VLM 落地的团队都清楚,跨模态的 shape 对齐和 KV cache 管理,是常年出 bug 的重灾区。

不过把架构简化到「一根管子跑到底」也带来了一个非平凡的问题:训练目标怎么设计?作者选择的是遮蔽扩散(masked diffusion)。

遮蔽扩散:用有限的 token 预算学更多

NeoMME 的预训练目标是把它当成一个离散型遮蔽扩散文本去噪器(discrete masked-diffusion text denoiser)。对纯文本样本,掩码率从 [0, 1] 均匀采样;对多模态样本(图 + 文),掩码率上调到 [0.3, 1],图像 patch 始终可见,模型必须把被遮住的文本重建出来。

作者解释了这个区间为什么这么设:低掩码率下,「The [MASK] sat on the mat」这种句子,模型光靠上下文语言先验就能猜出「cat」,图像信息形同虚设;高掩码率强迫模型抛掉语言先验,去看图。也就是说,这个 0.3 的下界不是随手写的,是刻意压掉「不学图、只学语言」的偷懒路径。

苏晚
苏晚Su Wan

前途科技 · 前沿主笔

关注 AI 与前沿科技的观察者,前途科技前沿内容主笔。

查看全部文章

想了解 AI 如何助力您的企业?

免费获取企业 AI 成熟度诊断报告,发现转型机会

置顶文章

NeoMME 拆解:单塔多模态编码器如何把视觉 RAG 索引压到每页 6 KB
置顶

NeoMME 拆解:单塔多模态编码器如何把视觉 RAG 索引压到每页 6 KB

350M 模型 100 步 GRPO 微调:结构化输出合规率从 22.6% 抬到 29.7%
置顶

350M 模型 100 步 GRPO 微调:结构化输出合规率从 22.6% 抬到 29.7%

前途科技前途科技
服务关于快讯技术商业报告
前途科技微信公众号

微信公众号

扫码关注

Copyright © 2026 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。|京ICP备17045010号-1|京公网安备 11010502033860号|隐私政策|服务条款

真正让这个训练目标有工程价值的是数据效率。作者披露:NeoMME 每个 size 预训练用了约 5240 亿 packed tokens,其中纯文本占 2900 亿;相比 ModernBERT 的 2 万亿训练 token 预算,只有大约四分之一到七分之一。所以他们没有走 AdamW,而是选了 NorMuon —— 一个更新的、专门以数据效率见长的优化器。

这条选择传递的信号很清楚:多模态编码器这条赛道,接下来的胜负手不是「谁能烧更多 token」,而是「谁能用更少的 token 学到更多」。 训练文本预算被压到 1/4,需要靠优化器和目标函数两头补,masked diffusion 的高掩码率区间就是补目标那一头,NorMuon 是补优化器那一头。这套组合出来的模型,260M 参数在 ViDoRe v3 上打到 0.523,比 ColQwen2.5(3.75B)低 0.001,参数少 14×——同样任务上,「小而专」再一次赢过「大而全」。

帕累托前沿
图说:ViDoRe v3 上 nDCG@10 与模型规模的关系,NeoMME 260M / 800M 位于帕累托前沿。图片来源:Hugging Face / H Company

这张图的坐标轴一定要盯清:横轴是对数尺度的模型参数量,纵轴是八任务平均 nDCG@10。NeoMME 260M 那个紫色点站在图的最左边,纵坐标却和右上角 3~8B 那一堆挤在一起。作者标注了它相对 dense-only 版本的提升是 +0.132——也就是说,late-interaction 头本身给这个 backbone 加了 0.132 的分。这提示了一件事:backbone 的容量瓶颈没那么紧,架构改动带来的收益空间还很大。

双头设计:一次前向拿到 dense 和 late-interaction

NeoMME-Retriever 在 backbone 上加了两个联合训练的检索头:

  • Dense 头:对 backbone 隐藏态做 mean pooling,出一个归一化向量。ANN 检索直接用它,兼容当前所有主流向量库。
  • Late-interaction 头:把每个 text token / image patch 的隐藏态投影到 128 维归一化向量,保留细粒度匹配。作者引用了 ColBERT 提出者 Omar Khattab 的说法:「late-interaction」这个术语比「multi-vector」更准确,因为它描述的是打分函数的粒度和可学习性,不只是「存了多少个向量」。

工程上真正省事的是:一次前向同时返回两种表示。生产上常见的架构是「dense 召回 + late-interaction 精排」——用 dense 从百万级候选里筛出 top-100,再用 late-interaction 做精细比对。如果这两种表示要跑两次 forward pass,索引成本翻倍;NeoMME 一次搞定,且这两种表示是联合训练出来的,天然对齐。

对已经在跑 dense-only ANN 检索的团队,这意味着一次可控的升级路径:先切换到 NeoMME 的 dense 索引(存储和查询接口都不变),然后把 late-interaction 索引作为 rerank 层挂在后面,逐步替换掉现有的 cross-encoder rerank。整个演进不用大改基础设施。

吞吐:把「重新索引一遍」从月计变成周计

企业 RAG 系统一个很少被写进技术博客的隐形成本,是重新索引。模型升级要重索引,schema 变更要重索引,评估集刷新要重索引。100 万页的语料,如果编码速率是 10 页/秒,重索引就是 27 小时的 GPU 时间;如果是 50 页/秒,就是 5.5 小时。这个差距落到迭代节奏上,是「一个季度换一次模型」和「一个月换一次模型」的差距。

吞吐对比
图说:不同编码器在 L40S 单卡上的文档编码吞吐,NeoMME-260M 在 768 分辨率下达 368 pages/s。图片来源:Hugging Face / H Company

作者报告了 NeoMME-Retriever 在 L40S 上的吞吐:260M 模型在 2048×2048 输入下 51 pages/s,是 ColModernVBERT 的 2 倍;768 分辨率下能拉到 368 pages/s。800M 模型在 2048 下 22 pages/s,同样比同规模的 VultronRetrieverFlash-0.8B 快出一档。上面这张柱状图把这个差距摊得很清楚:左边两列是 NeoMME,柱形明显比右侧其他模型高出一到两个数量级;越是需要高分辨率保住表格/图表细节的场景,这个吞吐差距越致命。

给中国团队的落地建议

结合国内实际情况,这个模型有几条比 blog 里更值得强调的落地点。

第一,多语种是「原生」不是「补丁」。作者从零训了一个 131K vocab 的 BPE 分词器,训练语料包含多语种文本、代码、数学和机器生成的图像转录。中文文档(合同、财报、公文、临床病历)大概率 day-1 就能用,不需要像很多英文优先的 encoder 那样额外做中文 continue-pretraining。

第二,Apache 2.0 许可、Transformers day-zero 支持。这意味着可以直接商用、无需授权谈判,也不用等社区把它 wrap 成 Sentence-Transformers 接口——官方已经放出 dense 和 late-interaction 两份独立的 ST checkpoint,用现有 Sentence-Transformers v6 训练脚本就能微调,跟你现在跑 BGE-M3 或 GTE 的 pipeline 打法一样。

第三,视觉 RAG 在国内高价值 PDF 场景是硬需求。银行的授信报告、律所的合同底稿、医院的检验报告、券商的研究报告,共同点是「版面即语义」:表格结构、公章位置、印刷体和手写体的混排、图表和正文的关联,是 OCR + 文本切块永远还不了的债。以前这个方向的落地卡在存储成本,现在这条卡点被 255× 压缩摘除了。

第四,别急着上 800M。作者自己也在结论里说得很克制:260M 在 800M 参数以内是最优选,且和 3.75B 的 ColQwen2.5 差 0.001 nDCG@10。除非你的 corpus 复杂度确实撑得起 800M(多语种混排、多版式、专业术语密度高),先跑 260M 版本、把整条 pipeline(索引、精排、生成)搭通再看瓶颈。

如何评价这份工作

这不是一次范式革命。视觉 RAG 的方法论(ColPali 的 page-image approach、late-interaction 打分)都不是 NeoMME 首创;单塔多模态编码器也不是新概念。NeoMME 的价值在于把三件已经被人拆开做过的事凑成了一个可用的成品:单塔架构、masked-diffusion 训练、层次化池化 + 非对称量化压缩。凑齐之后,视觉 RAG 从「精度上说得过去、账上算不过去」变成了「精度和账都能过」的方案。

值得盯的下一步是两条:其一,作者提到「作为两个朋友的支线任务,用了有限的时间和算力」——如果 H Company 后续投入更多资源做 1B / 3B 规格,帕累托前沿会继续被推动,尤其是精度上限那一头;其二,late-interaction 的存储压缩既然可以到 255×,反过来问,是不是可以拿多出来的存储预算换更高的检索质量(比如更细的 pool factor + 更高的分辨率输入)?这条曲线的另一端还没被充分探索。

对做企业检索系统的团队,短期最实用的动作是:拿 260M-Retriever 挑一个自己业务里最头疼的 PDF corpus,跑一遍 ViDoRe 之外的真实数据,把这条压缩前沿曲线在你的 corpus 上重画一遍——因为不同 corpus 的 pool factor 和量化容忍度都会不一样。真金白银的采购决策,最后还是要落到自家数据上。

「Next-token predictor」是错的心智模型:为什么它决定了你怎么用大模型
置顶

「Next-token predictor」是错的心智模型:为什么它决定了你怎么用大模型

//

24小时热榜

微软 Azure Foundry 模型路由扩容至 28 区域,新增 Claude Opus 4.8 与 GPT-5.6
TOP1

微软 Azure Foundry 模型路由扩容至 28 区域,新增 Claude Opus 4.8 与 GPT-5.6

NeoMME 拆解:单塔多模态编码器如何把视觉 RAG 索引压到每页 6 KB
TOP2

NeoMME 拆解:单塔多模态编码器如何把视觉 RAG 索引压到每页 6 KB

3

《西雅图时报》与《新闻日报》起诉 OpenAI 和微软侵权,新闻版权诉讼持续蔓延

10小时前
《西雅图时报》与《新闻日报》起诉 OpenAI 和微软侵权,新闻版权诉讼持续蔓延
4

理想汽车以 26.5 亿增资欣旺达动力,持股升至 11.17%,电池自研版图再进一步

10小时前
理想汽车以 26.5 亿增资欣旺达动力,持股升至 11.17%,电池自研版图再进一步
5

Meta 自研加速器 MTIA 300:将 NIC 内嵌芯片,集合通信损耗降至不足 0.5%

1天前
Meta 自研加速器 MTIA 300:将 NIC 内嵌芯片,集合通信损耗降至不足 0.5%
6

微软向纽约时报诉讼提交 820 万条 Copilot 对话日志

1天前
微软向纽约时报诉讼提交 820 万条 Copilot 对话日志
7

GitHub HydraFusion:多模型编排媲美 Opus 5,成本低 67%

1天前
GitHub HydraFusion:多模型编排媲美 Opus 5,成本低 67%
8

银河通用发布 Galbot ET1:24小时预订破200台,人形机器人仍难摆脱「表演」标签

1天前
银河通用发布 Galbot ET1:24小时预订破200台,人形机器人仍难摆脱「表演」标签
热门标签
大模型AgentRAG微调私有化部署Prompt EngineeringChatGPTClaudeDeepSeek智能客服知识管理内容生成代码辅助数据分析金融零售制造医疗教育AI 战略数字化转型ROI 分析OpenAIAnthropicGoogle

关注公众号

前途科技微信公众号

扫码关注,获取最新 AI 资讯

免费获取 AI 落地指南

3 步完成企业诊断,获取专属转型建议

已有 200+ 企业完成诊断