跳转至

Efficient Discriminative Joint Encoders for Large Scale Vision-Language Re-ranking

会议: ICLR 2026
arXiv: 2510.06820
代码: GitHub
领域: 信息检索
关键词: 视觉语言检索, 联合编码器, 重排序, Token压缩, 高效推理

一句话总结

提出EDJE(高效判别式联合编码器),通过将视觉特征提取离线化并用轻量级注意力适配器压缩视觉Token,实现50k图文对/秒的高吞吐推理,同时在Flickr(零样本)和COCO(微调)检索上匹配现有联合编码器的性能,每张图仅需49kB存储。

研究背景与动机

大规模多模态检索中,基于嵌入的模型(如CLIP)通过向量相似度实现高效搜索,但独立编码两个模态限制了细粒度跨模态交互。联合编码器(如BLIP、BLIP-2)将两个模态联合处理,检索性能更强,在文本检索领域cross-encoder重排序已是标准范式。

核心矛盾:现有联合编码器的视觉特征提取是严重瓶颈——BLIP用ViT-B处理一个batch的64张图需~400ms,用ViT-L需~1400ms,视觉特征提取占总推理时间的83%-93%。相比之下,文本检索中最流行的MiniLM重排器仅22M参数、60ms处理同等batch。这解释了为什么多模态重排器在实际系统中几乎缺席。

核心idea: 将视觉特征提取离线化——图像编码一次后缓存到磁盘,推理时仅运行紧凑的联合编码器处理少量视觉Token和文本,同时通过Token压缩适配器大幅降低存储需求。

方法详解

整体框架

EDJE要解决的是「联合编码器又准又慢、慢在视觉编码」这个矛盾:联合编码器对每个候选图都要重跑一遍视觉编码器,而视觉编码占了总推理时间的83%–93%。关键观察是——视觉编码只看图、与查询无关,所以完全可以离线算一次缓存起来。据此EDJE把流程拆成离线、在线两段:离线时用ViT逐图编码,再经一个压缩适配器把每张图蒸成一小撮紧凑Token落盘缓存;在线时只让一个轻量语言模型(MiniLM)把缓存读出来的视觉Token和查询文本拼在一起做联合自注意力,直接吐出重排序分数。这样在线只剩极小的跨模态交互,吞吐冲到50k图文对/秒,而每张图缓存仅需49kB。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    IMG["候选图像库"] --> PRE["视觉预计算<br/>ViT 逐图编码(离线)"]
    PRE --> COMP["Token 压缩适配器<br/>可学习查询 576→64"]
    COMP --> CACHE["落盘缓存<br/>49kB/图"]
    Q["查询文本"] --> JOINT
    CACHE -->|在线读取| JOINT["紧凑联合编码器<br/>MiniLM 联合自注意力"]
    JOINT --> SCORE["重排序分数"]

关键设计

1. 视觉预计算:把最贵的一段算一次就缓存

联合编码器慢的根源在于视觉编码器对每个候选都要重算一遍,但它的输入只有图像、与查询无关,因此输出完全可以缓存复用。EDJE让ViT-B把每个16×16 patch投影成 \(d=384\) 的嵌入,以FP16存储时单图占用与原始8位RGB图像相当,这意味着可以放心地把视觉编码器换得更大更强来提升表示质量,而完全不增加在线成本。代价是原始Token直接落盘在web-scale数据库里不可行——总量可达TB级,因此必须配一个压缩环节,这正是下一个设计要解决的。

2. Token压缩适配器:用一组可学习查询把576个Token蒸成64个

为了把存储压下来又不丢关键语义,EDJE引入 \(m\) 个可学习的通用查询Token \(\mathbf{Q} = [\mathbf{q}_1, ..., \mathbf{q}_m]\),让它们通过交叉注意力从 \(n\) 个原始视觉Token \(\mathbf{X}\) 中聚合信息:

\[\mathbf{H} = \text{MultiHeadAttention}(\mathbf{Q}, \mathbf{X}\mathbf{W}_K, \mathbf{X}\mathbf{W}_V)\]

再经一个残差MLP块并线性投影到语言模型嵌入空间 \(\mathbf{Y} = (\mathbf{H} + \text{MLP}(\text{LayerNorm}(\mathbf{H})))\mathbf{W}_{proj}\)。取 \(m=64\) 时把576个ViT Token压到64个,单图存储从442kB降到49kB。之所以能压而不太掉点,是因为原始ViT Token本就高度冗余(语义分析显示大量Token映射到无意义的特殊符号),64个查询足以抓住物体和场景层面的关键信息。

3. 紧凑联合编码器:沿用VLM范式但把语言模型换成33M的MiniLM

拿到压缩后的视觉Token后,EDJE照搬VLM的做法——把它们投影进语言嵌入空间,与文本Token直接拼接,用自注意力一次性处理跨模态交互,从而保留联合编码器的细粒度匹配能力。区别在于语言模型只用33M参数的MiniLM,远小于BLIP的139–167M,配合极少的视觉Token使在线推理只需毫秒级。这种「ViT编码 + 压缩 + 语言模型」的解耦还带来模块化好处:任意ViT视觉编码器都能与任意预训练语言模型自由配对。

