Visual Instruction Tuning(可视化指令)
摘要
-
使用机器生成的具有指导性的数据对大型语言模型(LLM)进行调优提高了新任务上的zero-shot的能力,但是该方法在多模态领域上的探索比较少。
-
尝试使用纯语言模型GPT-4来生成多模态语言-图像的指示数据。
-
通过对此类生成的数据进行指令调整,我们介绍了 LLaVA(“Large Language and Vision Assistant” )大型语言和视觉助手,这是一种端到端训练的大型多模态模型,连接视觉编码器和 LLM 以实现通用视觉和语言理解。
-
LLaVA 展示了令人印象深刻的多模型聊天能力,有时在未见过的图像/指令上表现出多模态 GPT-4 的行为,并且在合成多模态遵循指令(instruction-following)数据集上与 GPT-4 相比产生了 85.1% 的相对分数。当在 Science QA 上进行微调时,LLaVA 和 GPT-4 的协同作用达到了 92.53% 的新的最先进的准确率。
1 引言
人类通过视觉、语言等多种渠道与世界互动,每一种渠道在表达和传达某些世界概念方面都有独特的优势,从而有助于更好地理解世界。人工智能的核心目标之一是开发一种通用助手,它可以有效地遵循多模态视觉和语言指令,与人类的意图保持一致,从而在野外完成各种现实世界的任务。
大型语言模型(LLM)表明语言可以发挥更广泛的作用:通用助手的通用接口,各种任务指令可以用语言明确表示并指导端到端训练有素的神经助手切换到感兴趣的任务来解决它。
-
LLaMA是一个与GPT-3性能相匹配的开源LLM,“Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, et al. Llama: Open and efficient foundation language models. arXiv preprint arXiv:2302.13971, 2023. 1” (Liu 等, 2023, p. 12)。
-
“Alpaca”--“Rohan Taori, Ishaan Gulrajani, Tianyi Zhang, Yann Dubois, Xuechen Li, Carlos Guestrin, Percy Liang, and Tatsunori B. Hashimoto. Stanford alpaca: An instruction-following llama model. https://github.com/tatsu-lab/stanford_alpaca, 2023. 1, 4” (Liu 等, 2023, p. 12)
-
“Vicuna” --“Vicuna. Vicuna: An open-source chatbot impressing gpt-4 with 90%* chatgpt quality. https: //vicuna.lmsys.org/, 2023. 1, 4, 6” (Liu 等, 2023, p. 12)
-
“GPT-4-LLM” --“Baolin Peng, Chunyuan Li, Pengcheng He, Michel Galley, and Jianfeng Gao. Instruction tuning with GPT-4. arXiv preprint arXiv:2304.03277, 2023. 1, 4” (Liu 等, 2023, p. 11)
以上的算法利用各种机器生成的高质量指令跟随样本来提高 LLM 的对齐能力,与专有 LLM 相比,报告了令人印象深刻的性能。重要的是,这一行的工作是纯文本的。
在本文中,我们提出了视觉指令调优,这是将指令调优扩展到多模态空间的首次尝试,为构建通用视觉助手铺平了道路。特别是,我们的论文做出了以下贡献:
-
“Multimodal instruction-following data.” 一个关键挑战是缺乏视觉语言指令跟随数据。我们使用 ChatGPT/GPT-4 提出数据改革的观点和管道,将图像-文本对转换为适当的instruction-following 格式。
-
大型多模态模型。我们开发了一个大型多模态模型 (LMM),通过将 CLIP [36] 的开放式视觉编码器与语言解码器 LLaMA 连接起来,并根据我们生成的教学视觉语言数据对它们进行端到端微调。我们的实证研究验证了使用生成的数据进行 LMM 指令调整的有效性,并提出了构建通用指令跟随视觉代理的实用技巧。借助 GPT-4,我们在 Science QA [30] 多模态推理数据集上实现了最先进的性能。
-
开源。我们向公众发布以下资产:生成的多模式指令数据、用于数据生成和模型训练的代码库、模型检查点和可视化聊天演示。
2 相关工作
Multimodal Instruction-following Agents
在计算机视觉中,现有的构建Instruction-following Agents的工作可以大致分为两类:
-
端到端训练模型,在每个特定的研究主题中分别进行探索。例如,视觉语言导航任务 [3, 16] 和 Habitat [42] 需要具体的 AI 代理遵循自然语言指令并采取一系列行动来完成视觉环境中的目标。在图像编辑领域,给定输入图像和告诉代理做什么的书面指令,InstructPix2Pix [6] 按照人类指令编辑图像。
-
通过 LangChain [1] / LLMs [31] 协调各种模型的系统,例如 Visual ChatGPT [49]、X-GPT [59]、MMREACT [51]。在构建指令跟随代理方面有同样的目标同时,我们专注于为多个任务开发端到端训练的多模态模型。
Instruction Tuning
在自然语言处理 (NLP) 社区中,为了使 GPT-3 [7]、T5 [37]、PaLM [9] 和 OPT [56] 等 LLM 能够遵循自然语言指令并完成现实世界的任务,研究人员探索了 LLM 指令调优的方法 [33、48、47],导致了指令调优的对应方法,例如 InstructGPT [33]/ChatGPT [31]、FLAN-T5 [10]、FLANPaLM [10] 和 OPT-IML [19],分别。事实证明,这种简单的方法可以有效提高 LLM 的零样本和少样本泛化能力。因此,将 NLP 的想法借用到计算机视觉是很自然的。
-
Flamingo [2] 可以被视为多模式领域中的 GPT-3 时刻,因为它在零样本任务转移和上下文方面的强大性能。其他在图像-文本对上训练的 LMM 包括 BLIP-2 [25]、FROMAGe [22] 和 KOSMOS-1 [17]。 PaLM-E [12] 是用于体现 AI 的 LMM。基于最近的“最佳”开源 LLM LLaMA,
-
OpenFlamingo [5] 和 LLaMA-Adapter [55] 是使 LLaMA 能够使用图像输入的开源成果,为构建开源多模式 LLM 铺平了道路。虽然提出了有前途的任务转移泛化性能,但这些模型并未使用视觉语言指令数据进行显式指令调整。在本文中,我们旨在填补这一空白并研究其有效性。需要澄清的是,视觉指令调整不同于视觉提示调整[20]:前者旨在提高模型的指令遵循能力,而后者旨在提高模型适应中的参数效率。
3 GPT 辅助视觉指令数据生成
从 CC [8] 到 LAION [41],社区见证了图像文本对等公共多模式数据量的激增。然而,当涉及到多模态指令跟随数据时,可用数量是有限的,部分原因是考虑到人类人群搜索时,该过程非常耗时且定义不明确。受最近 GPT 模型在文本注释任务中取得成功的启发 [15],我们建议基于广泛存在的图像对数据,利用 ChatGPT/GPT-4 进行多模式指令跟踪数据收集。
对于图像 Xv 及其相关联的说明 Xc,很自然地会创建一组问题 Xq 以指示助手描述图像内容。我们提示 GPT-4 并在附录的表 8 中整理了这样的问题列表。因此,将图像文本对扩展为其指令跟随版本的简单方法是 Human : Xq Xv<STOP>\n Assistant : Xc<STOP>\n。尽管构建起来很便宜,但这个简单的扩展版本在说明和响应方面都缺乏多样性和深入的推理。
为了缓解这个问题,我们利用纯语言 GPT-4 或 ChatGPT 作为强大的教师(两者都只接受文本作为输入)来创建涉及视觉内容的指令跟踪数据。具体来说,为了将图像编码为其视觉特征以提示纯文本 GPT,我们使用两种类型的符号表示:
-
(i) 字幕通常从不同的角度描述视觉场景。
-
(ii) 边界框通常定位场景中的对象,每个框编码对象概念及其空间位置。一个示例显示在表 1 的顶部块中。
这种符号表示允许我们将图像编码为 LLM 可识别的序列。我们使用 COCO 图像 [28] 并生成三种类型的指令跟随数据。表 1 的底部显示了每种类型的一个示例。对于每种类型,我们首先手动设计一些示例。它们是我们在数据收集过程中唯一拥有的人工注释,并在上下文中用作种子示例以查询 GPT-4。
-
对话。我们设计了助手和一个人之间的对话,询问有关这张照片的问题。回答的语气就好像助手在看图回答问题一样。询问有关图像视觉内容的各种问题,包括对象类型、对象计数、对象动作、对象位置、对象之间的相对位置。只考虑有明确答案的问题。详细提示见表10。
-
详细说明。为了包含对图像的丰富而全面的描述,我们创建了一个具有这种意图的问题列表。我们提示 GPT-4 然后整理列表,如附录中的表 9 所示。对于每张图片,我们从列表中随机抽取一个问题来要求 GPT-4 生成详细描述。
-
复杂的推理。以上两类都着重于视觉内容本身,在此基础上我们进一步创造深度推理题。答案通常需要遵循严格的逻辑逐步推理。
文章总共收集了 158K 个独特的语言图像指令跟随样本,分别包括 58K 个对话、23K 个详细描述和 77k 个复杂推理。我们在早期实验中取消了 ChatGPT 和 GPT-4 的使用,发现 GPT-4 可以始终如一地提供更高质量的指令跟踪数据,例如空间推理。
4 视觉指令调优
4.1 结构
主要目标是有效利用预训练的 LLM 和视觉模型的功能。网络架构如图 1 所示。我们选择 LLaMA 作为由 φ 参数化的 LLM fφ(·),因为它的有效性已经在几个开源语言指令调优作品中得到证明。 [43, 45, 34]。
对于输入图像 Xv,我们考虑预训练的 CLIP 视觉编码器 ViT-L/14 [36],它提供视觉特征 Zv = g(Xv)。在我们的实验中考虑了最后一个 Transformer 层之前和之后的网格特征。我们考虑一个简单的线性层将图像特征连接到词嵌入空间。具体来说,我们应用可训练的投影矩阵 W 将 Zv 转换为语言嵌入标记 Hq,它们与语言模型中的词嵌入空间具有相同的维数:
因此我们有一系列视觉标记 Hv。请注意,我们的简单投影方案是轻量级且具有成本效益的,这使我们能够快速迭代以数据为中心的实验。还可以考虑连接图像和语言表示的更复杂(但昂贵)的方案,例如 Flamingo [2] 中的门控交叉注意力和 BLIP-2 [25] 中的 Q-former,或其他视觉编码器,例如 SAM [ 21] 提供对象级功能。我们将探索 LLaVA 可能更有效和更复杂的架构设计作为未来的工作。
4.2 训练
对于每个图像 Xv,我们生成多回合对话数据(X1 q,X1 a,···,XT q,XT a),其中 T 是总回合数。我们将它们组织成一个序列,将所有答案视为助手的响应,并将第 t 轮的指令 Xt 指示为:
这导致了表 2 中所示的多模式指令跟随序列的统一格式。我们使用其原始的自回归训练目标对预测标记执行 LLM 的指令调整。具体来说,对于长度为 L 的序列,我们通过以下方式计算生成目标答案 Xa 的概率:
其中 θ 是可训练参数,Xinstruct,<i 和 Xa,<i 分别是当前预测标记 xi 之前所有轮次中的指令和答案标记。有关预测标记的说明,请参阅表 2。对于 (3) 中的条件,我们明确添加 Xv 以强调图像是所有答案的基础这一事实,并且我们跳过 Xsystem-message 和所有前面的 <STOP> 以提高可读性,尽管它们也是有条件的。对于 LLaVA 模型训练,我们考虑了一个两阶段的指令调整过程。
-
第一阶段:特征对齐的预训练。为了在概念覆盖和训练效率之间取得平衡,我们将 CC3M 过滤为 595K 个图像-文本对。过滤过程详见附件。使用第 3 节中描述的朴素扩展方法将这些对转换为指令跟随数据。每个样本都可以视为单轮对话。构造(2)中的输入Xinstruct,对于图像Xv,随机抽取表8中的问题Xq,这是一条语言指令,要求助手对图像进行简单描述。预测答案 Xa 是原始标题。在训练中,我们保持视觉编码器和 LLM 权重冻结,并仅使用可训练参数 θ = W(投影矩阵)最大化(3)的可能性。这样,图像特征 Hv 可以与预训练的 LLM 词嵌入对齐。这个阶段可以理解为为冻结的 LLM 训练一个兼容的视觉分词器。
-
第 2 阶段:端到端微调。我们只保持视觉编码器权重冻结,并继续更新 LLaVA 中投影层和 LLM 的预训练权重;即,可训练参数为 (3) 中的 θ = {W, φ}。我们考虑两个特定的用例场景:
-
多模式聊天机器人。我们通过对第 3 节中收集的 158K 独特语言图像指令跟踪数据进行微调来开发聊天机器人。在三种类型的响应中,对话是多轮的,而其他两种是单轮的。它们在训练中被统一采样。
-
科学QA。我们在 ScienceQA 基准 [30] 上研究了我们的方法,这是第一个大规模多模态科学问题数据集,它用详细的讲座和解释。每个问题都以自然语言或图像的形式提供了一个上下文。助手以自然语言提供推理过程,并从多项选择中选择答案。对于 (2) 中的训练,我们将数据组织为单轮对话,将问题和上下文组织为 Xinstruct,将推理和答案组织为 Xa。
-
5 实验
5.1 多模态聊天机器人
我们开发了一个聊天机器人演示来展示 LLaVA 的图像理解和对话能力。进一步研究 LLaVA 如何很好地消化视觉输入并表现出指令遵循能力。我们首先使用原始GPT-4论文[32]中的示例,如表4和表5所示。提示需要深入的图像理解。为了进行比较,我们引用了他们论文中多模态 GPT-4 的提示和响应,并查询 BLIP-2 和 OpenFlamingo 模型检查点以获得他们的响应。
能够理解领域之外的数据,并且相比于其他的不仅仅是专注于描述图像:令人惊讶的是,尽管 LLaVA 是使用小型多模态指令跟随数据集(~80K 独特图像)进行训练的,但它在这两个示例中展示了与多模态 GPT-4 非常相似的推理结果。请注意,对于 LLaVA,这两个图像都是域外的,LLaVA 能够理解场景并按照问题指令进行响应。相比之下,BLIP-2 和 OpenFlamingo 专注于描述图像,而不是按照用户指令以适当的方式回答。更多示例如图 3、图 4 和图 5 所示。我们建议读者与 LLaVA 进行交互以研究其性能。
定量评估:
为了系统地了解 LLaVA 的性能,我们旨在利用定量指标来衡量模型的指令遵循能力。受 [45] 的启发,我们利用 GPT-4 来衡量我们模型生成的响应的质量。具体来说,我们从 COCO 验证拆分中随机选择 30 张图像,并使用建议的数据生成管道生成三种类型的问题(对话、详细描述、复杂推理)。 LLaVA 根据问题和视觉输入图像预测答案。 GPT-4 根据问题、ground-truth bounding boxes 和 captions 进行参考预测,标记教师模型的上界。在获得两个模型的响应后,我们将问题、视觉信息(以标题和边界框的格式)以及两个助手生成的响应提供给 GPT-4。 GPT-4 评估助手回答的有用性、相关性、准确性和详细程度,并给出 1 到 10 分的总分,分数越高表示整体表现越好。 GPT-4 还被要求对评估提供全面的解释,以便我们更好地理解模型。
我们改变训练数据集以研究不同类型的指令跟随数据的有效性。我们在表 3 中显示了结果。首先,通过指令调整,模型遵循用户指令的能力显着提高了 50 多个点。其次,加入少量的详细描述和复杂的推理题,使得模型整体能力提升了7个百分点。此外,它还提高了模型在会话问题上的表现,表明推理能力的整体提高是与其对话功能相辅相成。最后,我们表明拥有所有三种类型的数据会产生 85.1% 的最佳性能。我们希望该评估协议可以作为全面评估和理解大型多模态模型能力的起点。
5.2 ScienceQA
ScienceQA [30] 包含 21k 多模态多项选择题,具有丰富的领域多样性,涵盖 3 个学科、26 个主题、127 个类别和 379 个技能。基准数据集分为训练、验证和测试部分,分别包含 12726、4241 和 4241 个示例。我们考虑两种具有代表性的方法,包括具有和不具有思想链(CoT)的 GPT-3.5 模型(text-davinci-002)、LLaMA-Adapter [55],以及多模态思想链(MM-CoT)[ 57],这是该数据集上当前的 SoTA 方法。有关更多基线数字,请参阅 [30]。
每当 GPT-4 无法提供答案时,我们都会使用我们方法的预测。该方案产生 90.97% 的准确率,这与单独应用我们的方法几乎相同。 (ii) GPT-4 作为法官。每当 GPT-4 和 LLaVA 产生不同的答案时,我们会再次提示 GPT-4,要求它根据问题和两个结果提供自己的最终答案。精神与 CoT 相似,但具有来自其他模型的外部知识。令人惊讶的是,GPT-4 能够对所有问题类别提供一致的改进,并实现了 92.53% 的新 SoTA 准确率。据我们所知,这是 GPT-4 首次用于模型集成。我们希望这一发现能够鼓励未来的研究探索更有效的方法来利用 LLM 进行模型集成。
消融
我们在表 7 中消除了 ScienceQA 的几个设计选择。
-
(i)视觉特征。我们尝试使用 CLIP 视觉编码器的最后一层特征,其收益率为 89.96%,比去年之前的特征低 0.96%。我们假设这是因为与之前的层相比,CLIP 去年的特征可能更关注全局图像属性,后者可以更多地关注对理解特定图像细节更有用的局部属性。
-
(ii) 思路链。为了确定模型预测中答案和推理过程之间的顺序,我们运行两个变体并观察到答案优先报告最佳数字 89.77%,12个epochs的准确率,而reasoning-first可以在6个epochs快速达到89.77%的准确率,但随着更多的训练没有进一步提高。训练模型 24 个时期并不会提高性能。我们得出结论,类似于 CoT 的推理优先策略可以在很大程度上提高收敛性,但对最终性能的贡献相对较小。
-
(iii) 预训练。我们跳过预训练,直接从头开始训练 Science QA——性能下降到 85.81% 的准确率。 5.11% 的绝对降级表明我们的预训练阶段在对齐多模态特征同时保留大量预训练知识方面的重要性。 (iv) 模型大小。我们保持所有配置与我们最好的 13B 模型相同,并训练一个 7B 模型。这产生了 89.84% 的准确率,比 90.92% 低 1.08%,证明了模型规模的重要性。
6 讨论
本文展示了使用纯语言 GPT-4 进行视觉指令调优的有效性。我们提出了一个自动流水线来创建语言图像指令跟随数据,我们在此基础上训练 LLaVA,这是一种多模态模型,可以跟随人类意图完成视觉任务。它在 ScienceQA 上微调时实现了新的 SoTA 准确性,在多模式聊天数据上微调时实现了出色的视觉聊天体验。该项目正在进行中,可以探索几个方向:
-
(i)数据规模。预训练数据仅限于CC3M的一个子集,微调数据是COCO的一个子集。我们认为在更大的图像文本数据上进行预训练以增加概念覆盖率(例如,实体和 OCR)是值得的。它还有望将数据生成管道应用于更大的语言图像基础数据集(例如,在 GLIP [26] 和 GLGEN [27] 中使用)以生成更多指令跟随数据以微调多模态聊天助手。
-
(ii) 连接更多视觉模型。我们有希望的结果表明在某些情况下接近多模式 GPT-4 性能。除了尝试通过数据/模型缩放来匹配其性能外,学术界可能更感兴趣的是将其他强大的视觉模型(如 SAM [21])连接到 LLaVA 中,以启用多模式 GPT-4 目前可能不具备的新功能。
数据集
CC3M。我们使用 Spacy 为整个 cc3m 数据集的每个标题提取名词短语,并计算每个唯一名词短语的频率。我们跳过频率小于 3 的名词短语,因为它们通常是罕见的组合概念和属性,已经被其他字幕所涵盖。然后,我们从剩余频率最低的名词短语开始,将包含该名词短语的字幕添加到候选池中。如果名词短语的频率大于 100,我们会从其所有标题中随机选择一个大小为 100 的子集。这导致大约 595K 个图像-文本对。过滤 CC3M 前后名词短语统计的比较如图 2 所示。过滤后的数据集很好地覆盖了频率高于 3 的概念,但图像文本对的数量较少。