Visual Instruction Tuning----视觉指令调整

发布时间:2024年01月15日

摘要

使用机器生成的指令跟踪数据进行指令调优大型语言模型 (LLM) 已被证明可以提高新任务的零样本能力,但这一想法在多模态领域的探索较少。我们首次尝试使用纯语言 GPT-4 来生成多模态语言图像指令跟踪数据。通过对此类生成数据进行指令调整,我们推出了 LLaVA:大型语言和视觉助手,这是一种端到端训练的大型多模态模型,连接视觉编码器和 LLM 以实现通用视觉和语言理解。为了促进未来视觉指令跟随的研究,我们构建了两个具有多样化且具有挑战性的面向应用的任务的评估基准。我们的实验表明,LLaVA 表现出令人印象深刻的多模态聊天能力,有时在未见过的图像/指令上表现出多模态 GPT-4 的行为,并且与合成多模态指令跟踪数据集上的 GPT-4 相比,产生了 85.1% 的相对分数。在 Science QA 上进行微调后,LLaVA 和 GPT-4 的协同作用达到了 92.53% 的最新准确率。我们公开 GPT-4 生成的视觉指令调整数据、我们的模型和代码。

1 引言

人类通过视觉、语言等多种渠道与世界互动,每种渠道在表达和交流某些概念方面都有独特的优势,从而有助于更好地理解世界。人工智能的核心愿望之一是开发一种通用助手,能够有效地遵循多模式视觉和语言指令,与人类意图相一致,以在野外完成各种现实世界任务[4,27,26 ]。

为此,社区对开发语言增强的基础视觉模型产生了浓厚的兴趣 [27, 16],在开放世界视觉理解方面具有强大的能力,例如分类 [40, 21, 57, 54, 39]、检测[29,62,33],分割[25,63,58]和字幕[50,28],以及视觉生成和编辑[42,43,56,15,44,30]。我们建议读者参阅《Computer Vision in the Wild》阅读列表,以获取更新的文献汇编 [12]。在这一工作中,每项任务都由一个大型视觉模型独立解决,模型设计中隐含地考虑了任务指令。另外,语言仅用于描述图像内容。虽然这使得语言在将视觉信号映射到语言语义(人类交流的常见渠道)方面发挥着重要作用,但它导致模型通常具有固定的界面,交互性和对用户指令的适应性有限。

另一方面,大型语言模型(LLM)已经表明语言可以发挥更广泛的作用:通用助手的通用接口,其中各种任务指令可以用语言明确表示并指导端到端训练有素的神经助手切换到感兴趣的任务来解决它。例如,ChatGPT [35] 和 GPT-4 [36] 最近的成功证明了一致的LLM在遵循人类指令方面的力量,并激发了人们对开发开源LLM的巨大兴趣。其中,LLaMA[49]是一个开源的LLM,与GPT-3的性能相匹配。 Alpaca [48]、Vicuna [9]、GPT-4-LLM [38] 利用各种机器生成的高质量指令跟踪样本来提高 LLM 的对齐能力,与专有的 LLM 相比,报告了令人印象深刻的性能。重要的是,这一行的工作仅限于文本。

在本文中,我们提出了视觉指令调整,这是将指令调整扩展到语言图像多模态空间的首次尝试,为构建通用视觉助手铺平了道路。特别是,我们的论文做出了以下贡献:

多模式指令跟随数据。一项关键挑战是缺乏视觉语言指令跟踪数据。我们提出了一种数据重组视角和管道,使用 ChatGPT/GPT-4 将图像文本对转换为适当的指令遵循格式。

大型多式联运模型。我们通过将 CLIP [40] 的开放集视觉编码器与语言解码器 Vicuna [9] 连接起来,开发了一个大型多模态模型(LMM),并对我们生成的教学视觉语言数据进行端到端微调。我们的实证研究验证了使用生成的数据进行 LMM 指令调整的有效性,并提出了构建通用指令跟踪视觉代理的实用技巧。当与 GPT-4 集成时,我们的方法在 Science QA [34] 多模态推理数据集上实现了 SoTA。

多模式指令遵循基准。我们向 LLaVA-Bench 提供了两个具有挑战性的基准,以及多种配对图像、说明和详细注释的选择。

开源。我们向公众发布以下资产:生成的多模式指令数据、代码库、模型检查点和可视化聊天演示。

2 相关工作

多模式指令跟随代理。在计算机视觉中,构建指令跟踪代理的现有工作可大致分为两类:(i)端到端训练模型,针对每个特定研究主题分别进行探索。例如,视觉语言导航任务 [3, 19] 和 Habitat [47] 要求具体的 AI 代理遵循自然语言指令并采取一系列动作来完成视觉环境中的目标。在图像编辑领域,给定输入图像和告诉代理做什么的书面指令,InstructPix2Pix [6] 按照人类指令编辑图像。 (ii) 一个通过 LangChain [1] / LLMs [35] 协调各种模型的系统,例如 Visual ChatGPT [53]、X-GPT [63]、MM-REACT [55]、VisProg [18] 和 ViperGPT [ 46]。在构建遵循指令的代理方面有着相同的目标的同时,我们专注于开发用于多个任务的端到端训练的语言视觉多模态模型。