损失函数 / 训练策略

训练联合优化四个目标:图文匹配(ITM)做正对与batch内硬负样本的二分类,提供核心判别信号;掩码语言建模(MLM)随机掩掉50%文本Token让模型靠图像补全,强化跨模态依赖;文本嵌入恢复让CLS Token投影后与文本编码器嵌入的余弦距离最小化,对齐两种表示空间;此外用未压缩的Local模型当教师对压缩模型做logit级的Local-to-Compressed蒸馏,把压缩损失的判别能力补回来。数据上用CC12M/CC3M/SBU/VG/COCO共14M图文对预训练,再仅用COCO微调。

实验关键数据

主实验

Flickr30k零样本检索(SigLIP2 ViT-L/16, 384²):

方法 T2I R@1 I2T R@1 存储/图 参数量 推理时间
BLIP ViT-L/16 86.7 96.7 2,359kB 139M 101.61ms
BLIP-2 ViT-L/16 88.6 96.9 2,359kB 167M 98.64ms
EDJE Local 87.8 96.5 442kB 33M 4.14ms
EDJE Compressed-64 86.9 96.4 49kB 33M 1.91ms

EDJE对多种嵌入模型的提升(Flickr30k零样本T2I R@1):

骨干网络 原始 +EDJE 提升
CLIP ViT-B/16 62.1 76.8 +14.7
CLIP ViT-L/14 65.2 80.6 +15.4
SigLIP2 ViT-B/16 82.1 84.3 +2.2
SigLIP2 ViT-L/16 82.3 87.8 +5.5

消融实验

  • Token数量: 测试了{32, 64, 128, 256}个目标Token,64个Token在效率和性能间取得最佳平衡,32 Token出现明显性能下降,256 Token接近Local变体的576 Token性能
  • 重排池大小: 从k=5到k=50,检索性能在R@1/5/10上保持稳定,证明EDJE对噪声候选的鲁棒性
  • 训练目标: ITM单独→+MLM→+文本嵌入恢复,三者逐步叠加均有正向贡献,完整目标最强
  • Local-to-Compressed蒸馏: 为压缩变体提供进一步的判别能力增益
  • 语义分析: 压缩后的64个Token映射到有意义的物体/场景描述词(如boulders, caves),而未压缩的576 Token中大量映射到无意义的特殊Token(unused80),说明原始ViT Token存在大量冗余
  • 量化实验: 压缩Token量化存储后性能损失极小,可进一步优化存储-性能权衡

关键发现

  • EDJE作为即插即用重排器,对所有测试的嵌入模型(CLIP/DFN/MetaCLIP/SigLIP2)都有检索提升
  • 推理速度比BLIP-2快53×,存储减少48×(49kB vs 2,359kB/图)
  • 量化压缩Token后性能下降极小,可进一步优化存储-性能权衡

亮点与洞察

  • 精准识别视觉特征提取是联合编码器瓶颈(占83%-93%推理时间),提出的离线化+压缩方案简洁优雅
  • Token压缩适配器的语义分析很有启发性:大部分ViT Token确实是冗余的,64个压缩Token足以捕获关键语义
  • 设计具有高度模块化特性,作为drop-in重排器的实用价值极高
  • 论文的写作逻辑极其清晰:从瓶颈分析→范式转换→具体设计→实验验证,层层递进
  • 首次系统性地将文本检索中成熟的cross-encoder重排思路引入多模态检索,填补了重要空白

局限与展望

  • 仅涵盖图文检索,未覆盖多语言多模态检索、音频、视频等模态
  • 联合编码器的判别能力仍有提升空间,可探索更大或更强的语言模型替代MiniLM
  • 压缩到32 Token时性能下降明显,更极致的压缩方法值得研究
  • 对DFN和MetaCLIP的提升不如对CLIP和SigLIP2明显(DFN在Flickr上做过滤网络微调)
  • 未探索零样本分类和大规模数据集过滤等联合编码器擅长的下游应用

相关工作与启发

  • 与BLIP系列的关系: EDJE可视为BLIP重排能力的高效替代,核心贡献是将视觉特征提取从在线移到离线
  • 与ColBERT的联系: 类似文本检索中ColBERT的token级离线存储思路,但增加了压缩维度
  • 与Q-Former的关系: Token压缩层与BLIP-2的Q-Former有相似性,但更轻量且专注于压缩而非生成
  • 与LightningDOT对比: LightningDOT用Region特征做重排但每个region压缩为单向量,本质更接近嵌入模型而非真正的联合编码器

评分

  • 新颖性: ⭐⭐⭐⭐ 核心idea(离线视觉+压缩Token)直觉清晰,但各组件均有先驱
  • 实验充分度: ⭐⭐⭐⭐⭐ 跨多种骨干网络验证、详细消融、语义可视化、效率分析全面
  • 写作质量: ⭐⭐⭐⭐⭐ 问题定义精准,动机阐述极其清晰,瓶颈分析有数据支撑
  • 价值: ⭐⭐⭐⭐⭐ 高实用价值,填补了多模态检索中联合编码器重排器的空白