488 GiB 变 3.81 GiB:腾讯把视觉文档检索的索引砍掉 128 倍,精度只让了 7 分
TL;DR:做文档 RAG 的都懂这个痛:OCR 管线丢图表信息,单向量检索粒度不够,ColPali 式「一页 1024 个向量」精度好但索引贵到肉疼——百万页就要 488 GiB。腾讯 EVIE 交出的答卷分三层:训练时让多模态裁判把「其实含答案的假负样本」挑出来(这一项就涨了近 2 分);一套权重用 Prefix-MRL 同时支持 64~2048 六种嵌入维度,换维度不用重新编码;索引端用「语义+位置」聚类把每页 1024 个向量压成 32 个质心,百万页 3.81 GiB,还能直接 MaxSim 打分。最终 8B 版在 ViDoRe V3 拿 66.75 nDCG@10 超最强外部基线 1.43 分,压缩版在 1/128 存储下仍比同档 WeMM-9B 高 2.16 分。
先看一个所有做企业知识库的人都会遇到的场景。
你有一百万页扫描文档——财报、研报、合同——想搭一个 RAG 系统。用户问「哪个地区营业利润连续四个季度上涨」,答案藏在一张柱状图的柱子高度变化里。走 OCR 路线?文字和坐标轴标签都提出来了,但「柱子节节高」这个视觉事实在转文本时已经丢了。
所以业界转向视觉文档检索(VDR):页面图直接进编码器,不经过 OCR。但马上撞上新的两难——
- 一页压一个向量(DSE、Qwen3-VL-Embedding 这类单向量模型):索引紧凑,但整页信息挤进一个点,相似页面的细微差别被抹平;
- 一页 1024 个向量(ColPali 式多向量 + MaxSim 晚交互):查询词可以逐个对准页面区域,匹配精细,可代价是百万页 488 GiB 的向量库——这还只是 256 维 BF16 的账。
腾讯 IMA 产品中心和优图实验室的这篇 EVIE,就是把这道「精度 vs 存储」的选择题重新出了一遍。
论文地址:arXiv:2610.11553
第一招:先别急着把「含答案的页」当负样本
多向量检索的训练靠难负样本挖掘:拿查询去库里捞一堆「看着像但不相关」的页当负样本。问题是——看着像的页里,经常真藏着答案。
财报页 A 完整回答了问题,财报页 B 只提了半句。现在的常规做法把 A、B 一视同仁全当负样本,模型被逼着「压抑」那些明明有用的匹配。这就是检索训练里臭名昭著的假阴性问题。
EVIE 的处理分两级:请一个多模态裁判模型(GLM-5V-Turbo)给每个挖掘候选按「答案完整度」打分——
- 全证据页 → 从负样本槽里移出来,升为正样本;
- 部分证据页 → 不再当负样本参与损失(也不升正,怕信号太噪);
- 无证据页 → 安心做负样本。
在 155 万个候选槽位里,14.4% 被这样重新处置了。这个「数据治理」值得吗?消融实验给了干净的答案:在同等训练条件下,仅「把全证据负样本移出」一步就让 ViDoRe V3 涨 1.87 分;再升为正样本又涨 1.54;剔除部分证据再涨 0.56。三步合计 +3.97 分——是全文性价比最高的一个改动。
裁判靠谱吗?团队抽了 900 个候选让三位人类标注员盲审:全证据档一致率 92.67%,无证据档 95.67%,最难的「部分证据」档也有 80.67%。全证据与无证据之间的直接混淆只有 0.67%——正负样本的边界划得足够清。
第二招:一套权重,六种维度
第二个工程痛点:嵌入维度是「提前选定的赌注」。训练时用 256 维,上线后发现存储要砍半,只能忍痛截断——但晚交互模型截断向量后 MaxSim 的打分行为会变,精度不受控。
EVIE 把 Matryoshka 表示学习(MRL)搬进了晚交互世界:训练时在每一个前缀宽度(64/128/256/512/1024/2048)上都施加检索监督和教师排名蒸馏。这样一来,一个学生 checkpoint 就能按需「切」出六种宽度的表示,不用重新过一遍编码器。
消融同样扎实:同为 d=64,「训练后截断」得 62.04,而「每个宽度都训练」的完整目标得 64.51——越窄的维度, prefix 训练的收益越大(+2.47)。这很符合直觉:空间越小,越需要训练时就把信息排布好。
蒸馏本身也有讲究:除了常规的「查询→页面」排名蒸馏,EVIE 还加了反方向的「页面→查询」蒸馏(双向),外加难正负对的边际迁移和一条 d=128 的锚点约束防止初始几何漂移。双向 consistently 优于单向。
第三招:把 1024 个向量压成 32 个
前两招管训练,第三招 HAC 管索引。思路是层次凝聚聚类:把每页的 1024 个图像 token 按预算聚成 K 个簇,存簇质心。
这里有非常漂亮的一处设计解耦——聚类的「分堆」和存储的「内容」用不同的特征:
- 分堆时:语义向量 + 2D 正弦位置编码(权重 0.1),让「表头」「图表区」「正文段」各自抱团,不相邻的相似内容也不至于错配;
- 存储时:只对原始语义向量取平均,位置信息一点不掺。
为什么这么讲究?因为查询和质心最后还要做 MaxSim 打分——质心必须保持「语义向量」的身份,打分接口才能不变。消融显示:纯网格平均池化只有 49.37,纯语义聚类 58.12,加上位置引导 59.58——位置那 1.46 分是白捡的(存储没变)。
最陡的代价在哪?压缩后 d=64 的页向量从 64.51 掉到 59.58,其中移除上下文 token 只损失 0.12,大头 4.81 分来自 token 池化本身。这是把千个向量压成 32 个的物理代价,躲不掉,但 EVIE 把它压到了最小。
榜单与账本
四套基准(ViDoRe V1/V2/V3 + JinaVDR,共 138 个任务)的成绩:
| 配置 | V3 | Avg4 | 存储(GiB/百万页) |
|---|---|---|---|
| WeMM-9B(单向量) | 57.42 | 71.51 | 7.63 |
| webAI-ColVec1.1-8b(最强外部基线) | 65.32 | 77.11 | 2136.23 |
| EVIE-8B(教师) | 66.75 | 79.51 | 7812.50 |
| EVIE-4.5B(学生 d=2048) | 66.02 | 78.98 | 3906.25 |
| HAC (d=64,K=32) | 59.58 | 73.47 | 3.81 |
两个阅读姿势:
看精度:EVIE-8B 的 66.75 超最强外部基线 1.43 分;4.5B 学生只差教师 0.73 分——蒸馏压得很实。
看性价比:3.81 GiB 的 HAC 版本,存储是原始配置的 1/128,分数 59.58——同档存储的 WeMM-9B 是 57.42(还低 2.16 分),同 7.63 GiB 预算的 HAC (K=64) 是 62.06(比 WeMM-9B 高 4.64)。压缩版的检索延迟也从 0.909ms 降到 0.160ms,GPU 索引内存少 32 倍,QPS 反超 WeMM-9B 20%。
对部署方来说,后一种读法可能更重要:嵌入宽度和每页向量数成了两个独立旋钮,可以按存储预算自由组合。
压缩伤到了谁?
论文最诚实的部分,是做了证据级分析。3588 个有相关页的查询里,2521 个在压缩前后都稳居 top3,但有 49 个查询从 raw top3 跌出了 top10。
看一个典型翻车案例(论文图 8 的案例 B):

