【LMM 006】LLaVA-Plus:可以学习如何使用工具的多模态Agent

论文标题:LLaVA-Plus: Learning to Use Tools for Creating Multimodal Agents
论文作者:Shilong Liu, Hao Cheng, Haotian Liu, Hao Zhang, Feng Li, Tianhe Ren, Xueyan Zou, Jianwei Yang, Hang Su, Jun Zhu, Lei Zhang, Jianfeng Gao, Chunyuan Li
作者单位:Dept. of Comp. Sci. & Tech., Institute for AI, BNRist, Tsinghua University, Microsoft Research, University of Wisconsin-Madison, HKUST, IDEA Research
论文原文:https://arxiv.org/abs/2311.05437
论文出处:–
论文被引:3(12/31/2023)
论文代码:https://github.com/LLaVA-VL/LLaVA-Plus-Codebase,469 star
项目主页:https://llava-vl.github.io/llava-plus/

ABSTRACT

本文介绍了即插即用的大型语言和视觉助手(Large Language and Vision Assistants thatPlug and Learn to Use Skills,LLaVA-Plus),它是一种通用多模态助手,采用端到端方法进行训练,系统地扩展了大型多模态模型(LMM)的功能。LLaVA-Plus 维护着一个技能库,其中包含大量经过视觉和视觉语言预训练的模型(工具),并能根据用户的多模态输入激活相关工具,在运行过程中组成执行结果,以完成许多现实世界的任务。为了获得使用工具的能力,LLaVA-Plus 在我们收集的多模态指令数据基础上进行了训练。训练数据涵盖了视觉理解,生成,外部知识检索及其组合等许多工具使用实例。实证结果表明,LLaVA-Plus 在现有功能上优于 LLaVA,并表现出许多新功能。与工具增强型 LLM 相比,LLaVA-Plus 的与众不同之处在于,图像查询直接立足于整个人机交互会话,并在整个人机交互会话中积极参与,从而显著提高了工具的使用性能,并实现了新的应用场景。

1 INTRODUCTION

人工智能领域的一个长期愿望是开发能够有效遵从用户(多模态)指令完成各种现实世界任务的通用助手(Askell et al., 2021;Li et al., 2023c)。最近,业界对开发在开放世界任务中具有多模态理解和生成能力的基础模型越来越感兴趣(Gan et al., 2022;Li et al., 2022)。虽然使用大型语言模型(LLM)(如 ChatGPT)开发自然语言任务通用助手的方法已被证明行之有效,但为计算机视觉和视觉语言任务构建通用多模态助手的方法仍有待探索。

正在进行的多模态智能体开发工作可大致分为两类(Li et al., 2023c):

  • i)使用 LLM 进行端到端训练,即收集图像-文本数据和多模态指令遵循数据,不断训练 LLM 获取处理视觉信息的能力,从而形成一系列大型多模态模型(LMM)。Flamingo (Alayrac et al., 2022) 和多模态 GPT-4 (OpenAI, 2023c)等专有模型以及 LLaVA (Liu et al., 2023a) 和 MiniGPT-4 (Zhu et al., 2023) 等开源模型都展示了令人印象深刻的视觉理解和推理能力。虽然这些端到端训练方法能有效帮助 LMM 获得新兴能力(如上下文学习),但要开发出一种能无缝整合图像分割和生成等多种技能的统一架构仍具有挑战性,而这些技能对于现实世界中的多模态应用至关重要。
  • ii)使用 LLM 的工具链,即精心设计提示,使 LLM(例如通过 LangChain)能够调用不同的工具(例如预训练的视觉模型)来执行所需的(子)任务,而无需额外的模型训练。一些著名的工作包括 VisProg(Gupta & Kembhavi,2022),ViperGPT(Sur ́ıset al., 2023),Visual ChatGPT(Wuet al., 2023),X-GPT(Zouet al., 2023a)和MM-REACT(Yanget al., 2023b)。这些方法的优势在于能够通过使用(新)工具来执行广泛的视觉任务,并能以极低的开发成本将其集成到人工智能智能体中。然而,提示的适应性和鲁棒性都不足以让多模态智能体始终准确地选择和激活适当的工具(从一个庞大而多样的工具集中),并在执行真实世界的多模态任务时将其结果合成为即时生成的最终答案。

在本文中,我们介绍了 LLaVA-Plus,这是一种通用多模态助手,它采用端到端训练方法学习使用工具,通过视觉指令调优系统地扩展LMM的能力。据我们所知,这是首次尝试将上述端到端训练方法和工具链方法的优势结合起来。LLaVA-Plus 配备了一个技能库,其中包含各种视觉和视觉语言工具。这种设计体现了 Society of Mind 风格(Minsky, 1988),即每种工具最初都是为特定技能而设计的,其本身仅适用于特定场景,但这些工具的组合会产生新的能力,显示出更高智能的迹象。例如,LLaVA-Plus 能够根据用户的多模态输入即时构建新的工作流程,从技能库中选择并激活相关工具,并将其执行结果组合在一起,以完成许多在模型训练期间未曾见过的真实世界任务。

