多模态检索器,赋能多模态大模型RAG应用

剑桥 | 发布多模态检索器,赋能多模态大模型RAG应用

PreFLMR模型是一个通用的预训练多模态知识检索器,可用于搭建多模态RAG应用。模型基于发表于 NeurIPS 2023 的 Fine-grained Late-interaction Multi-modal Retriever (FLMR) 并进行了模型改进和 M2KR 上的大规模预训练。

  • 论文链接:https://arxiv.org/abs/2402.08327
  • DEMO 链接:https://u60544-b8d4-53eaa55d.westx.seetacloud.com:8443/
  • 项目主页链接:https://preflmr.github.io/
  • 论文标题:PreFLMR: Scaling Up Fine-Grained Late-Interaction Multi-modal Retrievers

背景

尽管多模态大模型(例如 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 有以下特点:

1.PreFLMR 是一个可以解决文文检索,图文检索,知识检索等多个子任务的通用预训练模型。该模型经过百万级的多模态数据预训练后,在多个下游检索任务中取得了优秀的表现。同时,作为一个优秀的基底模型,PreFLMR 在私有数据上稍加训练就能够获得表现极佳的领域专用模型。

图 2:PreFLMR 模型同时在多项任务上取得极佳的多模态检索表现,是一个极强的预训练基底模型。

  1. 传统的密集文本检索(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 系统有信息细粒度上的优势。

3.PreFLMR 能够根据用户输入的指令(例如 “提取能用于回答以下问题的文档” 或 “提取与图中物品相关的文档”),从庞大的知识库中提取相关的文档,帮助多模态大模型大幅提升在专业知识问答任务上的表现。

图 4:PreFLMR 可以同时处理图片提取文档、根据问题提取文档、根据问题和图片一起提取文档的多模态问询任务。

剑桥大学团队开源了三个不同规模的模型,模型的参数量由小到大分别为:PreFLMR_ViT-B (207M)、PreFLMR_ViT-L (422M)、PreFLMR_ViT-G (2B) ,供使用者根据实际情况选取。

除了开源模型 PreFLMR 本身,该项目还在该研究方向做出了两个重要贡献:

  1. 该项目同时开源了一个训练和评估通用知识检索器的大规模数据集,Multi-task Multi-modal Knowledge Retrieval Benchmark (M2KR),包含 10 个在学界中被广泛研究的检索子任务和总计超过百万的检索对。
  2. 在论文中,剑桥大学团队对比了不同大小、不同表现的图像编码器和文本编码器,总结了扩大参数和预训练多模态后期交互知识检索系统的最佳实践,为未来的通用检索模型提供经验性的指导。

下文将简略介绍 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 等)上取得了超越基线模型的表现。

扩展视觉编码更加有效:作者发现将图像编码器 ViT 从 ViT-B(86M)升级到 ViT-L(307M)带来了显著的效果提升,但是将文本编码器 ColBERT 从 base(110M)扩展到 large(345M)导致表现下降并造成了训练不稳定问题。实验结果表明对于后期交互多模态检索系统,增加视觉编码器的参数带来的回报更大。同时,使用多层 Cross-attention 进行图像 - 文本投射的效果与使用单层相同,因此图像 - 文本投射网络的设计并不需要过于复杂。

PreFLMR 让 RAG 更加有效:在知识密集型视觉问答任务上,使用 PreFLMR 进行检索增强大大提高了最终系统的表现:在 Infoseek 和 EVQA 上分别达到了 94% 和 275% 的效果提升,经过简单的微调,基于 BLIP-2 的模型能够击败千亿参数量的 PALI-X 模型和使用 Google API 进行增强的 PaLM-Bison+Lens 系统。

可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。

👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

  • 22
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值