原文:https://arxiv.org/html/2609.21018v1 。以下基于正文第3—5节及附录B—D,实验数字均保留论文口径,业务建议为分析推论。
1. 问题与动机
视觉文档检索把页面切成大量图像patch,再用多向量表示保留表格、排版和小字字段。ColPali一类模型通过MaxSim匹配:每个查询token寻找最相似的文档patch,随后把这些最大相似度求和。它能保留细粒度证据,但每页数百个向量的存储和在线交互成本很高。已有后处理合并方法冻结编码器,只压缩输出向量,工程上容易接入,却通常把所有patch的重建误差同等对待。
作者的诊断揭示这种目标与检索用途不一致:使用频率最高的20% patch承担约84%的查询token选择。均匀重建可能浪费容量保留几乎无人查询的背景区域,也可能把真正有用的证据全部聚到少数代表向量上。后者意味着虽然索引保留了K个向量,实际检索却只使用其中很少几个。
MAGIC由此提出两项相互补充的约束:源侧按检索需求分配质量,目标侧防止压缩容量过度集中。它解决的是冻结多向量模型的离线压缩问题,不改写查询、不重新训练检索器,也不是一种新的ANN索引。
2. 方法详解
设一页有N个单位归一化patch向量,压缩后保留K个facet代表向量;K由保留比例r乘N后向上取整确定,并限制在1至N之间。对一个查询token,原始MaxSim取其与所有patch的最大内积。作者把某patch被未来查询token选中的概率定义为检索需求w。正文命题1表明,压缩造成的正向分数下降,可以由需求加权的patch到代表向量距离上界控制;单位向量条件下进一步得到与加权余弦重建代价相关的上界。这只控制分数下降的上界,并不等同于直接保证nDCG不下降。
第一步是估计w。系统离线准备校准查询token池,对每个token和当前页所有patch计算内积,以温度0.05做softmax,再对token求平均。结果是每个patch的正质量估计。温度趋近零时,它接近离散MaxSim胜出频率;有限温度使估计平滑,避免稀疏计数带来的不稳定。源边际设为a_j=N乘w_j,总质量因此为N;每个目标facet的边际设为N/K。
第二步是求带熵正则的最优传输。代价为1减facet与patch内积,传输矩阵T必须同时满足列和等于a、行和等于均衡目标质量。算法先用确定性的最远点方式初始化facet,在固定facet时用log域Sinkhorn交替更新源和目标势,再由指数运算恢复传输计划。固定T后,对每一行归一化,计算patch加权均值,以0.982的步长与旧facet混合并重新归一化。默认外层迭代5次,每次Sinkhorn迭代5次,熵温度同样为0.05。
第三步是球面Lloyd读出:把每个patch硬分给最相似的facet,按源质量加权求和并归一化;若某facet为空,保留其此前的软重心。均衡约束作用于软传输阶段,因此不能把它理解成最后每个簇必须有相同数量patch。压缩后的向量直接落盘,在线仍然运行标准MaxSim,校准查询不进入在线请求路径。
校准池从vidore/colpali_train_set的训练查询构造,与ViDoRe v1、v2及ViDoSeek测试查询分离。作者先从训练页patch中选择200个多样化视觉代表,再以视觉激活程度乘以到已选token的距离,选择1000个查询token。这里1000是token向量数,大致对应几十个完整查询,不是1000条标注样本。每个骨干要独立建池,因为嵌入空间不能混用。本方法没有新增编码器训练,因而不存在需要复现的优化器、训练batch或训练步数;关键复现项是校准来源、向量归一化和上述迭代参数。
3. 核心技术贡献
第一项贡献是把压缩目标与查询使用频率连接起来。普通聚类关心整体几何结构是否保真,MAGIC更关心未来查询会取走的那些最大内积是否被破坏。正文的误差上界给需求加权提供了明确依据,也使其区别于仅凭经验丢弃低注意力patch的方案。源边际是最关键的部分:在消融表的1%预算下,取消它会让nDCG@5从70.71降至61.88。
第二项贡献是将容量利用问题与证据重要性分开处理。只提高热门patch权重仍可能造成少数facet承载过多信息;均衡目标边际对软分配加约束,使有限容量更充分地参与匹配。这项收益小于需求加权,但方向稳定。在相同1%消融设置中,取消均衡目标边际得到70.02,比完整模型低0.69个百分点。
第三项贡献是构造可重复、无需重训的离线流程。小型校准池、有限轮Sinkhorn和Lloyd读出使压缩开销接近编码器本身的固定成本。其新颖性主要在检索需求建模和双边际组合,而非发明最优传输或聚类算法。与Light-ColPali相比,主表中1%预算的nDCG@5提高2.70个百分点,同时作者测得整页离线建库时间由212.72毫秒降到119.91毫秒。
4. 实验结果分析
主实验冻结ColQwen2.5,使所有后处理压缩器接收同样的页面向量;不同方法实际保留数量可能略有差异,作者称其为近似匹配预算。主要评测ViDoRe v1,并在其他骨干及ViDoRe v2检查迁移。
| 方法 | 保留比例 | nDCG@5(%) | Recall@5(%) |
|---|---|---|---|
| Light-ColPali | 0.10 | 81.32 | 87.99 |
| MAGIC | 0.10 | 82.12 | 88.39 |
| K-Means | 0.01 | 67.20 | 75.92 |
| Light-ColPali | 0.01 | 68.34 | 77.13 |
| ColChunk | 0.01 | 70.09 | 78.21 |
| MAGIC | 0.01 | 71.04 | 80.00 |
中等压缩时,MAGIC较最强基线的nDCG收益为0.80个百分点;极限预算时,它较ColChunk高0.95个百分点,较Light-ColPali高2.70个百分点。收益随预算收紧扩大,符合论文“容量错配在低预算下更严重”的动机。主表的1%结果为71.04,而消融表完整模型为70.71;正文未明确解释这0.33点差异,不能把两个表中的数值混合计算消融收益。
消融中,10%预算下取消源边际使82.12降到79.11,损失3.01点;1%预算下则损失8.83点。取消Lloyd读出在1%下由70.71降到70.19,影响0.52点。校准token数从1000增加到2000后收益趋于饱和,说明主要成本不需要靠大量校准查询堆积。作者还比较只做视觉激活、不保留多样性以及随机选token,完整方案最好;随机选择因为隐含多样性而仍具有竞争力。
资源测量使用2000页、每页平均743.5个原始向量,向量为fp32、128维。在线指标是单张NVIDIA H20上的全库穷举MaxSim,batch为1,对1000条查询各重复5次。原始索引为380.67 MB/千页、0.98毫秒/查询;MAGIC在1%预算下为3.86 MB/千页、0.06毫秒/查询,分别约99倍压缩和16.3倍打分加速,论文概述取约17倍。后者不含真实服务中的查询编码、网络、过滤与多级排序成本。
不能忽略与学习式方法的比较:ViDoRe v2固定每页64向量时,MetaEmbed在ESG人工标注子集为63.7,MAGIC为55.4,原始ColQwen2.5为64.6。这说明“优于后处理压缩基线”不能扩写成“全面优于所有压缩方法”。如果允许训练或更改模型,选择空间与本文设定不同。
5. 局限与未来方向
附录D.2明确列出三项限制。首先,校准池必须代表目标工作负载:罕见意图或特殊视觉模式覆盖不足时,对应patch会被低估。其次,极端压缩下多个精细patch不可避免地合并为一个facet,小字号字段、密集表格和依赖版面的证据仍可能丢失。最后,校准池与压缩索引依赖骨干模型,换模型就需要重新做离线校准和压缩。
基于这些限制,合理的后续实验是分层校准与动态预算:对中文截图、票据、表格和自然图文分别检查需求分布,再比较不同页面保留比例。这里属于实践推论,并非作者已经验证的结论。另一项需要补齐的证据是大型生产检索的端到端评测;本文的2000页穷举测试很好地隔离了打分成本,却没有覆盖亿级ANN索引、权限过滤、索引更新或线上点击行为。
6. 工业实践意义
对社区UGC搜索,最直接的试验对象是正文信息大量藏在截图里的帖子,以及表格、清单或长图问答。若系统已有视觉多向量通路,可以冻结现有编码器,复制一份索引,在10%、5%、1%三个预算上比较MAGIC与简单合并;先看Recall@K,再看重排前后nDCG,避免只看到索引省钱,却把候选阶段漏掉的内容交给重排器补救。
校准查询应来自历史真实流量,同时留出时间隔离的验证集。短查询、品牌和型号、口语缩写、否定词、小字数值、长尾实体都值得单独切片。上线前需要保存原始索引或回退路径,并观测查询分布漂移是否让旧需求权重失效。频繁更换编码器的团队还要把重新校准与全量压缩计入总成本,而不是只比较查询时延。
本文没有报告线上A/B、CTR或真实社区搜索nDCG。因此可以采纳的是离线容量分配设计、证据保真诊断和成本测量方法,不能直接承诺点击提升。对于仍以纯文本帖子为主的业务,先确认视觉内容召回是瓶颈,再投入多向量压缩;若主要缺口是意图理解或文本相关性,这篇论文提供的是另一条特定通路的优化手段。