LLaVA-Plus 可以通过指令调优(instruction tuning)纳入新的技能或工具,从而不断改进。考虑针对特定场景或技能开发的新多模态工具。我们收集要求使用该工具的相关用户指令及其执行结果(或后续结果),以形成用于调优的指令遵循数据。在对指令进行调优后,LLaVA-Plus 将扩展其能力,学会使用这一新工具来处理之前无法处理的任务。LLaVA-Plus 也不同于现有的教 LLMs 使用工具的工作(如 Yang et al., 2023a;Patil et al., 2023),在这些工作中,只有当多模态工具被激活时才会使用视觉信号。相比之下,LLaVA-Plus 在整个人机交互过程中使用原始视觉信号,以提高 LMM 的规划和推理能力。

在这里插入图片描述

总之,我们的论文有以下贡献:

  • New multimodal instruction-following tool use data。我们利用 ChatGPT 和 GPT-4 作为标记工具,提出了一个新的管道,用于整理视觉语言指令遵循数据,专门用于人机交互会话中的工具使用。
  • New large multimodal assistant。我们开发了 LLaVA-Plus,这是一个通用的多模态助手,它扩展了 LLaVA(Liu et al. 如图 1 所示,LLaVA-Plus 极大地扩展了 LMM 的功能。我们的研究验证了 LLaVA-Plus 的有效性,它在多个基准测试中取得了持续改进的结果,特别是在 VisiT-Bench 测试中通过一系列不同的实际任务获得了新的 SoTA。
  • Open-source。我们将向公众发布以下资产:生成的多模态指令数据,代码库,LLaVA-Plus 检查点和可视化聊天演示。

2 LEARNING TO USE TOOLS WITH VISUAL INSTRUCTION TUNING

受多模态 GPT-4 和开源 LMM(如 LLaVA/MiniGPT-4)令人印象深刻的性能的启发,社区掀起了一股开发 LMM 和多模态指令遵循数据的热潮,并遵循指令调优范式(如 Liu et al., 2023a;Peng et al., 2023a)。在本文中,我们使用 LLaVA 作为运行示例。但请注意,我们提出的方法也可以很容易地应用于其他 LMM。从用户输入的图像查询 Iq 开始,现有的 LMM(如 LLaVA)通常会接受来自用户的自然语言指令输入 Xq,并输出自然语言响应 Xanswer。因此,我们可以使用一种统一的方案来表示多模态指令遵循数据:

在这里插入图片描述

其中,Human 和 Assistant 是特殊角色标记,< \n > 和 分别是换行标记和序列结束标记。它自然涵盖了任何可表述为语言-图像输入和语言输出的多模态任务,从简单的视觉理解任务(如识别,图像描述和视觉问答)到复杂的视觉推理任务,不一而足。由于其简单性,数据管道易于构建和扩展。通过使用自动回归目标训练基于变换器的单一模型,所产生的 LMM 可以实现无缝的人机交互,熟练地完成许多域外(in the wild)视觉任务。不过,它在技能扩展和人机交互参与方面的灵活性有限。

2.1 LLAVA-PLUS

在这里插入图片描述

我们提出了一种模块化的系统架构,使 LMM 在作为规划器(planner)工作时,能够大规模学习使用各种技能,从而便于扩展其能力和界面。具体来说,我们建立了一个技能库,LMM 可以在需要时利用各种现有的视觉和视觉语言专家模型,作为各自技能的工具,在域外完成各种任务。大多数现有多模态智能体中的 LMM 通常执行面向用户的对话,在这种对话中,LMM 需要完全根据模型权重中编码的知识立即响应用户指令,如等式 1 和图 2 左侧部分所示。除此之外,LLaVA-Plus 中的 LMM 还执行面向技能的对话,即 LMM 从技能库中发起调用适当工具的请求,并在应用适当技能后汇总工具的执行结果,如图 2 右侧所示。

A Full Dialogue of LLaVA-Plus.

我们通过图 2 中的完整对话会话来说明 LLaVA-Plus 是如何工作的。对话分四个步骤进行:

  • 1)人类提供与图像 Iq 相关的任务指令 Xq。
  • 2)由 LMM 驱动的助手分析 Xq 和 Iq,并输出 Xskill_use,从技能库中选择工具,并写入适当的提示(Prompt)作为工具参数。
  • 3)通过执行工具,结果 Xskill_result 会返回给助手。
  • 4)助手将 Xskill 结果与 Xq 和 Iq 汇总,并向人类输出 Xanwser。

