现有的信息检索(IR)模型大多假设一个同质化的格式,这严重限制了它们应对多样化用户需求的能力——比如用文本描述搜图、用新闻标题图片找文章、或者用一张查询图寻找类似图片。为了搞定这些五花八门的检索场景,我们带来了UniIR:一个统一的、指令引导的多模态检索器,能够处理跨模态的八种不同检索任务。它作为一个单一检索系统,联合训练了十个不同的多模态IR数据集,通过解读用户指令来执行各种检索任务,不仅在现有数据集上表现强势,还能零样本泛化到新任务。实验强调了多任务训练和指令调整是UniIR泛化能力的关键。此外,我们还构建了M-BEIR——一个多模态检索基准,提供了全面的结果,用于标准化通用多模态信息检索的评估。
1. 引言
信息检索(IR)是个关键活儿,要从海量数据中找出满足用户需求的相关信息。随着生成式AI的兴起,这个过程变得越发重要——它不仅能实现精准归属,还能减少内容生成中的幻觉和伪造风险。但话说回来,尽管IR在当前技术格局中扮演着重要角色,现有文献(尤其是多模态IR领域)大多视野狭窄,只盯着预定义格式的同质化检索场景,通常局限在单一领域。比如,MSCOCO考虑用文本说明检索Flickr图像,EDIS考虑用新闻标题检索新闻头条图片。这种同质化设置根本不够用——用户的需求跨越领域和模态,千差万别。举个例子:有人可能通过文本查询搜网络图像,另一个人则可能用一张裙子的照片加上“类似款式”或“红色”这样的文本输入,来找特定裙子的类似时尚产品。当前的多模态检索系统容量不足,只能在预训练CLIP模型上做点特定任务的微调。意识到这些局限之后,我们迫切需要构思并开发一个更灵活、更通用的神经检索器,能够连接不同的领域、模态和检索任务,满足用户的多样化需求。
图1。我们通过指令调整构建了一个通用的多模态信息检索器UniIR。UniIR能够接受任何形式的查询和指令来检索任何模态的信息。
在这篇论文中,我们提出了UniIR框架,目标是学习一个单一的检索器来完成(几乎)任何检索任务。与传统IR系统不同,UniIR需要遵循指令,用异构查询从包含数百万候选项的异构候选池中检索结果。为了训练UniIR模型,我们构建了M-BEIR——一个基于现有10个不同数据集的指令遵循多模态检索任务基准,将它们的查询和目标统一到一个统一的任务表述中。查询指令被精心设计,用来定义用户的检索意图,从而指引信息检索过程。我们在M-BEIR的30万训练实例上训练了基于预训练视觉-语言模型(如CLIP和BLIP)的不同UniIR模型,并采用了不同的多模态融合机制(评分级融合和特征级融合)。实验表明,UniIR模型能够精确遵循指令,从异构候选池中检索所需目标。我们最好的UniIR模型是基于评分融合的CLIP,它不仅微调数据集上结果非常亮眼,还能泛化到保留的数据集(图6)。消融研究揭示了两个洞见:第一,UniIR(BLIP)中的多任务训练效果显著,recall@5提升了+9.7(表6);第二,指令调整对于帮助模型泛化到未见过的检索数据集至关重要,recall@5提升了+10(图5)。
贡献总结如下:
- UniIR框架:一个旨在将各种多模态检索任务整合到统一系统中的通用多模态信息检索框架。
- M-BEIR:一个大规模多模态检索基准,汇集了来自多个领域的10个不同数据集,涵盖8种不同的多模态检索任务。
- 我们引入了在M-BEIR上训练的UniIR模型,为未来研究奠定了基础基线。此外,我们还评估了SOTA视觉-语言预训练模型在M-BEIR基准上的零样本性能。
2. UniIR框架
2.1 问题定义
在通用多模态搜索引擎中,用户可以根据特定需求发起各种搜索任务。这些任务涉及不同类型的查询和检索候选项。查询q可以是文本qt、图像qi,甚至图像-文本对(qi, qt);而检索候选项c也可以是文本ct、图像ci,或图像-文本对(ci, ct)。表1定义了八种现有的检索任务。注意,组合查询(qi, qt)通常涉及一个关于图像qi的基于文本的问题qt。另一方面,组合目标(ci, ct)通常包括一个图像ci,伴随描述性文本ct,提供上下文信息。为了适应不同的检索意图,我们引入了一个语言任务指令qinst,代表检索任务的意图。这个指令清晰定义了搜索目标——无论是找图像、文本,还是两者的混合,并指定了相关领域。更多信息在第3节。更正式地说,我们的目标是构建一个统一的检索器模型f,能够接受任何类型的查询来检索由指令qinst指定的任何类型的目标:
这里,C表示异构候选池,f(·)是我们正在优化的最大点积检索函数,c∗是预测结果。通过包含任务指令,我们将不同的多模态检索任务统一到一个单一框架中,从而构建了一个通用的多模态检索器。此外,通过指令微调的语言模型已经展示了遵循指令进行零样本泛化的能力。但是,把这种零样本泛化概念应用到多模态检索领域面临着挑战——缺乏为此目的量身定制的现有数据集。为了解决这个缺口,我们创建了一个全面的、统一的数据集,名为M-BEIR,详细内容见第3节。M-BEIR将作为探索和推进多模态检索模型能力的基础资源。
2.2 UniIR模型
这一节介绍UniIR模型,我们的统一多模态信息检索系统。UniIR模型擅长同时处理不同的检索任务。我们为UniIR实验了两种多模态融合机制:评分级融合和特征级融合。为了探索这些方法的有效性,我们适配了像CLIP和BLIP这样的预训练模型,如下所示。
评分级融合。如图2(a)所示,CLIP和BLIP的评分级融合变体(分别记为CLIPSF和BLIPSF)使用不同的编码器进行视觉和文本处理。具体来说,视觉编码器标记为fI,单模态文本编码器为fT。在这些方法中,图像和文本输入(无论来自查询还是目标)被处理成两个单独的向量,然后经加权和形成统一的表示向量。数学上表示为:f(qi, qt, qinst) = w1fI(qi) + w2fT(qt, qinst)用于查询,f(ci, ct) = w3fI(ci) + w4fT(c)用于目标。因此,查询q和目标c之间的相似性分数被计算为模态内和跨模态相似性分数的加权和:
w1, w2, w3, w4是一组可学习的参数,反映重要性权重。
图2(a) 评分级融合示意图
特征级融合。与分别处理单峰数据不同,特征级融合在编码阶段集成特征。这种方法使用混合模态注意力层计算多模态查询或候选者的统一特征向量。如图2(b)所示,对于CLIP特征级融合(CLIPFF),我们增强了预训练的视觉编码器fI和文本编码器fT,增加了一个2层多模态变换器(架构与T5相同),形成混合模态编码器fMIX。对于BLIP特征级融合(BLIPFF),过程从通过视觉编码器fI提取图像嵌入开始,然后这些嵌入通过BLIP的图像基础文本编码器的交叉注意力层与文本嵌入集成,也标记为fMIX。在CLIPFF和BLIPFF中,查询和目标的最终表示——分别表示为fMIX(qi, qt, qinst)和fMIX(ci, ct)——是分别获得的,但使用相同的fMIX。然后通过以下方式计算查询和目标之间的相似性分数:
图2(b) 特征级融合示意图
我们在M-BEIR训练数据上微调了上述四种模型变体(详见第3节),采用查询-目标对比目标。为了遵循统一的指令调整格式,将指令qinst作为前缀集成到文本查询qt中。见图3中的例子。对于缺少图像或文本模态的查询或候选项,我们填充令牌。
3. M-BEIR基准
为了训练和评估统一的多模态检索模型,我们构建了一个名为M-BEIR(多模态指令检索基准)的大规模检索基准。M-BEIR基准包括八个多模态检索任务和十个来自不同领域和图像源的数据集。每个任务都附带人类编写的指令,总共包含150万个查询和560万个检索候选池(见表1)。
3.1 数据格式
为了统一多模态检索任务(这些任务由源查询和目标候选者中的不同模态组成),M-BEIR中的每个任务都包括查询Q = {q1, q2, ...},一组候选者C = {c1, c2, ...},其中q和c都支持文本和图像模态,并且提供了人类编写的指令qinst以指定检索任务的意图。M-BEIR数据集中的每个查询实例都包括一个查询q、一个指令qinst、一系列相关(正面)候选数据c+和一系列可能可用的不相关(负面)候选数据c−。见图3中的例子。每个M-BEIR查询实例至少有一个正面候选数据,可能没有负面候选数据。我们的默认检索设置是模型需要从所有不同模态和领域的异构候选池中检索正候选者。
3.2 数据集收集
M-BEIR基准涵盖了各种领域:日常图像、时尚物品、维基百科条目和新闻文章。它通过利用各种数据集,整合了8个多模态检索任务。数据选择方面,为了构建一个统一的指令调整多模态检索模型和全面的评估基准,我们旨在覆盖广泛的多模态任务、领域和数据集。这些包括以检索为重点的数据集(OVEN、EDIS、CIRR和FashionIQ),图像-标题数据集(MS-COCO、Fashion200K、VisualNews),图像相似性测量数据集(NIGHTS),以及基于检索的VQA数据集(InfoSeek、WebQA)。这些数据集原本为不同目的设计,但在M-BEIR基准中被重新用作检索任务。对于图像-标题数据集,我们按照MS-COCO的方式重新利用图像-标题对作为检索任务。对于其他数据集,我们采用原始查询,并使用注释的黄金候选者作为正面候选者c+,注释的困难负例作为不相关候选者c−。我们还采用了提供的候选池。总的来说,M-BEIR涵盖8种不同的多模态检索任务和4个领域,拥有一个全球候选池,共560万候选者。见表3的完整数据集列表。为确保基准数据平衡,我们从较大的数据集如VisualNews、OVEN和InfoSeek中修剪了候选池和实例,这些数据集原本包含100万到600万实例,显著大于其他数据集。为了方便训练、验证和测试,我们使用每个数据集的原始拆分。如果数据集只发布验证集,我们将一部分训练数据保留用于验证,并在原始验证集上报告结果。否则,我们使用测试集报告结果。更多数据处理细节见附录。
指令注释指南。指令调整成功的一个关键组成部分是指定任务意图的多样化指令。为了设计多模态检索任务的指令,我们从TART的指令模式中获得灵感。我们的M-BEIR指令通过意图、领域、查询模态和目标候选模态来描述一个多模态检索任务。具体来说,意图描述了检索资源与查询的关系。领域定义了目标候选者的预期资源,例如维基百科或时尚产品。对于像Fashion200K这样的文本到图像检索数据集,我们的指令将是:“基于以下时尚描述,检索最佳匹配的图像。”更多例子见表1和图3。按照指令注释指南,我们为每个检索任务的每个查询编写了4个指令。完整的指令列表在附录表9和表10中。
3.3 评估指标
我们遵循标准检索评估指标,在MSCOCO上报告recall@k,并为所有数据集报告结果。具体来说,我们遵循CLIP/BLIP在MSCOCO上的召回实现,如果检索到的实例与相关实例重叠,则将其计为正确。我们主要报告所有数据集的Recall@5,除了Fashion200K和FashionIQ,按照先前工作报告Recall@10。完整的Recall@1/5/10结果可以在附录表11中找到。
4. 实验
在我们的实验中,我们评估了各种多模态检索模型在M-BEIR数据集上的性能,利用了预训练的视觉-语言变换器模型。我们使用了公开可用的检查点,如表2所列。评估包括SoTA模型、微调基线和UniIR模型(详见第2节),在两种检索场景下:(1)从M-BEIR 560万候选池中检索,该候选池由所有任务的检索语料库组成;(2)从原始数据集提供的特定任务池(同质候选者)中检索,这使我们能够与现有的SoTA检索器进行公平比较。我们将这个特定任务池称为M-BEIRlocal。检索过程包括两步:首先提取池中所有查询和候选者的多模态特征向量;然后使用FAISS进行索引和检索候选者。
4.1 基线
零样本SoTA检索器。我们使用像CLIP (L-14)、SigLIP (L)、BLIP (L)和BLIP2这样的预训练视觉-语言模型作为基线特征提取器。问题是,这些模型无法理解检索任务的意图,因为输入只是查询q,因此它们在标准设置(1)中从异构候选池中检索的表现预计会很差。我们不使用q指令,因为发现这甚至会降低零样本检索性能。
单/多任务微调基线。我们将CLIP和BLIP作为单任务基线检索器在特定数据集上进行微调。还对全部M-BEIR训练数据上的CLIP和BLIP进行了联合微调,没有纳入指令,作为多任务基线检索器。模型只接受q和c作为输入,使用查询-目标对比训练目标最大化正对相似度,同时最小化负对相似度。
实现细节。对于所有CLIP和BLIP变体,我们使用最大的检查点,即ViT-L14。默认图像分辨率为224×224,除非另有说明。我们使用105的批处理大小用于CLIP变体,115用于BLIP变体。其他超参数遵循原始实现。对于评分融合方法,默认设置w1=w2=w3=w4=1。所有实验在一个节点上进行,有8个H100 GPU。更多细节见附录。
4.2 实验结果
我们在表2中报告了M-BEIR上的主要结果,模型从560万池中检索候选者。可以看出,零样本模型在这样的异构池中检索查询信息确实困难。表3展示了指令调整是一个关键组成部分,表5提供了多模态特征融合架构的设计洞见。此外,我们还进行了实验来了解UniIR的零样本泛化能力——在一部分数据集上训练UniIR模型和多任务基线,然后在保留的测试集上评估,这使得UniIR与其他零样本检索器具有可比性。
零样本检索器无法理解检索意图。我们首先对四个开源的跨模态嵌入模型进行了基准测试,发现大多数任务的召回值接近零。为了证明这一点,表2中提供了BLIP2的例子。这些预训练模型在没有指令引导的情况下,很难理解任务意图。例如,在MSCOCO上的文本到图像检索任务中,所有零样本模型都从全局池中检索文本实例,导致召回率为0%。这是预期的——因为当查询和候选者来自同一模态时,相似性分数往往更高。此外,我们观察到(例如表2中的BLIP2),零样本模型无法有效融合模态,当检索候选者是图像-文本对而非文本片段时,WebQA的召回率从35.2%下降到0%。在图4中,我们展示了BLIP2在EDIS查询中从错误模态检索分心候选者的例子。
表3. 在M-BEIR上进行指令调整实验(Recall@5)。∆:UniIR - 多任务(Multi.)。
指令调整提高了M-BEIR上的检索。为了理解指令调整在UniIR中的好处,我们在表3中比较了UniIR与多任务微调基线。尽管架构相同,UniIR模型在M-BEIR上的表现显著优于基线,平均Recall@5提高了12.8和10.9。最大的改进出现在跨模态检索任务1和3中。没有指令时,多任务基线很难理解任务意图,倾向于从与查询相同模态的候选者中检索。但指令调整并没有显著改进模态内检索任务2和5,因为这些任务不需要嵌入模型理解意图。UniIR能够精确遵循指令。为了进一步证明UniIR优于多任务微调基线,我们对检索错误进行了分析,将错误分为三类:模态错误、领域错误和其他错误。结果如表4所示。多任务模型在从全局池中检索具有错误模态的实例方面的错误率高达58.8%和50.9%。而通过指令微调,UniIR模型成功学会了检索意图模态,将错误率显著降低到2.7%和15.2%。在图4中,我们展示了零样本、多任务和UniIR模型在EDIS查询上的前5个检索候选者的可视化例子。零样本模型(BLIP2)和多任务模型(CLIPSF)大多从错误模态(ct)检索分心候选者,而UniIR(CLIPSF)从正确的模态(ci, ct)检索所有正面候选者。附录中有更多例子。
表4. M-BEIR上的错误分析。
UniIR可以泛化到未见过的检索任务。在多任务微调阶段,我们排除了三个数据集(WebQA, OVEN, CIRR),并在其余M-BEIR数据集上训练了UniIR模型和多任务基线。在M-BEIR全局池上测试时,我们评估了所有微调模型的零样本性能,以及SoTA预训练检索器(CLIP和BLIP)在三个保留数据集上的性能。图5比较了SoTA(CLIP和BLIP)检索器的平均性能、多任务微调基线的平均性能(Multi-task)、UniIR(CLIPSF)和UniIR(BLIPFF)的平均性能。结果表明两个主要发现:首先,UniIR模型在保留数据集上的零样本评估中显著超过SoTA检索器基线;其次,结合指令调整的UniIR模型在未见任务和数据集上展现出比没有指令的多任务对应物更优越的泛化能力。
与预训练模型架构保持一致。在表5中,我们比较了评分融合和特征融合之间的融合架构设计。评分融合是CLIP模型(即CLIPSF)的原生融合,特征融合是BLIP与其预训练的交叉注意力变换器编码器(即BLIPFF)的原生融合。通过遵循预训练架构设计,微调UniIR模型在每个任务上获得了更高的Recall@5分数,平均改进了5.7和2.8。此外,避免在微调期间添加随机初始化的层(例如CLIPFF中使用的T5混合模态层)很重要——这些层没有预训练,可能导致过拟合,尤其对于像OVEN/InfoSeek(任务8)这样的任务。CLIPFF和CLIPSF在任务8中的比较揭示了性能的显著下降,从52.4降低到46.3。

