多模态大模型是大模型发展的必然趋势,它拓展了大模型的性能,超越了纯文本问答模式。对于大模型来说,为了能够尽快适配快速变化的事实知识,目前常见的方法就是检索增强生成(RAG)。
本文作者却专注研究了多模态大模型的检索增强生成,并提出了Wiki-LLaVA架构,将外部知识检索与MLLMs结合,显著提升在视觉QA任务中的性能,不仅增强了MLLMs的生成能力,而且还保持了模型在其它任务上的泛化性能。
https://arxiv.org/pdf/2404.15406v1
随着大模型的发展,最新的研究提出了能够处理多种任务的模型,这些模型也可以通过用户指令引导其生成。在这种情况下,传统方法是通过自然语言描述的不同任务对模型进行微调,使模型能够吸收外部提供的指令,并在多个领域实现强大的泛化能力。
紧跟大语言模型的发展,计算机视觉领域也开始探索将这类模型扩展到视觉语言,从而产生了多模态大型语言模型(MLLMs)。在这一方向上,通过视觉到语言的适配器将视觉特征融合到LLM的主体中,显著的提升了模型的视觉性能,使得模型能够广泛地泛化到需要复杂视觉描述的视觉和语言任务。
在这种情况下,MLLMs通过一个简单的模块(即适配器),实现视觉特征与文本特征对齐,展现出了出色的能力。然而,尽管这些模型是建立在大量数据训练的LLMs之上,但当面对非常具体的用户query或需要一定程度的组合推理来生成响应时,它们却表现出明显的局限性。此外,由于训练数据中长尾信息的稀缺,某些知识很难被编码到MLLM的参数中。为了应对这一挑战,最近引入了不同的基准测试来评估MLLM处理与外部数据相关查询的能力,例如InfoSeek和Encyclopedic-VQA。虽然不同的研究工作已经在这些基准测试上进行了测试,强调了这一领域的重要性,但还没有开发出专门用于处理外部知识的架构。
为此,本文提出了首个具备检索模块的多模态大模型(MLLM),使其能够利用响应中的多样化信息,并学习辨别每条信息的相对重要性。简单来说,该模型从一个外部的文档知识库中检索合适的信息,并采用分层检索方法来识别相关的段落。这些外部知识会被注入到MLLM中,不改变其结构,但提高了其回答能力。
面对无法仅通过图像内容和预训练知识来解决的问题,Wiki-LLaVA旨在为多模态大模型(MLLMs)提供回答复杂和特定问题的能力。Wiki-LLaVA通过将检索到的信息作为额外的输入上下文来增强模型的能力,其网络架构如下图所示:
如上图所示,Wiki-LLaVA由三个主要组件构成:「视觉编码器」、「知识库」以及一个「分层检索模块」。
「视觉编码器(Visual Encoder)」:这一组件用于提供给MLLM视觉上下文,并作为从外部知识库检索的查询。在Wiki-LLaVA中,使用了基于CLIP的视觉编码器来提取输入图像的视觉特征。
「知识库(Knowledge Base)」:知识库由文档、图像和文本标题的三元组组成,例如,可以是维基百科的页面。这些文档包含了丰富的信息,可以用于回答基于知识的查询。
「分层检索模块(Hierarchical Retrieval Module)」:这个模块负责从知识库中检索相关的文档和段落。检索过程是分层的,分为两个步骤:
Wiki-LLaVA可以在零样本(zero-shot)的方式下工作,也可以通过微调来增强模型利用检索段落的能力。微调时,模型在需要外部知识的问答对上进行训练,同时采用数据混合方法,以保持模型在其他任务上的性能。
Wiki-LLaVA与LLaVA-1.5模型在Encyclopedic-VQA和InfoSeek数据集上的样QA问答比较。第一行展示了Encyclopedic-VQA数据集上的样本结果,第二行展示了InfoSeek数据集上的结果,第三行展示了一些失败案例。这些图表展示了Wiki-LLaVA在提供更准确答案方面的优势,以及一些失败案例,其中两种模型都无法正确回答问题。