交互过程可表示为:

在这里插入图片描述

与用于训练 LLaVA 的公式 1 相比,LLaVA-Plus 训练中唯一新引入的部分是面向技能的对话。表 1 举例说明了人机交互中调用检测和分割技能的一个序列示例。LLaVA-Plus 在等式 2 的序列上使用自动回归目标进行训练,其中只有绿色子序列(或标记)用于计算损失,因此模型学会了预测技能的使用,答案以及何时停止。

在这里插入图片描述

Unified Prediction Format from LMMs.

图 2 显示,LLaVA-Plus 的 LMM 需要执行面向用户和面向技能的对话。为此,我们使用了一种统一的模型预测格式来表示需要和不需要调用技能库的对话。受 Yao et al. (2022) 的启发,该格式由三个字段组成,如表 1 所示:

  • i)Thought 是代表推理过程的文本序列,它决定是否需要技能库来遵循用户指令,如果需要,则决定使用哪些工具。
  • ii)Action 是执行想法的工具的函数调用列表。该列表采用 JSON 格式,每个项目由两个子字段组成:调用工具的 API 名称和相应函数参数的 API 参数(如适用)。当 Action 为空列表时,不会调用任何技能。
  • iii)Value 是 LLaVA-Plus 通过汇总工具执行结果和人类-人工智能会话历史生成的自然语言响应。在 Xskill 使用面向用户的对话时,它是返回给人类用户的最终响应。在面向技能对话的 Xanwser 中,它是关于工具执行的自然语言描述。在提供服务阶段,我们发现确保良好的用户体验非常重要,因此我们只向人类用户返回 Xanwser 值域中的内容,而隐藏整个面向技能的对话,除非我们需要调试系统。

2.2 SKILL REPOSITORY: MULTIMODAL TOOL USE INSTRUCT DATA GENERATION

LLaVA-Plus 的技能库由不同技能的多模态工具组成。为了让 LMM 始终激活最合适的工具来完成任务,LMM 需要相应的工具使用多模态指令数据来进行调优。我们使用 GPT-4 作为标注器(labeler),按照自我指导(self-instruct)的方法来整理数据。在不失一般性的前提下,本研究希望 LLaVA-Plus 能够处理需要 LLaVA 不具备的新技能的场景,例如视觉理解,生成和外部知识检索的单项技能以及这些单项技能的组合,如表 2 所示。在下文中,我们将视觉理解技能视为核心技能,将其他技能视为扩展技能,并介绍了指令数据的策划方式。

在这里插入图片描述

2.2.1 CORE SKILLS: UNDERSTANDING

视觉理解技能使机器能够解释和理解视觉信号。受限于语言输入和输出,现有的 LMM 只有有限的视觉理解技能子集。我们通过视觉输入提示和视觉输出,将其扩展为更广泛的技能集,包括开放集检测和接地,语义/实例/交互式分割,tagging,captioning,OCR 及其组合等。根据是否需要额外的功能参数,这些理解技能可分为两类。

Skills with Image-only.

没有附加功能参数的技能包括标题,标记,语义分割,caption+grounding,tagging+grounding,OCR。我们为每种工具都收集了训练样本。为了收集特定技能的训练样本,我们使用不同的策略填写公式 2 中的四个数据变量。

  • i)对于 Xq,我们使用 GPT-4 生成一组需要使用工具才能正确作答的指令。对于每个样本,我们随机选择一个问题并对其进行改写,以增强数据的多样性。重写示例见附录中的表 9。
  • ii)对于 Xskill 的使用,其想法和价值是从一些预设答案中随机选择并改写生成的。
  • iii)Xskill结果的生成有一个固定的规则:首先展示工具输出,然后重复初始问题。
  • iv)对于 Xanwser,其想法的创建方式与 Xskill 使用中的想法类似,而动作则设置为空。Xanwser 的值是最重要的字段,因为它是聊天中对人类的可见回复。我们将之前的所有信息,包括之前的问题,之前的工具输出和图片的上下文输入到纯语言的 GPT-4 中,然后由 GPT-4 生成响应,形成指令遵循数据。受 LLaVA 的启发,我们将真实描述,物体坐标和物体类别视为图像上下文。

Skills with Additional Function Arguments.

物体检测和实例分割等视觉技能通常需要人类就感兴趣的概念提供非常具体的指令。要创建这些指令遵循数据更具挑战性。我们在本研究中使用了两种方法。

  • i)第一种方法与纯图像技能设置中的方法类似,即初始 Xq 包含一个占位符概念,随机选择图像中出现的一个或多个类别来替换该占位符,然后通过重写获得最终 Xq,如表 9 所示。
  • ii)为了让 LMM 学习到类别信息之外更多样化的提示,我们使用 GPT-4 来生成问题。具体来说,我们按照公式 2 中的完整对话手动创建两个种子样本,将它们与图像上下文一起发送给 GPT-4,并要求 GPT-4 根据新的图像上下文生成完整对话。附录中的表 10 展示了一个例子。

