开源Hugging Face Blog·原文 2026年9月3日本站收录 2026年9月7日

H Company发布NeoMME:单Transformer多模态编码器,260M参数检索性能优于同规模模型

NeoMME以单一双向Transformer直接处理文本和图像,无需预训练视觉塔与因果语言模型。其260M检索模型在保持51页/秒(2048×2048)编码速度的同时,以Apache 2.0许可开源。

AI解读:NeoMME的特别之处在于把多模态编码从生成式VLM的重型架构中解放出来。通常的视觉文档检索模型依赖预训练视觉编码器加上因果语言模型,推理时产生大量参数和算力开销;而NeoMME用单个双向Transformer同时处理文本token和图像块,从零训练,让两种模态共享同一计算路径。这意味着对只需生成向量嵌入(而非生成文本)的检索任务来说,部署成本被大幅压低,同时260M模型在ViDoRe v3上达到0.523的nDCG@10,用约14倍少于ColQwen2.5的参数做到了几乎相同的性能。对要搭建图像型RAG的开发者,它的直接好处是:单次前向就拿到稠密和late-interaction两种向量,既可用ANN索引快速召回,又可用late-interaction精排;其按页压缩到6KB(原体积1/255)的方案,让超大文档库的向量存储不再膨胀。但请注意,结果来自作者自测,还没有独立复现;如果你在中低资源场景做PDF页面检索,可以下载260M模型在Transformers上跑通官方demo,确认它和你的图片比例、语言匹配,再决定是否替换现有管线。

H Company在Hugging Face博客发布NeoMME,一个单塔、多模态原生的多语言编码器系列,提供260M和800M两种参数规模。与多数生成式视觉语言模型(VLM)不同,NeoMME不使用独立预训练视觉塔或因果语言模型,而由单一双向Transformer同时处理文本token和原始图像块,并用掩码离散扩散目标从零训练。针对视觉文档检索微调的NeoMME-Retriever在单次前向中同时返回稠密和late-interaction嵌入。两种规格均位于ViDoRe v3基准上nDCG@10与模型大小的Pareto前沿。在NVIDIA L40S上匹配2048×2048输入时,260M模型每秒编码约51页,约为ColModernVBERT(26页/秒)的两倍。层级token池化与不对称量化将late-interaction索引存储从每页约1.5 MB降至6 kB(压缩255倍),同时保留基线nDCG@10的95%以上。模型已在Hugging Face Transformers中可用,所有checkpoint以Apache 2.0许可发布。

NeoMME(读作“nee-oh-me”)是多语言、多模态的基础编码器,用单个Transformer编码器为输入文本和/或图像生成向量表示。它不基于已有预训练视觉塔、文本编码器或文本解码器。与双塔和VLM编码器不同,NeoMME在一个双向Transformer中直接处理图像块和文本token,无需预训练视觉塔或预训练文本编码器/解码器,因此能更轻松地跨两种模态支持预训练、微调、并行化和服务。

架构与训练:从零训练,单Transformer处理文本与图像

两种NeoMME变体(260M、800M)共享相同架构:文本输入采用分解token嵌入;图像被划分为32×32的非重叠网格patch,并通过小型MLP投影后送入同一Transformer编码器。图像保留宽高比和原始尺寸,允许高分辨率文档页使用更多token。两种模型上下文长度均为16384token(足以容纳最多两张标准3840×2160 4K UHD图像)。多数层使用对称滑动窗口注意力,每第六层和最后一层使用全局注意力。

NeoMME采用近期编码器改进:分组查询注意力、查询键归一化、门控注意力、2D旋转位置嵌入和平方ReLU MLP等。团队从零训练了BPE分词器,词表131k token,基于多语言文本、代码、数学和机器生成的图像转录。

预训练将NeoMME用作离散掩码扩散文本去噪器。文本仅示例按0到1均匀采样破坏率;多模态示例使用0.3到1的破坏率,图像patch保持可见而模型重建掩码文本。作者解释,高掩码强度迫使模型学习图像基础的描述,避免仅从非掩码文本中获取捷径。预训练混合多语言文本、代码、数学、自然图像和文档图像。每个模型约处理5240亿打包输入token,其中2900亿来自纯文本示例,规模明显小于ModernBERT的2万亿训练token预算,因此选用NorMuon优化器提高数据效率。

NeoMME-Retriever:双头设计,单次前向输出两种嵌入

NeoMME-Retriever复用NeoMME主干并增加两个共同训练的头:稠密头将主干隐藏状态向量均值池化为归一化向量,适合ANN快速检索;late-interaction头将每个文本token或图像patch投影为128维归一化向量,保留查询token与图像区域间的局部匹配。一次前向同时返回两者。作者建议一般场景使用late-interaction嵌入,可与NextPlaid等开源库配合;对超大语料可先用稠密嵌入做ANN召回,再用late-interaction重排候选。

视觉文档检索采用ColPali提出的页面图像方法,直接对PDF页面截图排序,绕过OCR预处理。作者称保留版式、图表、表格、字体等视觉线索。

ViDoRe v3基准(nDCG@10)上,NeoMME-Retriever-260M达到0.523,是参数严格低于800M的评估模型中最高分,与ColQwen2.5相差0.002但参数少约14倍。NeoMME-Retriever-800M达到0.556,与同等规模的Vultron Retriever Flash(0.8B)相差0.009。两模型均位于ViDoRe v3的Pareto前沿。在ViDoRe v1和v2上,260M版优于ColModernVBERT及参数两倍的ColSmol-500M;800M版用3.6倍更少参数超越ColPali v1.3。8亿参数以上的对照分数部分来自MTEB(如ColQwen2.5-v0.2、ColPali v1.3标注†),其余为作者自测(标注‡)。

存储压缩测试在ViDoRe v3进行:池化因子10加int8查询和文档时,存储从每页约1.5 MB降至39 kB(压缩39倍),保留基线nDCG@10的99%以上;更激进配置(池化8、int8查询、二值文档)为每页6 kB(缩小255倍),保留95%以上原始检索质量。用户可以按存储预算和检索质量在质量-存储前沿上选择压缩设置。

吞吐与可用性:L40S上51页/秒,全栈开源

作者在单块NVIDIA L40S上、匹配2048×2048输入时测速:NeoMME-Retriever-260M约每秒编码51页,接近ColModernVBERT(约26页/秒)的两倍;在更小的输入图像上,260M和800M均快于对比的其他模型。测速使用预处理图像张量,并分别校准每个模型和图像尺寸的batch size。

模型集成在Hugging Face Transformers(需git+main版本,并安装accelerate与sentence-transformers>=6.0.0)。推理API示例中,对文档页面图和文本查询调用NeoMMEForRetrieval可同时获得late-interaction分数(mean_maxsim)和稠密余弦相似度。微调方面,Sentence Transformers v6已支持通过NeoMMEModel加载主干,但每个模型仅支持一个检索头(稠密或late-interaction);如需联合训练两个头,需使用NeoMMEForRetrieval配合自定义Trainer。

作者提供了一个视觉RAG演示Space(tonywu71/neomme-retriever-demo)。视觉RAG流程为:将PDF页转为图像并嵌入库,查询时用同一模型生成嵌入并检索top-k页面,最后将页面图像附在查询后送VLM生成答案,从而利用文本提取可能丢失的表格、图表、图表和版式信息。

技术报告arXiv编号为2609.01657;模型集合和checkpoint在Hugging Face可获取,两位作者Aurélien Lac与Tony Wu在致谢中说明项目始于业余“side quest”,由H Company提供算力支持。

信息来源

Hugging Face Blog原始来源