本文介绍了剑桥大学团队开源的通用预训练多模态知识检索器PreFLMR,用于搭建多模态RAG应用。PreFLMR是基于NeurIPS 2023发表的FLMR模型进行改进,并在M2KR上进行大规模预训练。该模型具有通用性,可以解决多种子任务,并在多个下游检索任务中表现出色。文章还介绍了PreFLMR的预训练阶段、模型结构、以及实验结果和贡献。
PreFLMR是一个通用预训练多模态知识检索器,用于搭建多模态RAG应用。相比DPR系统,PreFLMR在问询和文档表征方面采用了更细粒度的信息编码方式,具有更好的性能。此外,PreFLMR还具有三个不同规模的模型供使用者选择,以适应不同的实际应用需求。
M2KR是一个用于大规模预训练和评估通用多模态检索模型的数据集,包含多个广泛研究的检索子任务和超过百万的检索对。PreFLMR模型在M2KR数据集上的表现得到了验证。
PreFLMR在多个M2KR检索子任务上取得了超越基线模型的表现。实验结果表明,增加视觉编码器的参数对于后期交互多模态检索系统的效果提升更大。此外,PreFLMR还使得RAG更加有效,在知识密集型视觉问答任务上的表现得到了显著提升。
本篇分享 ACL 2024 论文
PreFLMR: Scaling Up Fine-Grained Late-Interaction Multi-modal Retrievers
,由剑桥大学团队开源,赋能多模态大模型 RAG 应用,首个预训练通用多模态后期交互知识检索器。
-
论文链接:https://arxiv.org/abs/2402.08327
-
项目主页:https://preflmr.github.io/
简介
PreFLMR模型是一个通用的预训练多模态知识检索器,可用于搭建多模态RAG应用。模型基于发表于 NeurIPS 2023 的 Fine-grained Late-interaction Multi-modal Retriever (FLMR) 并进行了模型改进和 M2KR 上的大规模预训练。目前训练数据、预训练权重、微调代码等均已开源。该模型已在企业级RAG应用成功落地。作者团队将在8月10日-17日参加ACL 2024,欢迎学术交流和商业合作。
背景
尽管多模态大模型(例如GPT4-Vision、Gemini等)展现出了强大的通用图文理解能力,它们在回答需要专业知识的问题时表现依然不尽人意。即使GPT4-Vision也无法回答知识密集型问题(图一上),这成为了很多企业级落地应用的瓶颈。
图1:GPT4-Vision在PreFLMR多模态知识检索器的帮助下可以获得相关知识,生成正确的答案。图中展示了模型的真实输出。
针对这个问题,检索增强生成(RAG,Retrieval-Augmented Generation)提供了一个简单有效的让多模态大模型成为”领域专家”的方案:首先,一个轻量的知识检索器(Knowledge Retriever)从专业数据库(例如Wikipedia或企业知识库)中获得相关的专业知识;然后,大模型将这些知识和问题一起作为输入,生成准确的答案。多模态知识提取器的知识 “召回能力”直接决定了大模型在回答推理时能否获得准确的专业知识。
近期,剑桥大学信息工程系人工智能实验室完整开源了首个预训练、通用多模态后期交互知识检索器PreFLMR (Pre-trained Fine-grained Late-interaction Multi-modal Retriever)。相比以往常见的模型,PreFLMR有以下特点:
-
PreFLMR是一个可以解决文文检索,图文检索,知识检索等多个子任务的通用预训练模型。该模型经过百万级的多模态数据预训练后,在多个下游检索任务中取得了优秀的表现。同时,作为一个优秀的基底模型,PreFLMR在私有数据上稍加训练就能够获得表现极佳的领域专用模型。
图2:PreFLMR模型同时在多项任务上取得极佳的多模态检索表现,是一个极强的预训练基底模型。
-
传统的密集文本检索(Dense Passage Retrieval, DPR)只使用一个向量表征问询(Query)或文档(Document)。剑桥团队在NeurIPS 2023发表的FLMR模型证明了DPR的单向量表征设计会导致细粒度信息损失,导致DPR在需要精细信息匹配的检索任务上表现不佳。尤其是在多模态任务中,用户的问询(Query)包含复杂场景信息,压缩至一维向量极大抑制了特征的表达能力。PreFLMR继承并改进了FLMR的结构,使其在多模态知识检索中有得天独厚的优势。
图3:PreFLMR在字符级别(Token level)上编码问询(Query,左侧1、2、3)和文档(Document,右侧4),相比于将所有信息压缩至一维向量的DPR系统有信息细粒度上的优势。
-
PreFLMR能够根据用户输入的指令(例如“提取能用于回答以下问题的文档”或“提取与图中物品相关的文档”),从庞大的知识库中提取相关的文档,帮助多模态大模型大幅提升在专业知识问答任务上的表现。
图4:PreFLMR可以同时处理图片提取文档、根据问题提取文档、根据问题和图片一起提取文档的多模态问询任务。
剑桥大学团队开源了三个不同规模的模型,模型的参数量由小到大分别为:PreFLMR_ViT-B (207M)、PreFLMR_ViT-L (422M)、PreFLMR_ViT-G (2B),供使用者根据实际情况选取。
除了开源模型PreFLMR本身,该项目还在该研究方向做出了两个重要贡献:
-
该项目同时开源了一个训练和评估通用知识检索器的大规模数据集,Multi-task Multi-modal Knowledge Retrieval Benchmark (M2KR),包含10个在学界中被广泛研究的检索子任务和总计超过百万的检索对。
-
在论文中,剑桥大学团队对比了不同大小、不同表现的图像编码器和文本编码器,总结了扩大参数和预训练多模态后期交互知识检索系统的最佳实践,为未来的通用检索模型提供经验性的指导。
下文将简略介绍M2KR数据集,PreFLMR模型,和实验结果分析。
M2KR 数据集
为了大规模预训练和评估通用多模态检索模型,作者汇编了十个公开的数据集并将其转换为统一的问题-文档检索格式。这些数据集的原本任务包括图像描述(image captioning),多模态对话(multi-modal dialogue)等等。下图展示了其中五个任务的问题(第一行)和对应文档(第二行)。
图5:M2KR数据集中的部分知识提取任务
PreFLMR检索模型
图6:PreFLMR的模型结构。问询(Query)被编码为Token-level的特征。PreFLMR对问询矩阵中的每一个向量,找到文档矩阵中的最近向量并计算点积,然后对这些最大点积求和得到最后的相关度。
PreFLMR模型基于发表于NeurIPS 2023的Fine-grained Late-interaction Multi-modal Retriever (FLMR)并进行了模型改进和M2KR上的大规模预训练。
相比于DPR,FLMR和PreFLMR用由所有的token向量组成的矩阵对文档和问询进行表征。Tokens包含文本tokens和投射到文本空间中的图像tokens。后期交互(late interaction)是一种高效计算两个表征矩阵之间相关性的算法。
具体做法为:对问询矩阵中的每一个向量,找到文档矩阵中的最近向量并计算点积。然后对这些最大点积求和得到最后的相关度。这样,每个token的表征都可以显式地影响最终的相关性,以此保留了token-level的细粒度(fine-grained)信息。
得益于专门的后期交互检索引擎,PreFLMR在40万文档中提取100个相关文档仅需0.2秒,这极大地提高了RAG场景中的可用性。
PreFLMR的预训练包含以下四个阶段:
-
文本编码器预训练
:首先,在MSMARCO(一个纯文本知识检索数据集)上预训练一个后期交互文文检索模型作为PreFLMR的文本编码器。
-
图像-文本投射层预训练
:其次,在M2KR上训练图像-文本投射层并冻结其它部分。该阶段只使用经过投射的图像向量进行检索,旨在防止模型过度依赖文本信息。
-
持续预训练
:然后,在E-VQA,M2KR中的一个高质量知识密集型视觉问答任务上持续训练文本编码器和图像-文本投射层。这一阶段旨在提升PreFLMR的精细知识检索能力。
-
通用检索训练
:最后,在整个M2KR数据集上训练所有权重,只冻结图像编码器。同时,将问询文本编码器和文档文本编码器的参数解锁进行分别训练。这一阶段旨在提高PreFLMR的通用检索能力。
同时,作者展示了PreFLMR可以在子数据集(如OK-VQA、Infoseek)上进一步微调以在特定任务上获得更好的检索性能。
实验结果和纵向扩展
最佳检索结果:
表现最好的PreFLMR模型使用ViT-G作为图像编码器和ColBERT-base-v2作为文本编码器,总计二十亿参数。它在7个M2KR检索子任务(WIT,OVEN,Infoseek, E-VQA,OKVQA等)上取得了超越基线模型的表现。