2.2.2 EXTENDED SKILLS

LLaVA-Plus 配方可应用于任何工具,以提高系统能力。我们通过对不同类别的多模态工具进行上机,展示了它的多功能性。由于篇幅有限,我们在附录的 B 部分描述了根据指令创建数据的过程,并总结了我们启用的扩展技能。

  • External Knowledge。为了使 LMM 能够使用预训练模型权重编码以外的知识,我们使用 CLIP 搜索 API 从 LIAON 检索外部知识。
  • Generation。为了让 LLaVA-Plus 能够输出图像,我们分别使用了稳定扩散 (SD) 和 Instruct-Pix2Pix 来生成和编辑图像。
  • Visual Prompts。为了更好地遵循人类意图,我们支持各种用于人机交互的视觉提示,例如用户绘制的点,草图和方框。SAM,Semantic-SAM 和 SEEM 用于不同的交互式分割任务。
  • Skill Composition。为了让 LLaVA-Plus 能够处理真实世界中的合成任务。我们为以下场景策划了数据:
    • i)需要在多轮人机交互会话中对同一图像进行各种视觉理解的场景。我们通过应用不同的工具(包括检测,分割,标记和图像描述)生成指令数据。
    • ii)交互式分割 + Inpainting。通过结合用户指向和 SD 的 SAM 分割结果,我们可以在视觉交互中进行内绘。
    • iii)语义分割 + 生成。通过结合 OpenSeed 语义分割和 ControlNet 的空间布局,我们实现了视觉条件下的教学生成。
    • iv)图像生成/编辑 + 社交媒体帖子。人类用户生成包含图片和文本的帖子非常耗时。因此,我们使用 SD 生成图像,或使用 Instruct Pix2Pix 编辑图像,然后将图像与预先训练的 LMM 生成的描述结合起来,创建多模态帖子。

2.3 MODEL TRAINING AND SERVING

Training.

为了训练 LLaVA-Plus,我们将表 2 所示的工具使用指导数据与 LLaVA-158K 数据集结合起来。为了将 LLaVA-158K 转换为 2.1 节所述的统一预测格式,我们将 LLaVA-158K 中的回答视为值,并添加了带有模板的想法和行动字段,如附录表 8 中的示例所示。LLaVA-Plus 在两种情况下建立。

  • i)LLaVA-Plus (All Tools),工具的使用被视为外部知识。除表 2 中的分割工具外,所有视觉理解工具都被用来处理输入图像,提取的识别结果被组织成符号序列表示,以丰富训练和评估阶段的图像特征。
  • ii)LLaVA-Plus (Fly),即时使用工具。为了降低调用所有工具的成本,我们只提供相关工具对给定指令的执行结果。在报告定量数据时,我们在 81K 理解指令数据上训练模型,因为现有基准主要侧重于理解能力。在构建演示系统时,我们在完整数据集上训练模型。

Serving.

LLaVA-Plus 使用 FastChat 系统提供服务,该系统由与人类交互的网络服务器,托管LMM和多种工具的模型工作者以及协调网络服务器和模型工作者的控制器组成。7B LLaVA-Plus 和所有工具均可在 80G GPU 中加载和运行。

3 RELATED WORKS

我们在表 3 中总结了 LLaVA-Plus 与现有通用多模态系统之间的联系和区别,由于篇幅有限,仅列出了具有代表性的方法。如下所述,这些方法大致可分为两类。

AI Agents with Multimodal Tool Use.

人们对探索构建通用人工智能智能体的范例越来越感兴趣,这种智能体可以协同利用多种工具和 LLM 来解决复杂的开放世界问题。这种想法起源于 NLP,即调用 LLM 中缺乏技能的通用工具(例如 ToolFormer(Schick et al., 2023),ChatGPT-Plugin(OpenAI,2023b)),最近被扩展到多模态领域。有两种方法可以利用多模态工具,以 LLM 作为计划器来决定调用哪些工具:

  • i)通过提示工程和上下文学习来实现工具链,如 Visual ChatGPT(Wu et al., 2023 年),MM-ReAct(Yang et al., 2023 年b);
  • ii)以多模态工具使用为重点对 LLM 进行指令调优,如 GPT4Tools(Yang et al., 2023 年a)和 Gorilla(Patil et al., 2023 年)。

LLaVA-Plus 是首个利用 LMM 作为工具使用规划器的研究成果,在整个交互过程中都会考虑图像输入,以改善用户体验。

Unified Multimodal Models with Versatile Capabilities.

