指令调优是大型语言模型(LLMs)的一个重要的监督训练阶段,其目标是增强LLMs执行指令的泛化能力并适应用户偏好。随着多模态数据在LLMs中的日益融合,人们对视觉-语言指令调优的性能越来越感兴趣,这相比纯文本指令呈现出更复杂的特性。在这篇论文中,我们系统地回顾了最新的多模态LLMs中视觉-语言指令调优设置和数据集,并总结了高质量视觉-语言调优数据应具备的特征。我们认为这些特征是构建视觉-语言指令数据的基本原则,并提出了一个完整的构建流程,包括数据收集、指令生成和质量控制模块,这些模块融入了精心设计的指令属性评估指标。我们基于我们构建的指令数据对三个广泛使用的多模态LLMs进行视觉-语言指令调优,并对相应的指标进行了广泛的实验,以证明本文提出的构建原则的合理性。与本文相关的代码和数据集已在 https://github.com/palchenli/VL-Instruction-Tuning 开源。 近来,对大型语言模型(LLMs)仅能处理离散文本信息的有限能力日益不满(Brown等,2020年;Chowdhery等,2022年;张等,2023年c)。因此,研究人员一直在探索改善LLMs的技术,以便处理额外类型的信息,主要是视觉信号,然后“超越文本”(黄等,2023年a;刘等,2023年c;朱等,2023年a)。视觉编码模块的整合已成为一种重要技术,它通过促进视觉数据的感知,增强了视觉-语言LLMs的多功能性。尽管这些多模态大型语言模型(MLLMs)的结构可以有所不同(刘等,2023年c;戴等,2023年;阿瓦达拉等,2023年),但它们的训练范式遵循类似的模式。在这些MLLMs中,使用视觉-语言指令进行微调在这个过程中起着至关重要的作用。
指令调优是LLMs的一种监督训练程序,通常包括不同的任务(欧阳等,2022年;魏等,2021年)。这个过程带来了双重好处,提高了LLMs泛化和执行各种任务指令的能力,同时也缩小了用户偏好与模型输出之间的差距。视觉-语言指令调优(VLIT)是指令调优的一个产物,它根据MLLM情况下的模型和训练设计相应地进行了调整,并被赋予了更多的责任(刘等,2023年c;戴等,2023年;朱等,2023年a)。具体来说,MLLM中的VLIT需要适应多模态输入和更多样化的任务类型。换句话说,它们需要协调不同模态之间的信息以及复杂的理解和推理。目前有许多最先进的MLLMs在下游任务上表现良好,并具有出色的用户交互能力,这在很大程度上归功于它们对视觉-语言指令的高效微调。
不幸的是,在现有工作中,为了尽可能扩大VLIT数据集的规模,通常将大量不同的视觉注释数据与简单的指令模板粗糙地结合在一起。这些方法导致数据集中存在噪声、幻觉、缺乏多样性和指令不平衡的隐患,大数据规模也影响了MLLM的整体训练成本。最近,一些工作(周等,2023年;魏等,2023年)指出,对VLIT数据进行质量优化是有效指导MLLM所必需的。具体来说,存在质量问题的VLIT数据不仅不会提高MLLM的性能,甚至可能在微调后削弱其能力。尽管一些工作已经开始尝试基于主观经验控制VLIT数据的质量,但目前还没有完整且经过验证的策略(李等,2023年f;王等,2023年a;赵等,2023年d)。
在本文中,我们整理并总结了最新的MLLMs及其VLIT阶段和相应的数据集。与其他相关综述论文(徐等,2023年a;王等,2023年f)不同,我们借鉴现有工作的成熟经验,分析并概述了高质量VLIT数据的主要特征,并将其形式化为不同角度的一整套定量评估指标。同时,我们基于这些原则和评估方法设计了一个灵活高效的VLIT数据构建和过滤流程,包括三个连续模块:数据收集、指令生成和质量控制。为了确认这些原则和整个流程的有效性和一致性,我们利用公共可用的数据集根据上述方法构建VLIT数据集,并将其与现有VLIT数据集在三个不同架构的常用MLLMs上进行比较。实证发现表明,本文提出的方法产生的VLIT数据优于现有作品。同时,本研究提出的各种评估指标与微调后MLLMs在下游任务中的输出一致,为总结的原则的有效性提供了进一步的证据。本文使用的代码和构建的VLIT数据集已开源2。
总之,本文的主要贡献可以概括如下:1) 本文系统地回顾了MLLMs中VLIT的所有相关设计和数据集,概括了构建指令数据时应注意的成熟原则,并指出了仍需进一步探索的挑战和方向。2) 本文提出了一种构建高质量VLIT数据的完整流程,包括三个子模块:数据收集、指令生成和质量控制。具体来说,这个流程不仅可以构建通用或任务特定的VLIT数据,而且质量控制模块也可以独立用于过滤现有指令数据。3) 基于提出的构建流程和公开可用的数据,我们构建了一个VLIT数据集,并通过在不同架构的多个MLLMs上与现有指令数据集进行实验,证明了总结原则和构建工具的合理性和有效性。
在本文中,第2节总结了所有与VLIT数据相关的最新工作,并根据不同方法进行了组织;第3节展示了高质量VLIT数据的特征。第4节提出了不同角度的相应评估方法,并介绍了VLIT数据构建流程;第5节实验验证了本文提出的相关理论和构建流程;第6节总结了仍然存在的视觉-语言微调的挑战和未来方向。
视觉-语言指令调优综述
在这一部分,我们简要介绍VLIT的相关定义,并收集近期MLLMs及其对应的VLIT数据集。 正如图2所示,我们在这一节中组织了所有与VLIT数据相关的工作。MLLMs及其相应的VLIT数据集的具体统计信息可以在表1和表2中找到。
2.2.1 通用指令 如图1所示,通用VLIT数据的格式与传统的纯文本指令数据相似,可根据构建范式分为不同类型。具体来说,这些范式可以分为两大类别:注释适配和自我指令。
注释适配。近年来,视觉模型的迅速发展导致大规模、多样化和高质量的注释数据的出现,这些数据适用于大量下游任务,可以无缝地定制为指令数据。许多相关研究特别是精心地将注释数据适配到标准指令数据中的(指令,输入,响应)格式。指令作为解释任务性质的正式陈述,直接使用手动编写的候选指令池获得(朱等,2023年a;赵等,2023年e),而其他人(戴等,2023年;李等,2023年i)使用手动指令作为种子指导LLMs扩展指令池并丰富指令多样性。输入包括图像和可选上下文,通常源自原始注释数据,并构成整个指令数据的一部分。响应对应于注释数据中的结果,并是指令数据的输出部分。如果原始注释数据满足用户的需求,通常不经修改即可迁移。然而,值得注意的是,对于分类、判断和简短标题等通常只产生单词或短句输出的下游任务,可能需要根据输入信息使用LLMs进行扩展,以避免潜在的过拟合和其他相关问题。值得一提的是,某些研究将这种简洁的响应视为一种指令形式,因此选择在指令中包含适当的限制性语言以解决这个问题(赵等,2023年e)。
其中,InstructBLIP(戴等,2023年)混合了10种视觉任务,精心制作了几种指令模板,并根据原始任务数据调整相应的指令细节,例如简短/短描述。KOSMOS-2(彭等,2023年)基于收集的定位框和相应表达创建了一个指令数据集,使用现有的指令模板。基于大量图像字幕数据集,LMEye(李等,2023年l)通过使用正确和错误分类的多项选择问题和四选一选择作为VLIT数据生成的模板,生成了数百万大规模VLIT数据集。MiniGPT-4(朱等,2023年a)利用其自己预训练的MLLM生成图像的全面描述,然后应用ChatGPT通过删除任何冗余信息来修订描述。在对指令数据的正确性进行人工验证后,可以获得高质量的VLIT数据。Lynx(曾等,2023年)收集了5种不同模态的任务,并基于使用GPT-4(OpenAI,2023年b)扩展的任务指令文本生成指令遵循数据。NExT-GPT(吴等,2023年)注意到现有关于训练数据的工作中缺乏对输入和输出模态多样性的讨论,因此提出了T2M指令数据集,专注于文本到多模态指令数据集。DreamLLM(董等,2023年)从MMC4(朱等,2023年b)和LAION400M(舒曼等,2022年)中收集图像-文本对,并利用GPT-4生成摘要和字幕。InternLM-XComposer(张等,2023年b)首先生成一段文本,然后根据图像与文本内容的匹配程度在相应位置添加适当的图像,生成图像-文本交错内容指令。MiniGPT-v2(陈等,2023年d)遵循LLaMA-2的对话模板,并使用任务识别标记生成大量不同任务的指令模板。
总的来说,注释适配是一种快速简单的VLIT构建方案,可以快速将注释数据转换为VLIT数据,并以低成本扩展VLIT数据规模和任务类型。然而,它的缺点也很明显,如指令和响应的多样性差、样本利用率低、无法适应用户偏好。
自我指令。现有任务和相应注释数据往往限制了指令的规模、多样性和创造力,阻碍了通过这些数据调整的MLLMs的通用性。标准指令格式在适应不断变化的现实世界应用场景和满足用户需求方面提出了挑战。因此,为了获得更适用于现实世界场景的附加指令数据,自我指令从(王等,2022年)引入更多类型的注释数据开始。这将帮助LLMs创建更多样化、内容更丰富的指令遵循数据。
具体来说,这些方法利用LLMs强大的理解和生成能力。它们利用上下文学习引导手动生成少量高质量示例,以此为基础生成与手动示例类似的指令数据样本。这些数据不再有严格限制,允许在指令和响应中具有更大的多样性和复杂性。
作为该领域的一个重要贡献,LLaVA (Liu et al., 2023c) 开创了利用LLM构建通用VLIT数据的趋势,通过重组现有的注释数据。具体而言,LLaVA 指导 GPT-4 或 ChatGPT 生成高质量的多轮讨论,提供从多个角度的图像描述和指定物体位置的边框。这种方法可以有效地防止由于匆忙和不精确地使用 GPT-4 和注释数据直接生成指令而导致的多样性和推理深度的缺乏。在 LLaVA 灵感的基础上,DetGPT (Pi et al., 2023) 指导 ChatGPT 通过图像标题、物体类别和预设提示来创建问答对。ChatGPT 使用人工设计的上下文示例以确保准确性。LAMM (Yin et al., 2023) 为四种不同场景定义多模态指令-响应对,使用 GPT-API 重组公开可用的注释数据,并生成多样化的任务指令,形成对话风格的指令数据。继承 LLaVA 的方法,SVIT (Zhao et al., 2023a) 收集更多数据并创建广泛的指令数据集,同时实施质量控制措施,如重复、对话轮数和幻觉。AnyMAL (Moon et al., 2023) 采用 LLaVA 提出的类似方法,利用 Llama-2 (Touvron et al., 2023b) 为提供的图像生成问答对。通过编写上下文样本,StableLLaVA (Li et al., 2023k) 指导 ChatGPT 生成图像及相应对话。与其他方法不同的是,StableLLaVA 中的图像是基于生成提示和 StableDiffusion 图像生成的。PVIT (Chen et al., 2023a) 提出了一个视觉-语言指令数据集,将细粒度区域与标题对齐,该数据集基于现有任务,并使用预定义模板生成基本指令数据。然后,使用 ChatGPT 重写上述内容,以增加多样性并确保指令跟随数据的质量。TextBind (Li et al., 2023f) 从公开可用的数据集中收集大量图像-文本对,并在过滤和聚类后使用 GPT4 重新组织内容以生成指令数据。基于 GPT,Sparkles (Huang et al., 2023b) 生成包含两种不同类型指令的数据集,分别对应于概念标题和视觉基因组。与上述作品不同的是,LVIS-INSTRUCT4V (Wang et al., 2023b) 使用新推出的 GPT-4V(ision) (OpenAI, 2023c) 的强大视觉理解能力,通过自我推理生成对话式问答对,并在准确的边框信息指导下生成高质量的图像标题作为指令数据。
自我指导是一种更灵活的VLIT数据构建方案,具有高复杂性、强多样性和出色的复杂性特点,赋予MLLM更强的遵循指令和适应用户需求的能力。然而,由于它极度依赖于LLM理解和组织现有数据的能力,它不仅有巨大的开销,而且还有LLM的固有幻觉,这也导致生成的VLIT数据质量的不稳定。
2.2.2 特定指令 与一般指令数据构建不同,大量方法更加关注对特定对象(例如,区域、文本和视频)或领域(例如,医学、文档和点云)的指令数据构建。
对象/任务特定指令。为了实现更细粒度的多模态理解,一些 MLLM 在生成 VLIT 数据时对理解对象引入了更多考虑。其中,GPT4RoI (Zhang et al., 2023e) 基于公开可用数据集和预设的单区域标题、多区域标题、单区域推理和多区域推理指令数据,构建了以区域为目标的端到端区域导向指令数据。ChatSpot (Zhao et al., 2023b) 收集全局图像和区域的不同任务数据集,增强模型处理不同粒度信息的能力,并基于预定义指令模板生成大规模的指令遵循数据。Ferret (You et al., 2023) 关注主流忽略的区域空间信息,并基于 ChatGPT 构建区域信息对话,包括大量负样本。VideoChat (Li et al., 2023i) 调整叙事文本以使用 GPT4 生成详细的视频描述,并以视频描述为信息源,使用 ChatGPT 生成关注时间和因果因素的问答对话。VALLEY (Luo et al., 2023b) 参考 LLaVA 和 VideoChat,使用 Stable-Vicuna 合成多个公开可用的视觉因果推理、角色识别和视频复杂内容理解数据集,生成问答对和对话数据。ChatBridge (Zhao et al., 2023e) 结合大量现有视觉任务和指令数据,构建更多视频导向会话,参考 LLaVA 的范式,形成非常大规模的指令数据集 MULTIS。Video-ChatGPT (Maaz et al., 2023) 通过手动注释和基于现有多模态 LLM 的半自动注释框架获得大量视频详细描述对,并然后使用 GPT3.5 协助生成大规模高质量问答对。Macaw-LLM (Lyu et al., 2023) 利用 GPT-3.5 协助根据预定义提示重组手动注释的图像和视频标题,并生成指令遵循数据。LLaVAR (Zhang et al., 2023g) 主要关注富含文本的图像数据,收集含文本的 LAION-5B 图像,将其分为14个簇,并根据是否使用 GPT-4,将其重组为大规模噪声指令和高质量指令。Shikra (Chen et al., 2023e) 指导 GPT-4 根据公开可用的对象检测数据集使用边框生成问答对。
领域特定指令。除了加强不同粒度语义信息的理解外,还有一些 MLLM 更加专注于解决特定领域问题的能力,因此这些 MLLM 构建了更多具有领域特征的 VLIT 数据。PMC-VQA (Zhang et al., 2023f) 提出了一个医学 VLIT 数据集,通过将图像标题输入 ChatGPT,生成 5 个关于图像的问答对,并设计根据问题类型、正确性和其他指标筛选高质量指令遵循数据。同样基于 PMC 数据集的 LLaVA-Med (Li et al., 2023e),使用预设提示指导 GPT-4 生成多轮对话。OphGLM (Gao et al., 2023) 收集眼科检查场景的相应图像和主题知识,结合预定义提示和 ChatGPT 模拟现实世界的医患问答会话以生成多轮指令对话,并设计三轮质量控制策略。GPT4Tools (Yang et al., 2023) 提出了一套与各种视觉工具使用需求相关的工具指令数据集。mPLUG-DocOwl (Ye et al., 2023a) 通过将五个文档相关任务与纯文本和一般视觉-语言指令数据集成,生成文档理解任务的文档指令数据集。PointLLM (Xu et al., 2023b) 提出了一套完整的基于 GPT-4 的点云处理点云指令数据集。
结论
在本文中,我们汇编了关于视觉-语言指令调整的最新研究,提供了简洁的总结和分析,以及现有文献的分类、细节和缺点。为了构建高质量的视觉-语言指令数据,我们基于现有研究总结提出了几个构建原则和一套完整的构建过程。广泛的实验表明,经过我们提出的方法构建的指令数据调整后的 MLLM 总体性能更佳。总之,我们概述了剩余的问题和潜在的未来研究方向。