今天分享的是阿里的一篇论文:
Benchmarking Multimodal Retrieval Augmented Generation with Dynamic VQA Dataset and Self-adaptive Planning Agent.
多模态检索增强生成的基准测试与动态VQA数据集及自适应规划代理
这篇文章目前在ICLR2025审稿中。
论文链接:https://arxiv.org/pdf/2411.02937
代码链接:https://github.com/Alibaba-NLP/OmniSearch
01.摘要
本文研究了一种多模态检索增强生成技术 (mRAG),该技术对于减少多模态大型语言模型 (MLLMs) 中固有的“虚构”问题具有重要作用。然而,现有的启发式mRAG通常预设了固定的检索过程,导致非自适应检索查询和检索查询过载两大问题。
为了解决这个问题,作者构建了一个新的动态视觉问答 (VQA) 数据集——Dyn-VQA,其中包含三种类型的动态问题,这些问题需要复杂且变化的知识检索策略。接着,作者提出了一种首个自适应检索规划代理——OmniSearch,它能够模仿人类解题过程中的动态分解复杂多模态问题为子问题链并执行检索操作。通过大量实验验证了OmniSearch的有效性,并为改进mRAG提供了方向。
02.主要工作
Dyn-VQA数据集:解决动态知识检索问题
Dyn-VQA数据集 是为评估mRAG方法在处理动态知识检索任务中的表现而构建的,包含 1,452 个问题,主要针对以下几类情况:
-
实时变化的答案:如体育赛事结果、股票价格等,要求模型能够根据实时更新的数据进行推理并提供准确答案。
-
多模态知识检索:例如“这张照片中的人是谁?”,模型不仅需要理解图像,还要结合文本信息进行推理。
-
多跳推理问题:例如“这张照片中的人是做什么工作的?”需要通过多步推理,从识别图像中的对象到检索相关文本信息,最终得出结论。
数据集构建流程
构建Dyn-VQA数据集时,分为三个步骤:
-
文本问题写作:根据问题类型(如是否需要多模态知识、推理步骤等)进行分类,并编写相应的文本问题。
-
多模态改写:将文本问题转换为多模态问题,结合图像或其他视觉元素。
-
中英文翻译与校对:确保问题在中英文之间的翻译准确性。
数据集覆盖领域
Dyn-VQA涵盖了体育、娱乐、公司、产品、交通、政治、科技、艺术、自然等9个领域,确保了问题类型的广泛性,包括动态问题、多模态问题和多跳推理问题。
OmniSearch:提升动态知识检索能力
OmniSearch是一个自适应的检索agent,专为解决mRAG方法在动态知识检索中的问题而设计。它模拟人类解决复杂问题的方式,将问题分解为子问题并逐一检索答案。
框架结构
OmniSearch由三个模块组成:
-
规划agent:核心模块,负责理解问题、生成子问题、选择检索工具并动态调整检索策略。
-
检索器:执行具体的检索操作,支持文本搜索、图像搜索等。
-
子问题求解器:根据检索结果解答子问题,并向规划agent提供反馈。
规划agent动作
每个动作包括四个关键部分:
-
自我思考 (ST):根据问题和检索内容进行思考,决定下一步的行动。
-
子问题 (SQ):生成与原始问题相关的子问题,可以通过检索操作解答。
-
检索API ®:选择合适的检索工具,如文本搜索、图像搜索等。
-
API查询 (Q):生成查询内容,在检索工具中查找相关信息。
OmniSearch工作流程
-
接收问题:规划agent获取到输入问题。
-
自我思考并生成子问题:规划agent进行推理并生成与问题相关的子问题。
-
选择检索工具并查询:规划agent选择检索工具并生成查询内容。
-
执行检索并返回结果:检索器进行检索并返回结果。
-
求解子问题并反馈:子问题求解器解答子问题并反馈给规划agent。
-
循环迭代:规划agent根据反馈调整思考,生成新的子问题,直到得到最终答案。
OmniSearch优势
-
自适应性:根据问题的具体内容和检索结果,动态调整检索策略。
-
多模态:支持从多种模态(文本、图像等)中检索知识。
-
可扩展性:可以与各种MLLM模型配合使用,并根据计算资源调整子问题求解器的规模。
总结
这篇文章研究了多模态检索增强生成 (mRAG) 技术,旨在解决多模态大型语言模型 (MLLMs) 固有的“幻觉”问题。文章指出,现有的启发式mRAG方法存在检索过程固定、缺乏适应性等问题,而现有的VQA数据集无法充分反映这些问题。
为此,文章构建了Dyn-VQA数据集,包含三种需要动态知识检索的“动态”问题,并提出了自适应性检索agent OmniSearch,能够根据问题解决状态和检索内容动态调整检索策略,有效提升MLLMs的多模态问答能力。
实验结果表明,OmniSearch在Dyn-VQA数据集上取得了显著的效果,为mRAG研究提供了新的思路和方法。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。