受 LLM 统一架构成功完成多项语言任务的启发,人工智能界对建立具有多功能多模态能力的统一模型的兴趣与日俱增。专有模型,如 Flamingo(Alayrac et al., 2022)和多模态 GPT-4(OpenAI, 2023c)或 GPT-4V(OpenAI, 2023d),在零样本任务迁移方面表现出了强大的多模态性能,这很快激发了它们的开源模型:

  • LLaVA, MiniGPT-4, Open-Flamingo, Otter 等。这些 LMM 可以处理图像-文本输入和文本输出任务。
  • CM3Leon, Emu, GILL, 其功能已扩展到支持图像-文本输出任务,如图像编辑和分割。
  • Kosmos-2, Shikra, DetGPT 都支持 grounded 边界框输出。
  • GPT4ROI 允许用户选择带有边界框的感兴趣区域,进行人机视觉聊天。
  • BubaGPT 和 LISA 使用额外的参照分割模型来实现掩码预测功能。

如表 3 所示,与它们相比,LLaVA-Plus 支持更广泛的多模态技能及其组合

在这里插入图片描述

4 EXPERIMENTS

4.1 THE EFFECTIVENESS OF LEARNING TO USE SKILLS

Tool Use Improves Existing Capabilities.

我们考虑了两个基准。

  • LLaVA-Bench(Liu et al., 2023a)评估 LMM 的视觉聊天能力,包括三种类型的问题:对话,详细描述和视觉推理。它由两个数据集组成:包含 30 幅 COCO 图像和 90 个聊天问题的 COCO 数据集,以及包含 24 幅网络图像和 60 个问题的 In-the-Wild 数据集。语言 GPT-4 (gpt4-0314) 用于对生成的答案进行评分。报告了模型输出与黄金答案之间的相对分数。
  • SEED-Bench (Li et al., 2023b)用 19K 道多选题评估了 LMM 的图像级和实例级感知和推理能力。

结果如表 4 所示。

  • 在这两个基准测试中,LLaVA-Plus 两个变体的表现都优于 LLaVA,这证明了在 LMM 管道中应用新技能增加视觉识别结果的有效性。
  • LLaVA-Plus (All Tools) 的性能优于 LLaVA-Plus (Fly),因为前者利用了更多的工具作为附加上下文。我们进一步进行了几项删减:
    • i)我们尝试在 LLaVA 的测试阶段直接添加技能执行结果,显示为 LLaVA(测试中的工具)一行。与 LLaVA 相比,其性能有所下降,这说明有必要在训练中学习使用技能。
    • ii)我们删除了统一数据格式中的 thoughts,并观察到性能下降,这表明思维链式数据格式是有益的。其较低的性能表明,LLaVA-Plus 中工具使用的视觉指令调优非常重要。
    • iii)GPT4Tools为多模态工具使用训练LLM。其较低的性能表明LLaVA-Plus中工具使用的视觉指令调优很重要。

在这里插入图片描述

LLaVA-Bench (Tools).

为了研究学习使用技能所带来的新能力,我们创建了一个评估集 LLavA-Bench (Tools),该评估集测量四种能力(grounding, tagging, caption, and OCR),每种能力分别有 10,12,12 和 10 个样本。在表 5 中,我们还与Microsoft BingChat 系统和Google Bard等商业视觉聊天系统进行了比较。在这一基准测试中,LLaVA-Plus 明显优于其他系统,这主要是因为其他系统不具备其中一些功能。通过与使用 GPT-4 的链式工具(row of “Alltools + GPT4”)和 MM-REACT 进行比较,我们证明了将开源 LMM 作为工具使用规划器进行训练的优势。

在这里插入图片描述

4.2 COMPARISONS WITH SOTA LMM SYSTEMS

MMVet(Yu et al., 2023 年)包含 200 幅图像和 218 个问题,旨在评估六种核心视觉语言(VL)能力及其组合。在评估中,使用了基于 LLM 的评估器(gpt4-0613)对不同形式的开放式输出进行评分。结果见表 6。在 7B 和 13B 模型规模上,LLaVA-Plus 始终优于 LLaVA。改进最明显的类别是 OCR 和空间,这表明相应的视觉技能对 LMM 输出产生了积极影响。

在这里插入图片描述

VisIT-Bench(Bitton et al., 2023 年)是一个面向实际应用的 LMM 基准,包括 592 个问题和 1,159 幅公共图像,分为 70 个指令族。结果如表 7 所示,其中总结了 LMM 与 GPT 模拟人类判断之间的较量。Elo 评级是通过将每对人类判断视为 "匹配 "来计算的。两个模型的 Elo 评级之差可以估算出模型 A 与模型 B 对战时的胜率。胜率表示模型在与人工验证的参考输出对比时的胜率。LLaVA-Plus 比领先方法 LLaVA 的 ELO 分数高出 100 多分,在排行榜上取得了新的 SoTA。