指令调整。在自然语言处理(NLP)社区中,为了使 GPT-3 [7]、T5 [41]、PaLM [10] 和 OPT [60] 等法学硕士能够遵循自然语言指令并完成现实世界的任务,研究人员探索了 LLM 指令调整的方法 [37,52,51],从而产生了指令调整的对应方案,例如 InstructGPT [37]/ChatGPT [35]、FLAN-T5 [11]、FLAN-PaLM [11] 和 OPT -IML [22],分别。事实证明,这种简单的方法可以有效提高法学硕士的零样本和少样本泛化能力。因此,很自然地将 NLP 的想法借用到计算机视觉中。更广泛地说,具有基础模型的师生蒸馏思想已经在图像分类等其他主题中进行了研究[14]。 Flamingo [2] 可以被视为多模态领域的 GPT-3 矩,因为它在零样本任务迁移和上下文学习方面具有强大的性能。其他在图像文本对上训练的 LMM 包括 BLIP-2 [28]、FROMAGe [24] 和 KOSMOS-1 [20]。 PaLM-E [13] 是一个用于体现人工智能的 LMM。基于最近“最佳”开源 LLM LLaMA,OpenFlamingo [5] 和 LLaMA-Adapter [59] 是开源项目,使 LLaMA 能够使用图像输入,为构建开源多模式 LLM 铺平了道路。虽然这些模型呈现出有希望的任务转移泛化性能,但它们没有明确地根据视觉语言指令数据进行调整,并且与纯语言任务相比,它们在多模式任务中的性能通常较差。在本文中,我们旨在填补这一空白并研究其有效性。最后,请注意,视觉指令调整与视觉提示调整[23]不同:前者旨在提高模型的指令跟随能力,而后者旨在提高模型适应的参数效率。

3 GPT辅助视觉指令数据生成

社区见证了公共多模态数据数量的激增,例如图像文本对,从 CC [8] 到 LAION [45]。然而,当涉及多模式指令跟踪数据时,可用的数量是有限的,部分原因是当考虑到人类群体搜索时,创建此类数据的过程非常耗时且定义不太明确。受到最近 GPT 模型在文本注释任务中成功的启发 [17],我们建议基于广泛存在的图像对数据,利用 ChatGPT/GPT-4 进行多模式指令跟踪数据收集。

对于图像 Xv 及其关联的标题 Xc,很自然地创建一组问题 Xq ,旨在指导助手描述图像内容。我们促使 GPT-4 整理这样一个问题列表(详见附录)。因此,将图像文本对扩展为其指令跟踪版本的简单方法是人类:Xq Xv<STOP> 助理:Xc<STOP>。尽管构建成本低廉,但这个简单的扩展版本在指令和响应中缺乏多样性和深入的推理。

为了缓解这个问题,我们利用纯语言 GPT-4 或 ChatGPT 作为强大的老师(两者都只接受文本作为输入),来创建涉及视觉内容的指令跟踪数据。具体来说,为了将图像编码为其视觉特征以提示纯文本 GPT,我们使用两种类型的符号表示:(i)字幕通常从各个角度描述视觉场景; (ii) 边界框通常定位场景中的对象,每个框对对象概念及其空间位置进行编码。表 14 的顶部块显示了一个示例。

这种符号表示允许我们将图像编码为 LLM 可识别的序列。我们使用 COCO 图像 [31] 并生成三种类型的指令跟踪数据。表 14 的底部块显示了每种类型的一个示例。对于每种类型,我们首先手动设计一些示例。它们是我们在数据收集过程中拥有的唯一人工注释,并用作上下文学习中的种子示例来查询 GPT-4。

对话。我们设计了助理和询问有关这张照片问题的人之间的对话。回答的语气就好像助理看到图像并回答问题一样。针对图像的视觉内容提出一系列不同的问题,包括对象类型、对象计数、对象动作、对象位置、对象之间的相对位置。仅考虑有明确答案的问题。详细提示请参见附录。

详细说明。为了对图像进行丰富而全面的描述,我们出于这样的目的创建了一个问题列表。我们提示 GPT-4,然后整理列表(请参阅附录中的详细提示和整理过程)。对于每张图像,我们从列表中随机抽取一个问题,要求 GPT-4 生成详细描述。

复杂的推理。以上两种类型侧重于视觉内容本身,在此基础上我们进一步创建深度推理问题。答案通常需要遵循严格的逻辑进行逐步推理过程。

