传统的检索增强生成Retrieval-Augmented GenerationRAG方法由于依赖固定数量的检索文档而受到限制往往会引入不完整或噪声较大的信息从而削弱整体任务性能。尽管近期提出的一些自适应方法在一定程度上缓解了这些问题但其在复杂且真实世界的多模态任务中的应用仍然较为有限。为此我们提出了一种新的方法——自适应多模态检索增强生成Self-adaptive Multimodal Retrieval-Augmented GenerationSAM-RAG专门针对多模态场景进行设计。SAM-RAG 不仅能够根据输入查询动态筛选相关文档在需要时还会引入图像描述信息还能够对检索到的文档质量以及最终生成结果进行验证。大量实验结果表明SAM-RAG 在检索准确率和回答生成质量方面均优于现有的最新方法。通过进一步的消融实验与有效性分析我们发现SAM-RAG 在多模态 RAG 任务中在保持高召回率的同时显著提升了整体任务性能。相关代码已开源地址为https://github.com/SAM-RAG/SAM_RAG引言Introduction近年来大型语言模型Large Language ModelsLLMs的快速发展显著推动了多项自然语言处理任务的性能提升Manikandan et al., 2023OpenAI et al., 2024Ouyang et al., 2022Touvron et al., 2023Anil et al., 2023其中包括问答任务Tan et al., 2023。此外LLMs 也开始突破模态边界在视觉理解Pan et al., 2022、代码生成Wang et al., 2024等多模态任务中展现出潜力。然而当前 LLM 仍面临诸多挑战例如生成虚假信息幻觉Li et al., 2022以及知识更新困难Zhang et al., 2023这些问题限制了其在更广泛实际场景中的应用。为应对上述挑战检索增强生成Retrieval-Augmented GenerationRAG方法被提出Lewis et al., 2020。RAG 的核心假设是在语义空间中与查询相似的文档更有可能包含回答该查询所需的信息。通过利用 LLM 的上下文学习能力RAG 能够基于语义相关文档生成更准确的回答同时有效减少幻觉现象并促进知识获取Li et al., 2024。随着 RAG 技术的发展其应用逐渐扩展至多模态领域并在文本Wu et al., 2024、图像Pan et al., 2022等任务中取得进展。图 1 给出了一个多模态 RAG 任务示例其中部分问题依赖视觉信息仅使用文本检索无法完成回答需要对视觉上下文进行检索与推理。尽管 RAG 具有显著优势但其仍面临重要挑战尤其体现在适应性不足方面Zhao et al., 2024。RAG 通常依赖于固定数量的检索文档这容易导致关键信息遗漏或引入过多噪声从而对性能产生负面影响。此外RAG 缺乏对生成结果进行有效验证的机制。为解决这些问题研究者提出了自适应 RAG 框架能够根据具体任务需求动态调整检索策略在多项任务中显著提升 RAG 性能。然而针对多模态场景的自适应 RAG 研究仍然较为有限。为此我们提出了Self-Adaptive Multimodal Retrieval-Augmented GenerationSAM-RAG这是首个具备主动选择相关数据并能够自我评估生成结果的自适应多模态 RAG 框架。通过将先进模型的知识蒸馏至一个更小规模的多模态 LLM我们在保证效率的同时实现了卓越的多模态任务性能。SAM-RAG 定义了三个核心判别标准相关性relevance、可用性usefulness和支持性support。在处理查询的过程中SAM-RAG 会对每一组检索结果进行独立评估在检索之后识别与查询相关的数据随后基于这些相关上下文生成初步回答并评估各上下文对回答生成的贡献最终框架会对查询、上下文和生成的回答进行全面验证。该流程确保生成的答案能够被所提供的上下文充分支撑从而显著降低幻觉发生的概率。我们设计了一系列实验并引入多种基线方法来评估所提出的框架。实验结果表明SAM-RAG 在多模态 RAG 任务中显著优于包括MuRAGChen et al., 2022在内的现有最先进方法以及其他基线模型充分展示了其在多模态检索与生成方面的强大能力。消融实验验证了三种验证机制的合理性与有效性而检索效果分析进一步强调了动态检索在性能提升中的关键作用。此外案例分析通过具体示例展示了各验证机制如何单独及协同提升检索准确率和回答生成质量。SAM-RAG 框架将动态检索、相关性验证以及多阶段答案验证有机结合以优化多模态任务性能在最小化幻觉的同时确保生成答案的准确性与可支撑性。整体流程涵盖模态对齐、文档检索以及针对相关性、可用性和支持性的迭代验证从而同时提升输出质量与模型鲁棒性。2 相关工作Related Works2.1 检索增强生成Retrieval-Augmented Generation检索增强生成RAG通过向语言模型引入外部知识显著提升了生成结果的相关性与准确性。早期研究主要集中于文本模态。例如Re2GGlass et al., 2022结合了 BM25 与深度学习检索方法UPRISECheng et al., 2023引入了提示检索器prompt retriever以增强大语言模型的零样本能力QOQAKoo et al., 2024则通过**查询重写query regeneration**来提升检索性能。然而这些方法普遍依赖于固定数量的检索结果从而限制了其对具体任务的适应性。SAM-RAG 通过采用自适应检索机制克服了这一局限性能够对召回文档进行动态评估从而提升回答生成质量。2.2 多模态检索增强生成Multimodal Retrieval-Augmented GenerationRAG 研究中的一个重要方向是多模态场景即融合文本Wu et al., 2024、图像Pan et al., 2022、表格Dong et al., 2024以及音频Xu et al., 2019等多种数据形式其中**视觉问答VQA**是一个核心研究任务Ishmam et al., 2024。多模态 RAG 与纯文本 RAG 的主要区别在于前者需要将不同模态统一到同一表示空间中这一过程通常被称为模态对齐modality alignment。当前的大语言模型由于利用了大规模互联网语料进行训练在推理、分析与生成能力方面表现尤为突出且在这些任务上往往优于视觉等其他模态Jin et al., 2024。因此多模态 RAG 中的一种常见做法是通过**模态转换器modality converter**将非文本模态转化为文本表示从而充分发挥 LLM 在文本处理方面的优势Zhao et al., 2023。例如RA-VQALin and Byrne, 2022利用目标检测从图像中生成多种文本描述并将其用于标准 RAG 流程而 MMHQA-ICLLiu et al., 2023和 UniMMQALuo et al., 2023则融合文本、表格和视觉信息使其能够适配基于文本的 RAG 技术。本文主要关注文本与图像两种模态并在此基础上融合上述方法以高效提取图像中的关键信息。2.3 自适应检索增强生成Adaptive Retrieval-Augmented Generation检索质量对 RAG 的整体性能具有决定性影响因为无关或错误的文档往往会导致模型产生“幻觉”Huang et al., 2023b。传统 RAG 框架依赖固定数量的检索文档这不仅可能遗漏关键信息也容易引入无关内容。此外传统 RAG 还缺乏对生成答案的验证机制。为此自适应 RAG 框架被提出。例如Self-ImproveHuang et al., 2023a和 Self-RefineMadaan et al., 2023通过反馈循环机制对模型错误进行修正Self-CorrectionWelleck et al., 2023与 Self-ReasoningXia et al., 2024进一步通过推理过程来提升检索质量Self-RAGAsai et al., 2024则引入按需检索on-demand retrieval与反思机制reflection显著增强了模型的适应性。SAM-RAG 在上述研究基础上进一步拓展将主动筛选active screening与反思机制引入到多模态领域中构建了更加动态的检索流程从而推动了多模态 RAG 方法的发展。3.1 任务定义Task Definition形式化地RAG 任务首先使用检索器 RRR 从文档集合D{d1,d2,…,dn}D \{d_1, d_2, \ldots, d_n\}D{d1,d2,…,dn}构建检索数据库。对于查询集合Q{q1,q2,…,qm},Q \{q_1, q_2, \ldots, q_m\},Q{q1,q2,…,qm},检索器 RRR 会为每个查询 qqq 识别一个相关文档子集Drel{d1,d2,…,dk},D_{\text{rel}} \{d_1, d_2, \ldots, d_k\},Drel{d1,d2,…,dk},并基于该文档集合生成一个由 sss 个 token 组成的答案序列A[a1,…,as]。A [a_1, \ldots, a_s]。A[a1,…,as]。其中k(kn)k (k n)k(kn) 通常是一个预先设定的检索数量。在多模态 RAG 任务中整体流程通常包括以下步骤首先模态转换器 PPP 将其他模态的信息转换为语言模型 LLL 可理解的格式并与文本数据进行融合以便检索其次对于每个查询 qqq检索器 RRR 识别相关信息集合 DrelD_{\text{rel}}Drel最后语言模型 LLL 基于检索到的信息生成一个由 sss 个 token 组成的回答 [a1,…,as][a_1, \ldots, a_s][a1,…,as]。在实际系统中模块 PPP 与 LLL 往往被整合为一个统一模块 MMM以简化整体流程。3.2 嵌入模型Embedding Model在 RAG 框架中检索结果的质量对整体性能至关重要Salemi and Zamani, 2024。为了提升检索器 RRR 的召回能力我们通过**对比学习contrastive learning**来优化其表示能力。对于给定查询 qqq能够支持标准答案的文档构成正样本集合DposD_{\text{pos}}Dpos从而形成正样本查询–文档对 (Q,Dpos)(Q, D_{\text{pos}})(Q,Dpos)。其余文档则构成负样本集合DnegD_{\text{neg}}Dneg。我们采用Dense Passage RetrievalDPRKarpukhin et al., 2020对负样本集合 DnegD_{\text{neg}}Dneg 进行排序并从排名前 50 的文档中随机选取 10 个作为负样本构建负样本查询–文档对 (Q,Dneg)(Q, D_{\text{neg}})(Q,Dneg)。最终我们构建了一个约24 万条样本的数据集其中每个查询对应一个正样本文档 dposd_{\text{pos}}dpos 和一个负样本文档 dnegd_{\text{neg}}dneg用于对检索器 RRR 进行微调。我们使用InfoNCE 损失函数He et al., 2020来优化检索器性能其形式如公式1所示。其中DposD_{\text{pos}}Dpos 表示支持答案的文档集合τ\tauτ 为温度超参数。目标是最小化正负样本之间的损失 ℓ\ellℓ。ℓ−logexp(Q⋅Dpos/τ)∑exp(Q⋅D/τ)(1)\ell -\log \frac{\exp(Q \cdot D_{\text{pos}} / \tau)}{\sum \exp(Q \cdot D / \tau)} \tag{1}ℓ−log∑exp(Q⋅D/τ)exp(Q⋅Dpos/τ)(1)3.3 多模态知识蒸馏Multimodal Knowledge Distillation知识蒸馏是一种将高性能模型教师模型的知识迁移到结构更简单模型学生模型中的方法能够在降低模型复杂度的同时提升其性能Yang et al., 2024。在大语言模型中该技术已被证明可以有效地将大模型的能力迁移至小模型Jin et al., 2024Gu et al., 2024Li et al., 2023。在本研究中我们使用GPT记为 GGG生成指令微调数据以提升本地多模态模型 MMM 的性能Peng et al., 2023并增强其推理与生成能力。通过引入思维链推理Chain-of-Thought, CoTWei et al., 2022我们保留了模型 GGG 的完整推理过程用于高效的模型蒸馏。模型蒸馏的数据构建流程如下首先针对查询–图像对 {q,dpos}\{q, d_{\text{pos}}\}{q,dpos}由模型 GGG 生成与查询相关的图像描述 DscD_{\text{sc}}Dsc并仅保留生成答案 AAA 与标准答案一致的推理过程。随后基于查询–文档对 {q,d∣d∈Dsc,Dt}\{q, d \mid d \in D_{\text{sc}}, D_t\}{q,d∣d∈Dsc,Dt} 推断相关性标记isRel并保留推断结果为True的推理过程。为提升效率负样本集合 DnegD_{\text{neg}}Dneg 先通过 DPR 进行排序并从相似度最高的前 10 个文档中随机选取与正样本数量相同的文档进行推理其中isRel False的推理过程被保留。接着从筛选后的 DposD_{\text{pos}}Dpos 中生成粗粒度答案 AAA并仅保留结论与标准答案一致的推理过程。随后基于集合{q,d,A∣d∈{Dsc,Dt}}\{q, d, A \mid d \in \{D_{\text{sc}}, D_t\}\}{q,d,A∣d∈{Dsc,Dt}}推断isUse ?是否有用。与 isRel 相同保留推断结果一致的正负样本推理过程。最后推断isSup ?是否支持。对于负样本保留isSup False的推理过程而对于正样本则保留推断结果为True 或 Partial的推理过程。3.4 SAM-RAG 框架如图 2 所示下面对SAM-RAG框架的各个组成部分进行说明。多模态 RAG 任务的整体执行流程被划分为五个阶段1模态对齐Modality Alignment2文档检索Document Retrieval3相关性验证Relevance Verification4答案生成Answer Generation以及5答案验证Answer Verification。首先将整个文档语料库中的图像信息对齐到文本模态。在接收到查询之后系统执行文档检索操作。随后对检索到的结果按照相似度进行排序并逐条评估其与查询的相关性仅保留与查询高度相关的结果。基于这些相关文档框架生成答案 AAA。随后对生成答案的有效性进行验证若验证通过则返回该答案并结束检索流程。该方法的核心创新点在于引入了三种关键的验证机制其具体定义见表 1。所使用的提示词prompts列于附录 B。3.4.1 模态对齐Modality Alignment首先使用 GPT记为 GGG为图像生成原始描述raw captionsdrcd_{rc}drc。这些描述不针对具体查询进行定制而是在图像标题等约束条件下生成。由于原始描述并非面向特定查询drcd_{rc}drc 可能会遗漏与查询高度相关的关键信息。因此drcd_{rc}drc仅用于索引构建和相似度计算而不直接用于答案生成。随后将生成的图像描述集合 DrcD_{rc}Drc 与原始文本文档集合 DtD_tDt 一并输入嵌入模型 RRR 进行向量化表示为后续的查询检索阶段做准备。3.4.2 文档检索Document Retrieval对于给定查询 qqq使用Dense Passage RetrievalDPRKarpukhin et al., 2020对文档语料库 DDD 进行打分并根据相似度得分从高到低排序以供下一阶段处理。3.4.3 相关性验证Relevance Verification为跟踪检索状态首先将标志位 FFF 初始化为False并创建一个存储空间 CCC 用于保存相关信息。检索到的文档以批次batch形式进行处理对于每一篇检索到的文本文档dtd_tdt直接通过相关性验证模块isRel来判断其与查询的相关性参见图 2 与表 1 第一行。若检索到的是图像did_idi则根据查询生成一个查询相关的图像描述dscd_{sc}dsc并据此评估其相关性。当isRel True时将对应的相关信息存入 CCC并将标志位 FFF 更新为True。在处理完一个批次后若isRel False则继续处理下一个批次否则暂停检索流程并进入下一阶段。3.4.4 答案生成Answer Generation在上一阶段生成的上下文集合 CCC 与查询 qqq 一并输入模型 MMM通过自回归生成方式产生一个初步答案coarse answerAAA。随后对生成的答案 AAA 进行验证以评估其相关性与支撑性。3.4.5 答案验证Answer Verification在该阶段引入isUse验证过程参见图 2 与表 1 第二行用于判断生成的答案 AAA 是否有效地回应了查询。若isUse True则进一步使用isSup参见图 2 与表 1 第三行评估答案 AAA 是否得到了上下文 CCC 的充分支撑否则将基于 CCC 重新生成答案 AAA。isSup的目标是确认答案 AAA 是否由 CCC 中的证据充分支持从而避免答案缺乏来自 DrelD_{rel}Drel 的依据。若isSup True说明 AAA 满足任务要求直接返回 AAA并结束检索流程若isSup False表示 AAA 未得到 CCC 的支持此时将 CCC 与 FFF 同时重置并返回到第一阶段重新进行检索若isSup Partial则说明支撑信息不完整系统会保留 CCC但重置 FFF并返回第一阶段继续检索。该阶段的核心目标是确保最终输出符合任务需求并最大限度降低潜在幻觉hallucination的风险。通过上述设计SAM-RAG在保证高效检索的同时有效降低了生成误导性答案的风险从而确保最终输出结果的质量。为进一步提升模型的稳定性与结果的可靠性我们在每一个验证过程以及答案生成阶段均引入了思维链Chain-of-Thought方法Wei et al., 2022。此外还可以结合自一致性策略self-consistencyWang et al., 2023以进一步增强系统的鲁棒性。4 实验Experiments4.1 数据集Dataset在本研究中我们采用MultimodalQA 数据集Talmor et al.作为基准用于评估SAM-RAG 框架的性能。该数据集包含多模态问答样本涵盖文本、图像以及表格等多种模态信息。为确保与当前主流多模态 RAG 模型MuRAGChen et al., 2022之间的公平比较实验中仅使用 MultimodalQA 数据集中的 TextQ 与 ImageQ 两类问题以避免不同问题类型带来的干扰。4.2 评价指标Metrics我们采用F1 分数和Exact MatchEM指标Rajpurkar et al., 2016来评估生成答案的质量。此外为了评估检索阶段的性能还引入了以下两种检索指标RecallN定义见公式 2用于衡量在前 NNN 个检索结果中是否覆盖了正确的相关文档平均检索数量Average Retrieval Number, ARN这是本文提出的一项新指标用于衡量在生成最终答案过程中系统平均检索的文档数量。ARN 能够更细粒度地反映SAM-RAG 在检索效率方面的表现从而对其动态检索能力进行更加全面的评估。4.3 实验设置Experimental Settings实验设置包括对嵌入模型 RRR与视觉语言模型 MMM的微调以及在生成与推理阶段使用 MMM 或 GGG 进行推理。所有微调实验均在一张NVIDIA A100 80GB GPU上完成服务器操作系统为Ubuntu Server 20.04 LTS。对于嵌入模型我们采用bge-base-en-v1.5Xiao et al., 2024并基于FlagEmbedding 框架Xiao et al., 2023进行微调。主要超参数设置如下学习率为1e−5训练5 个 epoch批大小为64。视觉语言模型 MMM 选用LLaVA-v1.5-7BLiu et al., 2024并通过LLaMA-Factory 框架Zheng et al., 2024结合LoRAHu et al., 2022进行参数高效微调。其训练配置包括学习率1e−4训练5 个 epoch批大小为1梯度累积步数为8优化器采用AdamWLoshchilov, 2017。在数据生成与推理阶段使用模型GGGGPT-4o-2024-05-13并将温度参数设为1.2以增强生成结果的多样性。该模型同时用于微调 MMM 以及执行推理任务。相关资源链接如下bge-base-en-v1.5https://huggingface.co/BAAI/bge-base-en-v1.5FlagEmbeddinghttps://github.com/FlagOpen/FlagEmbeddingLLaVA-v1.5-7Bhttps://huggingface.co/llava-hf/llava-1.5-7b-hfLLaMA-Factoryhttps://github.com/hiyouga/LLaMA-Factory4.4 主要实验结果Main Results实验结果汇总于表 2。结果表明SAM-RAG 在所有评测任务中均取得了最优性能显著优于包括当前最先进方法MuRAG在内的各类基线模型。下面对主要结果进行详细分析。1. 整体性能分析在文本任务与图像任务中SAM-RAG 在 F1 与 EM 指标上均明显优于所有基线方法。这一结果验证了其动态检索与生成机制的有效性。SAM-RAG 中的关键组件isRel、isUse 与 isSup的作用将在消融实验4.5 节中进一步分析并通过案例研究4.7 节图 4进行直观展示更多案例见附录 A。2. 与基线方法的性能对比表 2上半部分显示对检索模型 RRR 或视觉语言模型 MMM 进行微调均可提升多模态 RAG 的性能但微调 MMM 所带来的性能提升更为显著。这表明基线检索模型 RRR 本身已较为充分优化因此其微调带来的增益相对有限相比之下对 MMM 的优化能够直接增强模型对多模态信息的理解与处理能力。值得注意的是尽管在训练数据规模上存在差异微调后的传统 RAGR\*M\*R^\* M^\*R\*M\*性能仍略低于 MuRAG进一步凸显了 SAM-RAG 结构性设计的优势。3. SAM-RAG 与传统 RAG 的对比如表 2中部所示SAM-RAG 在所有设置下均稳定优于传统 RAG 方法。通过动态检索直到找到相关信息SAM-RAG 有效规避了固定检索数量策略所带来的局限。微调检索模型 RRR 虽然能够加快文档检索速度但对整体性能提升影响有限SAM-RAG 的核心优势主要来源于对微调后的 MMM 的有效利用。实验结果表明在 SAM-RAG 框架中微调 MMM 能带来最显著的性能提升尤其是在多模态任务场景下。4. GPT 集成效果分析表 2下半部分展示了在 SAM-RAG 与传统 RAG 框架中引入GGG后带来的显著性能提升。集成 GGG 的模型在所有配置下均优于未集成的模型凸显了 GGG 在推理能力与语义理解方面的优势。其中SAM-RAG 与 GGG 结合的配置取得了最为显著的性能提升尤其是在视觉任务中其表现甚至超过了文本任务。这表明当与 GGG 结合时SAM-RAG 能够比其他方法更深入地理解和利用视觉信息。4.5 Ablation Study4.5 消融实验为验证SAM-RAG 各个组件的有效性作者进行了系统性的消融实验逐一移除框架中的不同组件并评估其性能变化实验结果如表 3所示。结果表明与传统 RAG 相比引入不同类型的验证机制尤其是isRel和isSup在F1和EM两个指标上都带来了显著提升。具体而言仅引入 isRel相关性验证时性能提升较为有限随着isUse可用性验证和isSup支持性验证的进一步引入性能提升幅度明显增大当三种验证机制全部启用标记为 “with all”时EM 分数达到最高值相比MuRAG的性能提升超过 20%。这一结果表明同时考虑相关性isRel支持性isSup可用性isUse可以帮助模型在生成答案前有效筛选最有价值的信息从而显著提升生成结果的质量。此外即使仅引入单一验证机制模型的EM 分数也会有所提升说明每一种验证标准都在优化过程中发挥了独立且互补的作用。然而实验结果清楚地显示当多种验证机制联合使用时性能提升最为显著。这进一步说明将多种验证机制进行集成能够对信息检索与生成过程进行更全面的优化有效降低无关或低质量信息对最终答案的负面影响。4.6检索有效性分析Retrieval Effectiveness为评估检索效果我们分析了性能最优的 SAM-RAG 与传统 RAG 模型结果如图 3 和表 4 所示。实验结果表明在所有 top-k 取值下微调后的检索模型 R∗ 在 RecallN 指标上始终优于未微调的 R说明对嵌入模型进行微调能够提升相关上下文的检索能力。表 2 进一步显示使用 R∗ 时的 EM 分数整体高于使用 R 的情况。值得注意的是在top-k 8时R∗ 的 EM 分数比 R 的所有结果高出近 20%这表明微调后的检索模型在中等数量的检索结果下收益最大而过多的检索可能会引入噪声。与传统 RAG 不同后者往往检索到超出实际需求数量的文档从而引入无关内容SAM-RAG 的检索数量与 “Gold Reference” 更加接近并且在文本和图像检索任务中都获得了更高的 EM 分数。这些结果表明SAM-RAG 能够在有效检索相关信息的同时减少噪声从而生成更加准确、高质量的输出结果。