在这里插入图片描述

4.3 VISUAL EXAMPLES OF NEW CAPABILITIES

在这里插入图片描述

在图 3 中,我们用直观的例子说明了 LLaVA-Plus 的新功能。请参阅附录中的 D 部分,了解通过学习使用技能及其组合来展示 LLaVA-Plus 多用途功能的许多其他有趣场景。在左侧示例中,问题要求识别精确的物体位置。LLaVA-Plus 可以成功检测到飞盘的坐标,这有助于确定飞盘在空中飞行的状态,从而描述户外场景/活动。附录中的图 6 向 Bard,Bing Chat,MM-REACT 和 LLaVA 展示了相同的示例。它们都失败了,暴露了grounding能力的不足。

在这里插入图片描述

在右边的示例中,我们展示了一个交互式图像编辑场景,用户的目标是先查看场景的空间布局,然后生成一张布局相似的图像,但场景为新的 “海底”。LMM 不仅应用了正确的技能,而且还生成了一个函数参数 “一辆自行车停在海底长椅旁”,用于有条件地生成图像。这揭示了 LMM 作为规划器的魅力所在,因为它可以看到原始图像,并在整个人机交互过程中提供必要的图像分析结果。更多此类例子见附录图 11。

在这里插入图片描述
在这里插入图片描述

在最下面的例子中,我们展示了 LLaVA-Plus 可用于帮助创建多模态社交媒体帖子。例如,在捕捉图像时,用户希望在秋天的场景中发布相同的图像,并将图像与一些有吸引力的文字联系起来,发布到 Instagram 上。LLaVA-Plus 可以利用编辑技能修改图片,并结合视觉图片的上下文及其相关语言主题,提出多个标题选项。在附图 12 中,我们为相同的场景创建了所有四个季节,并观察到 LLaVA-Plus 可以根据指令在其中轻松切换,同时始终保持原有的图像提示。

在这里插入图片描述
在这里插入图片描述

5 CONCLUSION

我们介绍了 LLaVA-Plus,这是一种通用的多模态助手,它基于 LMM,可以即插即用并学习使用技能来完成各种视觉语言任务。我们收集了首个专门用于多模态工具使用的视觉指令数据集,用于模型训练。通过纳入新技能的执行结果,LLaVA-Plus 在许多基准测试中的表现始终优于 LLaVA,创建了新的 SoTA,并展示了新出现的多模态交互能力。然而,LLaVA-Plus 在实践中由于幻觉和工具使用冲突而受到限制。在构建可靠的通用多模态人工智能智能体的未来研究中,还有一些有趣的问题有待解决。

可重复性(Reproducibility)为确保我们研究的可重复性,我们将公开发布一整套资产,包括生成的多模态教学数据,我们的代码库,LLaVA-Plus 检查点和可视化聊天演示。此外,我们还在本文中详细阐述了训练数据收集和模型训练的方方面面,从而确保完全透明,如第 2 节所示。

A DATA

B EXTENDED SKILLS

External Knowledge。为了使 LMM 能够获得预训练模型权重编码之外的知识,我们使用 CLIP 搜索 API 从 LIAON 获取外部知识。我们利用 InfoSeek 数据集中的图像 Iq 和问题 Xq,并按照纯图像技能数据创建流程生成训练序列的其他字段。输入的图像被视为查询,然后进行图像到文本检索,以获得每个查询的前 K 项。为了鼓励 LMM 利用外部知识,我们只考虑基本答案可以从检索知识中提取或推导出来的问题子集。这个子集可以通过比较答案和检索知识的 ChatGPT 来选择。

Generation。在图像生成方面,我们使用 Stable Diffusion(SD)作为工具,并基于 JourneyDB 数据集生成指令数据,因为该数据集的语言提示和图像质量都很高。我们要求 ChatGPT 在原始详细提示的基础上生成类似人类的指令,用于生成图像,重点关注人类指定的指令含糊不清,简短,因而不容易与 SD 的提示分布相一致的场景。同样,我们使用 Instruct-Pix2Pix 进行图像编辑。Instruct Pix2Pix 数据集包含源图像和目标图像的指令和提示。我们直接使用其编辑说明,并按照纯图像技能数据创建流程来填充其他字段。

Visual Prompts。视觉提示数据的构造与视觉理解技能类似,只是需要额外的视觉输入,如用户绘制的点,草图和方框。以 SAM 为例。交互式分割需要输入一个点。我们只需生成一个随机点,然后将其转换为文本序列,并将其附加到用户问题中,形成一个串联文本序列 Xq,这是 LMM(如 LLaVA)可以处理的标准格式。有时,一个用户点可能对应多个层次的分段掩码。为了支持这种技能,我们使用 Semantic-SAM(Li et al., 2023d)创建训练数据,通过指令明确指定多粒度分割功能。