上图案例 A:查询问 TCP 三次握手,答案页是一张瀑布图——证据集中在图和旁边的说明文字,聚类后完整保留,两个索引里都排第 1。下图案例 B:葡语查询问 Christian Dior 的利率风险,答案是法语财报里的一行表格文字——MaxSim 热图锁定的那个 token,聚类时被「横跨多行的表格文字」这一大簇吞掉了,页面从第 3 名掉到第 37。
这张图说的是压缩的代价分布不均:版面干净、证据块大的页面几乎无损;密集表格里的细粒度证据最容易被稀释。分域看也一样——压缩后 Physics 域只掉 1.89 分,HR 域掉 9.51 分。
泼冷水时间
裁判即偏差。 证据分级靠 GLM-5V-Turbo,裁判自己的盲区会系统性传进训练信号。人类审核覆盖了 900 个样本(很良心),但「部分证据」档 80.67% 的一致率意味着这最微妙的一档仍有近两成误判——而这档恰恰影响最难的样本。
榜单位置有协议细节。 外部基线分数部分取自官方模型卡,token 预算、分辨率、训练数据都不同;weMM 是本地复测。横向比较时这些差异要记着。
8B 教师的存储账很吓人。 d=4096 原始索引 7812 GiB/百万页——榜单是拿精度打出来的,实际部署主角是 4.5B+HAC。
未提开源。 截至本文,代码与权重未见发布,复现依赖论文细节。
换宽度要重新聚类。 Prefix-MRL 免掉了重编码,但 HAC 的 (d,K) 每个组合都要离线重聚类一次——位置频率网格随 d 变。工程上不算大事,但不是「一压永逸」。
理性看待
这篇论文真正值得学的,不是某个具体分数,而是它把 VDR 的三个环节——训练信号、表示结构、索引存储——当成一个联动系统来优化:
- 数据治理的那 +3.97 分提醒所有人:负样本质量是最便宜的杠杆。挖掘式对比学习的团队,与其堆卡,不如先审一遍自己的负样本里混了多少真答案。
- Prefix-MRL 给出了晚交互模型「维度自由」的可行解,代价是训练复杂度——六种宽度各算一遍损失。
- HAC 的「分配用语义+位置、存储纯语义」解耦,是一个可以单独搬走的模式:压缩表示要保住下游打分接口的语义身份。
往大了说,视觉文档检索正在重演文本检索走过的路:从「一桶向量」到「精细交互」,现在开始走「精细但不奢侈」的工程化深水区。488 GiB 到 3.81 GiB 的这条路,才刚开了个头。
(本文是「智能文档」系列第 14 篇。相关阅读:FoveDoc:多页文档问答的检索与阅读鸿沟、Token-Budgeted:RAG 预算分配的收益之谜。)
浙公网安备 33010602011771号