我们总共收集了 158K 个独特的语言图像指令跟踪样本,其中对话样本 58K,详细描述样本 23K,复杂推理样本 77K。我们在早期实验中取消了 ChatGPT 和 GPT-4 的使用,并发现 GPT-4 始终提供更高质量的指令跟踪数据,例如空间推理。

4 视觉指令调优

4.1 架构

主要目标是有效利用预训练的 LLM 和视觉模型的功能。网络架构如图 1 所示。我们选择 Vicuna [9] 作为由 φ 参数化的 LLM fφ(·),因为它在公共可用的检查点中具有最好的语言任务指令跟踪能力 [48,9,38]。

对于输入图像 Xv,我们考虑预训练的 CLIP 视觉编码器 ViT-L/14 [40],它提供视觉特征 Zv = g(Xv)。我们的实验中考虑了最后一个 Transformer 层之前和之后的网格特征。我们考虑一个简单的线性层将图像特征连接到词嵌入空间。具体来说,我们应用可训练的投影矩阵 W 将 Zv 转换为语言嵌入标记 Hv,其与语言模型中的词嵌入空间具有相同的维度:

因此,我们有一系列视觉标记 Hv。请注意,我们的简单投影方案是轻量级的,这使我们能够快速迭代以数据为中心的实验。还可以考虑连接图像和语言表示的更复杂的方案,例如 Flamingo [2] 中的门控交叉注意力和 BLIP-2 [28] 中的 Q-former。我们将探索 LLaVA 可能更有效、更复杂的架构设计作为未来的工作。

4.2 训练

对于每个图像 Xv,我们生成多轮对话数据(X1 q,X1 a,····,XT q,XT a),其中 T 是总轮数。我们将它们组织为一个序列,将所有答案视为助手的响应,并且在第 t 轮时指示 Xt 为:

这导致了表 2 所示的多模式指令跟随序列的统一格式。我们使用其原始的自回归训练目标对预测标记执行 LLM 的指令调整。

具体来说,对于长度为 L 的序列,我们通过以下方式计算目标答案 Xa 的概率:

表 2:用于训练模型的输入序列。这里只展示了两个对话轮次;实际上,匝数根据指令跟随数据而变化。在我们当前的实现中,我们按照 Vicuna-v0 [9] 设置系统消息 Xsystem-message 并设置 <STOP> = ###。该模型经过训练来预测辅助答案以及在哪里停止,因此仅使用绿色序列/标记来计算自回归模型中的损失。

其中 θ 是可训练参数,Xinstruct,<i 和 Xa,<i 分别是当前预测标记 xi 之前所有回合中的指令和答案标记。请参阅表 2 了解预测标记的说明。对于 (3) 中的条件,我们明确添加 Xv 以强调图像是所有答案的基础这一事实,并且我们省略 Xsystem-message 和所有先前的 <STOP> 以提高可读性。对于 LLaVA 模型训练,我们考虑两阶段指令调整过程。

第一阶段:特征对齐的预训练。为了在概念覆盖率和训练效率之间取得平衡,我们将 CC3M 过滤为 595K 个图像文本对。过滤过程的详细信息请参见附录。使用第 3 节中描述的朴素扩展方法将这些对转换为指令后续数据。每个样本都可以视为单轮对话。为了构建(2)中的输入Xinstruct,对于图像Xv,随机采样问题Xq,这是要求助手简要描述图像的语言指令。真实预测答案 Xa 是原始标题。在训练中,我们保持视觉编码器和 LLM 权重冻结,并仅使用可训练参数 θ = W(投影矩阵)最大化 (3) 的可能性。这样,图像特征Hv就可以与预先训练的LLM词嵌入对齐。这个阶段可以理解为为冻结的 LLM 训练兼容的视觉分词器。

第 2 阶段:端到端微调。我们始终保持视觉编码器权重冻结,并继续更新LLaVA中投影层和LLM的预训练权重;即(3)中的可训练参数为 θ = {W, φ}。我们考虑两个具体的用例场景:

多模式聊天机器人。我们通过对第 3 节中的 158K 语言图像指令遵循数据进行微调来开发聊天机器人。在三种类型的响应中,对话是多轮的,而其他两种是单轮的。它们在训练中被统一采样。 ? 科学质量保证。我们在 ScienceQA 基准 [34] 上研究我们的方法,这是第一个大规模多模式科学问题数据集,用详细的讲座和解释来注释答案。每个问题都以自然语言或图像的形式提供上下文。助手以自然语言提供推理过程,并在多项选择中选择答案。对于 (2) 中的训练,我们将数据组织为单轮对话,将问题和上下文组织为 Xinstruct,将推理和答案组织为 Xa。

文章来源:https://blog.csdn.net/Mars_prime/article/details/135605789
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。