Skill Composition。到目前为止所描述的场景都是为了创建单一技能任务的训练样本。然而,现实世界中的许多场景往往需要多项技能的组合。为了让 LLaVA-Plus 能够处理此类组合任务,我们对组合技能的指令遵循数据进行了如下处理。

  • i)同一图像的各种视觉理解结果均可请求。为了让 LMM 在多轮人机交互会话中学习使用多种技能,我们对 COCO 中的同一幅图像应用不同的工具(包括检测,分割,标记和图像描述)生成指令数据,将结果与 LLaVA 指令数据相结合,然后随机混合这些数据集。这样产生的指令数据可以模拟用户使用多种工具处理实际任务的行为。
  • ii)交互式分割 + Inpainting。在一个编辑场景中,我们要求用户通过视觉指向和语言指令指定图像的一个区域。然后,我们将 SAM 分割结果和 SD 内绘结果结合起来,创建一个指令遵循样本。
  • iii)语义分割 + 生成。在另一个图像编辑场景中,我们要求用户使用用户提供的图像和语言指令指定图像的空间布局。然后,我们将 OpenSeed 语义分割结果和 ControlNet 条件生成结果结合起来,创建一个指令遵循样本。
  • iv)图像生成/编辑 + 社交媒体帖子。人类用户生成包含图片和文本的帖子非常耗时。因此,我们利用现有工具创建大量多模态帖子,用于模型调优,具体如下。我们使用 SD 生成图片,或使用 Instruct Pix2Pix 编辑图片。然后,我们将图片与预先训练好的 LMM 生成的描述结合起来,创建一个多模态帖子。

C RESULTS

D EXAMPLE SCENARIOS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/590774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大数据面试知识点】Spark的DAGScheduler

Spark数据本地化是在哪个阶段计算首选位置的&#xff1f; 先看一下DAGScheduler的注释&#xff0c;可以看到DAGScheduler除了Stage和Task的划分外&#xff0c;还做了缓存的跟踪和首选运行位置的计算。 DAGScheduler注释&#xff1a; The high-level scheduling layer that i…

大数据 - Hadoop系列《三》- HDFS(分布式文件系统)概述

&#x1f436;5.1 hdfs的概念 HDFS分布式文件系统,全称为:Hadoop Distributed File System。 它是一个文件系统&#xff0c;用于存储文件&#xff0c;通过目录树来定位文件&#xff1b;其次&#xff0c;它是分布式的&#xff0c;由很多服务器联合起来实现其功能&#xff0c;集…

(五)分文件编程

文章目录 为什么要引入分文件编程.C文件怎么添加.H文件怎么书写以及如何进行链接.H书写格式&#xff1a;“有头有尾标识符”例如&#xff08;timer.h) .H链接链接到头文件所在路径的文件夹路径即可 提供一个分文件编程的一种代码最后附上视频演示 为什么要引入分文件编程 C程序…

git的使用基础教程

最近项目在搞自动化测试&#xff0c;需要将各种测试脚本集成到自动化框架里边&#xff0c;这个就需要用到版本管理系统了,下面简单价绍一下git的使用。 首先从官网下载并安装git工具&#xff0c;下面以wins系统为例子说明 https://git-scm.com/downloads wins安装好后&#xff…

灸哥问答:软件架构在软件研发中的作用

软件架构在软件开发中扮演着至关重要的角色。我们在软件研发的过程中&#xff0c;类比于建造一座公寓楼&#xff0c;而软件架构就像是盖楼之前的设计图纸&#xff0c;如果没有设计图纸就直接盖楼&#xff0c;可想而知带来的后果是什么。我对软件架构的作用表现总结如下&#xf…

JS变量和函数提升

JS变量和函数提升 JS变量提升编译阶段执行阶段相同变量或函数 变量提升带来的问题变量容易不被察觉的遭覆盖本应销毁的变量未被销毁 如何解决变量提升带来的问题 JS变量提升 sayHi()console.log(myname)var myname yyfunction sayHi() {console.log(Hi) }// 执行结果: // Hi …

深度学习——PIL和OpenCV

PIL 官方文档 格式互转 opencv cv2.imread() 参数&#xff1a; filepath&#xff1a;读入imge的完整路径 flags&#xff1a;标志位&#xff0c;{cv2.IMREAD_COLOR&#xff0c;cv2.IMREAD_GRAYSCALE&#xff0c;cv2.IMREAD_UNCHANGED} cv2.IMREAD_COLOR&#xff1a;默认参数&…

Attention机制