4.3 与现有方法的比较
为了将UniIR与现有检索器进行比较,我们还评估了同质设置——检索器只需从特定任务池中检索,这更符合传统IR设置。此外,我们进行了保留实验,以检查UniIR在M-BEIRlocal上的零样本泛化能力,与基线模型对比。
UniIR vs 零样本检索器。表6显示,虽然SigLIP以平均值37.2%的R@5获得零样本SoTA检索器中的最高平均值,但我们的UniIR模型(CLIPSF)和(BLIPFF)以显著优势超过它,平均R@5分别为50.6%和46.8%。
UniIR vs 单任务调整。表6表明多任务指令调整在UniIR框架中优于单任务微调。UniIR(BLIPFF)在R@5上大大超过其单任务对应物,平均提高9.7%,并且在任务7组合图像检索(如CIRR)上有显著改进——48.6%对13.9%。UniIR(CLIPSF)也表现出总体改进1.2%,尤其在Fashion200K和InfoSeek上。相比之下,没有使用指令的多任务训练在平均上不会有这样的改进——CLIPSF保持在49.4%。
在保留数据集和任务上的泛化性能。图6展示了SoTA CLIP和BLIP检索器的平均零样本性能、多任务微调基线的平均零样本性能,以及UniIR(CLIPSF)和UniIR(BLIPFF)在三个保留数据集上的平均零样本性能。UniIR模型在三个保留数据集上的5个任务中持续优于SoTA检索器和多任务训练基线。另一方面,没有使用指令的多任务训练在WebQA(任务2)和OVEN(任务6)等任务上的表现甚至比SoTA检索器基线更差。
5. 相关工作
多模态信息检索。近年来,跨模态信息检索领域得到了显著探索,尤其强调图像到文本的匹配。MSCOCO和Flickr30k等数据集已成为评估预训练视觉-语言模型(如ALIGN、VILT、ALBEF、MURAL和ImageBind)进展的标准基准。然而,细粒度图像检索往往依赖通过文本表达意图的能力,这在多模态查询中带来了挑战。虽然文本到文本检索基准BEIR推进了构建通用零样本文本检索系统的研究,但一个涵盖广泛任务的统一多模态信息检索基准仍然缺失。希望M-BEIR的引入能加速向更通用多模态信息检索模型的进展。
检索增强模型。检索增强在过去几年得到了广泛研究。ORQA、RAELM、RAG和FID是最早学习检索器和语言模型联合从弱监督数据集中学习的工作。后来,RETRO将检索增强训练扩展到大规模语言模型,以相对较小的语言模型展示了巨大性能提升。ATLAS进一步将检索增强训练理念扩展到少样本学习,在更广泛的知识密集型任务上展示了性能提升。这些工作主要集中在检索文本段落以增强语言模型。后来,RAC3M、REVEAL和MuRAG展示了从Wikipedia检索多模态内容来回答视觉信息寻求问题的优势。多模态增强理念也应用于图像生成,如KNN-diffusion、Re-imagen和RA-diffusion。与我们工作最接近的是TART,它也旨在构建一个单一的检索器,根据指令检索不同内容。然而,TART仍然只关注文本到文本模态。
指令调整。指令调整模型——即模型被训练以遵循用户指令——已成为大型语言模型研究的重要领域。FLAN和FLAN-T5展示了泛化到未见自然语言任务的能力,InstructGPT进一步说明了指令调整如何使语言模型更紧密地与用户意图对齐。最近,视觉指令调整在视觉-语言任务中得到探索,如视觉问答模型(InstructBLIP和LLaVA)或数据集(MultiInstruct)。在图像扩散模型中,InstructPix2Pix和MagicBrush数据集展示了扩散模型如何遵循指令编辑图像。然而,与我们工作最相关的检索增强模型(如InstructRETRO、RA-DIT以及嵌入模型如OneEmbedder和TART)仍然是纯文本的。相比之下,UniIR展示了在多模态检索中跨数据集泛化的前景,表明了集成到多模态LLMs的潜在进展。
6. 结论
我们介绍了UniIR,一个构建通用多模态信息检索模型的框架。该框架使一个统一的检索器能够遵循自然语言指令,并完成不同模态的各种信息检索任务。我们构建了M-BEIR基准来支持UniIR模型的训练和评估。实验表明,我们提出的指令调整流程能够在不同检索任务和领域间很好地泛化。当然,现有模型的性能仍然不够完美,意味着未来有很大的改进空间。我们认为,拥有更强视觉-语言骨干模型的大规模预训练算法可以为缩小这一差距奠定基础,我们将这一方向留给未来的探索。