前置知识&#xff1a;RNN&#xff0c;LSTM/GRU 提出背景 Attention模型是基于Encoder-Decoder框架提出的。Encoder-Decoder框架&#xff0c;也就是编码-解码框架&#xff0c;主要被用来处理序列-序列问题。 Encoder&#xff1a;编码器&#xff0c;将输入的序列<x1,x2,x3……

『番外篇十』SwiftUI 实战:打造一款“五脏俱全”的网络图片显示 App(下)

概览 在上篇文章中,我们初步实现了一款小巧的网络图片显示器。 我们先是创建了 json 数据对应的图片模型,然后将 App 界面“分而治之”划分为独立的三个组件以便“逐个击破”,最后我们将所有这些融合在一起。 不过,目前的实现仍有一些问题。比如我们添加了一层不必要的 …

详解Vue3中的鼠标事件mousemove、mouseover和mouseout

本文主要介绍Vue3中的常见鼠标事件mousemove、mouseover和mouseout。 目录 一、mousemove——鼠标移动事件二、mouseover——鼠标移入事件三、mouseout——鼠标移出事件 下面是Vue 3中常用的鼠标事件mousemove、mouseover和mouseout的详解。 一、mousemove——鼠标移动事件 鼠…

跟着cherno手搓游戏引擎【3】事件系统和预编译头文件

不多说了直接上代码&#xff0c;课程中的架构讲的比较宽泛&#xff0c;而且有些方法写完之后并未测试。所以先把代码写完。理解其原理&#xff0c;未来使用时候会再此完善此博客。 文件架构&#xff1a; Event.h:核心基类 #pragma once #include"../Core.h" #inclu…

JMeter使用

目录 启动JMeter 创建线程组 设置线程参数 设置http请求参数 ​编辑 创建查看结果树(显示成功/失败多少以及返回结果等信息) 创建聚合报告(显示响应时间、吞吐量、异常数等信息) 点击上方的执行按钮即可开始压力测试 结果树显示 聚合报告结果显示 启动JMeter 在JMete…

CSS-4

平面转换 整体认识 div {margin: 100px 0;width: 100px;height: 100px;background-color: pink;/* 过渡效果 */transition: all 1s;}/* 当鼠标悬停到div时&#xff0c;进行平面转换 */div:hover {transform: translate(800px) rotate(360deg) scale(2) skew(180deg);}作用&…

系统学习Python——装饰器:函数装饰器-[对方法进行装饰:使用嵌套函数装饰方法]

分类目录&#xff1a;《系统学习Python》总目录 如果想要函数装饰器在简单函数和类级别的方法上都能工作&#xff0c;最直接的解决办法在于使用前面文章介绍的状态保持方案之一&#xff1a;把自己的函数装饰器编写为嵌套的def&#xff0c;这样你就不会陷入单一的self实例参数既…

【unity学习笔记】捏人+眨眼效果+口型效果

一、vriod捏人 1.在vroidstudio软件中捏人 2.导出模型&#xff08;.vrm) 二、vrid导入unity的插件 1.在Git上搜索、打开univrm。 2.找到release页面找到合适的插件版本。&#xff08;VRM-0.116.0_0f6c&#xff09; 3.将univrm导入到工程中&#xff08;assets&#xff09;。 三…

前端显示json格式化

实现效果 在前端页面上展示格式化的JSON数据可以通过以下步骤完成&#xff1a; 获取JSON数据&#xff1a;首先&#xff0c;你需要获取要展示的JSON数据。你可以从后端API获取数据&#xff0c;或者直接在前端定义一个JSON对象。 格式化JSON&#xff1a;使用JavaScript的JSON对…

微服务雪崩问题及解决方案

雪崩问题 微服务中&#xff0c;服务间调用关系错综复杂&#xff0c;一个微服务往往依赖于多个其它微服务。 微服务之间相互调用&#xff0c;因为调用链中的一个服务故障&#xff0c;引起整个链路都无法访问的情况。 如果服务提供者A发生了故障&#xff0c;当前的应用的部分业务…

C++初阶------------------入门C++

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

【LMM 007】Video-LLaVA:通过投影前对齐以学习联合视觉表征的视频多模态大模型

论文标题&#xff1a;Video-LLaVA: Learning United Visual Representation by Alignment Before Projection 论文作者&#xff1a;Bin Lin, Yang Ye, Bin Zhu, Jiaxi Cui, Munan Ning, Peng Jin, Li Yuan 作者单位&#xff1a;Peking University, Peng Cheng Laboratory, Sun …

TCP中的三次握手和四次挥手

TCP中的连接和断开可以说是在面试中经常被问到的问题之一&#xff0c;正好有空就总结一下&#xff0c;首先回顾一下TCP的相关知识点 1. TCP的基础知识 1.1 TCP的基本概念 我们知道TCP是运输层的面向连接的可靠的传输协议。面向连接的&#xff0c;指的就是在两个进程发送数据…