【LMM 002】大型语言和视觉助手 LLaVA-1.5

论文标题:Improved Baselines with Visual Instruction Tuning
论文作者:Haotian Liu, Chunyuan Li, Yuheng Li, Yong Jae Lee
作者单位:University of Wisconsin-Madison, Microsoft Research, Columbia University
论文原文:https://arxiv.org/abs/2310.03744
论文出处:–
论文被引:75(12/31/2023)
论文代码:https://github.com/haotian-liu/LLaVA,12k star
项目主页:https://llava-vl.github.io/

Abstract

大型多模态模型(Large Multimodal Models,LMM)最近在视觉指令调优方面取得了令人鼓舞的进展。在本说明中,我们展示了 LLaVA 中完全连接的视觉-语言跨模态连接器的强大功能和数据效率。我们对 LLaVA 进行了简单的修改,即使用 CLIP-ViT-L-336px 与 MLP 投影,并添加了以学术任务为导向的 VQA 数据和简单的响应格式提示,从而建立了更强大的基线,在 11 项基准测试中达到了最先进的水平。我们最后的 13B 检查点仅使用了 120 万个公开数据,在单个 8 卡 A100 节点上只用了 1 天就完成了全部训练。我们希望这能使最先进的 LMM 研究更容易获得。

1. Introduction

大型多模态模型(LMM)在研究界越来越受欢迎,因为它们是实现通用辅助工具的关键构件[1, 22, 35]。最近关于 LMM 的研究都集中在一个核心概念上,即视觉指令调优[28]。研究结果令人鼓舞,例如 LLaVA [28] 和 MiniGPT-4 [49] 在自然指令遵循和视觉推理能力方面取得了令人印象深刻的成果。为了更好地了解 LMM 的能力,人们提出了多个基准 [11, 20, 26, 29, 43]。近期的研究进一步证明,通过扩大预训练数据[2, 9],指令遵循数据[9, 21, 45, 46],视觉编码器[2]或语言模型[31]的规模,LMM 的性能得到了进一步提高。LLaVA 架构还可用于不同的下游任务和领域,包括区域级[6, 44]和像素级[19]理解,生物医学助手[23],图像生成[3],对抗研究[4, 47]。

本说明在 LLaVA 框架的基础上建立了更强大,更可行的基线。我们报告了两个简单的改进,即 MLP 跨模态连接器和纳入学术任务相关数据(如 VQA),这两个改进与 LLaVA 框架是正交的,与 LLaVA 一起使用时,能带来更好的多模态理解能力。InstructBLIP [9] 或 Qwen-VL [2] 需要在数亿甚至数十亿的图像-文本对数据上训练专门设计的视觉重取样器,相比之下,LLaVA 采用了最简单的 LMM 架构设计,只需要在 60 万个图像-文本配对上训练一个简单的全连接投影层。我们的最终模型可以在一台 8 卡 A100 机器上用 1 天左右的时间完成训练,并在各种基准测试中取得最先进的结果。此外,与 Qwen-VL [2] 在训练中使用内部数据不同,LLaVA 仅使用公开数据。我们希望这些经过改进且易于重现的基准能够为开源 LMM 的未来研究提供参考。

2. Background

Instruction-following LMM.

常见的架构包括一个用于编码视觉特征的预训练视觉主干,一个用于理解用户指令并生成响应的预训练大型语言模型(LLM),以及一个用于将视觉编码器输出与语言模型相匹配的视觉-语言跨模态连接器。如图 1 所示,LLaVA [28] 可能是 LMM 最简单的架构。可选择使用视觉重采样器(如 Qformer [24])来减少视觉 batch 的数量 [2 , 9, 49]。指令遵循 LMM 的训练通常分为两个阶段。

  • 首先,视觉-语言对齐预训练阶段利用图像-文本对将视觉特征与语言模型的单词嵌入空间对齐。早期的研究利用相对较少的图像-文本对(如 600K 对 [28] 或 600 万对 [49]),而最近的一些研究则在大量图像-文本对(如 1.29 亿对 [9] 和 1.4B 对 [2])上对特定语言模型的视觉语言连接器进行预训练,以最大限度地提高 LMM 的性能。

  • 其次,视觉指令调优阶段对视觉指令模型进行调优,使模型能够满足用户对涉及视觉内容的指令的不同要求。

在这里插入图片描述

Multimodal instruction-following data.

在 NLP 领域,研究表明,指令遵循数据的质量在很大程度上会影响指令遵循模型的能力[48]。在视觉指令调优方面,LLaVA[28] 率先利用纯文本 GPT-4 将现有的 COCO[27] 边框和Caption数据集扩展为多模态指令遵循数据集,其中包含三种类型的指令遵循数据:

  • 对话式 QA
  • 详细描述
  • 复杂推理

LLaVA 的管道已被用于扩展到文本理解[45],百万尺度[46]和区域级对话[6]。InstructBLIP [9] 结合了面向学术任务的 VQA 数据集,进一步增强了模型的可视化能力。相反,[5] 发现这种天真的数据合并会导致模型倾向于过度拟合 VQA 数据集,从而无法参与自然对话。作者进一步建议利用 LLaVA 管道将 VQA 数据集转换为对话风格。虽然这对训练很有效,但却增加了数据扩展的复杂性。

3. Improved Baselines of LLaVA

Overview.

在这里插入图片描述

作为视觉指令调优的初始作品,LLaVA 在视觉推理能力方面表现出了令人称道的熟练程度,在现实生活中视觉指令遵循任务的各种基准测试中甚至超过了最新的模型,而在通常需要简短答案(如单词)的学术基准测试中仅有不足。后者是由于 LLaVA 没有像其他方法那样在大规模数据上进行预训练。在本说明中,我们首先在表 1 所选的三个数据集上研究了数据,模型和输入图像分辨率的缩放效应,然后在表 2 所列的 12 个不同基准集上将最终模型与现有 LMM 进行了比较。我们的研究表明,LLaVA 的架构在视觉指令调优方面功能强大,数据效率高,与所有其他方法相比,LLaVA 使用更少的计算和训练数据实现了最佳性能

在这里插入图片描述

Response formatting prompts.

我们发现,InstructBLIP [9] 等方法无法[5]在短式和长式 VQA 之间取得平衡的主要原因如下。

  • 首先,回答格式的提示含糊不清。例如,Q:{问题} A: {答案}。这样的提示没有明确指出理想的输出格式,即使是自然的视觉对话,也会使 LLM 过度适应简短的答案。
  • 第二,没有对 LLM 进行微调。InstructBLIP 只对 Qformer 进行指令微调,使得第一个问题更加严重。它需要 Qformer 的视觉输出标记来控制 LLM 输出的长度,使其成为长式或短式,就像前缀调优那样 [25],但 Qformer 与 LLaMA 等 LLM 相比,由于容量有限,可能无法正确地做到这一点。定性示例见表 6。

在这里插入图片描述

为解决这一问题,我们建议使用单个回答格式提示,明确指出输出格式,在提示简短回答时附加在 VQA 问题的末尾:Answer the question using a single word or phrase.。我们的经验表明,当 LLM 使用这种提示进行微调时,LLaVA 能够根据用户的指示正确调优输出格式,并且不需要使用 ChatGPT [5] 对 VQA 数据进行额外处理,从而进一步扩展到各种数据源。如表 1 所示,只需在训练中加入 VQAv2 [12],LLaVA 在 MME 上的性能就会显著提高(1323.8 vs 502.8),比 InstructBLIP 高出 111 分。

MLP vision-language connector.

受到从线性投影到 MLP 的自我监督学习性能提高的启发 [7, 8],我们发现,与最初的线性投影设计相比,使用双层 MLP 提高视觉语言连接器的表示能力可以提高 LLaVA 的多模态能力

Academic task oriented data.

如表 1 所示,我们进一步增加了面向学术任务的 VQA 数据集,用于 VQA,OCR 和区域级感知,以从不同方面增强模型的能力。我们首先纳入了 InstructBLIP 中使用的四个附加数据集:开放知识 VQA(OKVQA [33],A-OKVQA [37])和 OCR(OCRVQA [34],TextCaps [39])。A-OKVQA 被转换为多选题,并使用特定的回答格式提示:Answer with the option's letter from the given choices directly。LLaVA 仅使用了 InstructBLIP 所使用数据集的一个子集,就已经在表 1 中的所有三项任务中超过了 InstructBLIP,这表明 LLaVA 的设计非常有效。此外,我们发现进一步添加区域级 VQA 数据集(Visual Genome [18],RefCOCO [17 , 32])可以提高模型定位细粒度视觉细节的能力。

Additional scaling.

我们进一步提高了输入图像的分辨率,使 LLM 能够清晰地 "看到 " 图像的细节,并添加了 GQA 数据集作为额外的视觉知识源。我们还加入了 ShareGPT [38] 数据,并像 [2, 6, 31] 那样将 LLM 放大到 13B。MM-Vet 的结果表明,当 LLM 扩展到 13B 时,改进最为显著,这表明基础 LLM 在视觉对话方面的能力非常重要。我们将所有修改后的最终模型称为 LLaVA-1.5(表 1 中的最后两行),它的性能令人印象深刻,大大超过了最初的 LLaVA [28]。

4. Discussion

Comparison with SoTA.

我们在各种学术 VQA 基准和最近专门为指令遵循 LMM 提出的基准(共 12 项基准)上对 LLaVA-1.5 进行了基准测试。我们发现,尽管使用的预训练和指令调优数据比其他方法少很多[2, 9],但在 12 个基准中的 11 个基准上,LLaVA-1.5 实现了最佳性能。令人鼓舞的是,LLaVA-1.5 利用最简单的架构,学术计算和公共数据集实现了最佳性能,并为未来研究提供了一个完全可重现且经济实惠的基线。研究结果还表明,在提高 LMM 能力方面,视觉指令调优比预训练发挥着更重要的作用,并对 LMM 需要大量视觉语言对齐预训练的普遍观点提出了质疑[2, 9, 24],尽管视觉编码器(如 CLIP [36],OpenCLIP [16],EVA-CLIP [10] 等)已经在网络规模的图像-文本配对数据集上进行了预训练。LLaVA-1.5(甚至是 7B 模型)的表现优于 80B IDEFICS [15],后者是一种类似于 Flamingo 的 LMM,具有数十亿个用于跨模态连接的可训练参数。这也让我们重新思考了视觉采样器的优势以及额外的大规模预训练在多模态指令遵循能力方面的必要性。

Zero-shot format instruction generalization.

在这里插入图片描述

尽管 LLaVA-1.5 只在有限的几种格式指示下进行了训练,但它可以泛化到其他格式指示。首先,VizWiz [13] 要求模型在所提供的内容不足以回答问题时输出 “无法回答”,而我们的回答格式提示(表 8)有效地指示模型这样做(无法回答问题的回答率为 11.1% → 67.8%)。我们还提供了一些定性示例,说明如何指示 LLaVA-1.5 验证棘手问题(表 3)并以受限的 JSON 格式进行回复(表 4)。

在这里插入图片描述

在这里插入图片描述

Zero-shot multilingual capability.

虽然 LLaVA-1.5 完全没有针对多语言多模态指令遵循进行微调,但我们发现它能够跟踪多语言指令,这部分归功于 ShareGPT [38] 中的多语言指令。我们在 MMBenchCN [29]上定量评估了模型对中文的泛化能力,MMBench 的问题被转换为中文。值得注意的是,LLaVA-1.5 比 Qwen-VL-Chat 高出 7.3%(63.6% vs 56.7%),尽管 Qwen 对中文多模态指令进行了微调,而 LLaVA-1.5 没有。

Computational cost.

对于 LLaVA-1.5,我们使用了与 LCS-558K1 相同的预训练数据集,并保持与 LLaVA [28] 大致相同的训练迭代次数和批量大小进行指令调优。由于图像输入分辨率提高到 336px,LLaVA-1.5 的训练时间是 LLaVA 的 2 倍:使用 8 卡 A100s 进行 6 小时的预训练和 20 小时的视觉指令调优。

Limitations.

尽管 LLaVA-1.5 取得了令人鼓舞的成果,但我们必须承认它还存在一些局限性。

  • 首先,LLaVA 使用的是完整的图像patch,这可能会延长每次训练迭代的时间。虽然视觉重取样器 [2, 9, 24] 减少了 LLM 中视觉patch的数量,但目前在训练数据量相当的情况下,视觉重取样器无法像 LLaVA 那样高效收敛,这可能是由于重取样器中的可训练参数较多。开发具有样本效率的视觉重取样器,可以为未来扩大指令遵循多模态模型的规模铺平道路。
  • 其次,LLaVA-1.5 还不能处理多幅图像,原因是缺乏此类指令遵循数据,以及上下文长度的限制。
  • 第三,尽管 LLaVA1.5 能熟练地遵循复杂指令,但它在某些领域的问题解决能力仍然有限,这可以通过更强大的语言模型和高质量,有针对性的视觉指令调优数据来改善。
  • 最后,尽管 LLaVA-1.5 的幻觉倾向大大降低,但它也难免产生幻觉和偶尔传播错误信息,因此在关键应用(如医疗)中应谨慎使用。

Appendix

Data.

我们的最终训练数据包含多种数据集:

  • VQA [12 , 14, 33, 37]
  • OCR [34, 39]
  • region-level VQA [17, 18 , 32]
  • 视觉对话 [28]
  • 语言对话 [38]

我们采用多种策略来降低训练成本并提高效率,具体如下:

  1. 对于所有 VQA 数据集,来自同一训练图像的 QA 对都会合并为一个对话。
  2. 对于 ShareGPT [38],我们按照 [41]的方法过滤掉无效对话。与 Vicuna[41]不同的是,超过 2048 个词组的长对话会被截断,而不是拆分成多个对话。这样就会产生 40K 个对话。
  3. A-OKVQA [37] 中的每对 QA 都会被增强 k 次,其中 k 是每个问题的选项数,以抵消多选数据的不足。
  4. 从 OCRVQA [34] 中抽取 80K 个对话样本。
  5. 对于视觉基因组,我们对带有附加注释的图像抽取 10 个注释样本。
  6. 对于 RefCOCO,会话被分割成片段,每个片段包含少于 10 个会话。
  7. 我们发现语言对话往往比图像对话更长。在每一批训练中,我们只从一种模态中抽取对话样本,这样可以将训练速度提高 25%,而且不会影响最终结果。

所有数据分拆在一起,并以相同的概率进行抽样。我们在表 7 中列出了最终数据的答题格式提示,在表 8 中列出了每个评价基准所使用的答题格式提示。

在这里插入图片描述

Hyperparameters.

LLaVA-1.5 使用的超参数集与最初的 LLaVA 相同,只是由于使用了 MLP 投影层而不是最初的线性投影层设计,将预训练的学习率减半。表 5 显示了第一阶段视觉语言对齐预训练和第二阶段视觉指令调优的训练超参数。

在这里插入图片描述

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

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

相关文章

2023年12月编程语言排行榜

TIOBE Index for December 2023 December Headline: C# on its way to become programming language of the year 2023 2023年12月的TIOBE指数:12月头条:c#将成为2023年最佳编程语言 Yes, I know, we have been here before. At the end of 2022, it looked like …

字母简化(UPC练习)

题目描述 给出一串全部为小写英文字母的字符串,要求把这串字母简化。简化规则是:统计连续出现的字母数,输出时先输出个数,再输出字母。比如:aaabbbaa,则简化为3a3b2a;而zzzzeeeeea,…

redis 从0到1完整学习 (十三):RedisObject 之 Set 类型

文章目录 1. 引言2. redis 源码下载3. redisObject 管理 Set 类型的数据结构4. 参考 1. 引言 前情提要: 《redis 从0到1完整学习 (一):安装&初识 redis》 《redis 从0到1完整学习 (二):red…

【网络面试(4)】协议栈和套接字及连接阶段的三次握手原理

1. 协议栈 一直对操作系统系统的内核协议栈理解的比较模糊,借着这一篇博客做一下简单梳理, 我觉得最直白的理解就是,内核协议栈就是操作系统中的一个网络控制软件,就是一段程序代码,它负责和网卡驱动程序交互&#xff…

Primavera Unifier 项目控制延伸:Phase Gate理论:2/3

阶段Gate的具体内容: 阶段0 根据公司需要和资源现状,决定开展哪些项目。在这个阶段,公司一般需要开展一些脑力风暴或者团队集思广益的活动以获得足够多的点子。一旦团队决定采用某个想法,必须从各个维度去完善它,并使…

Linux:apache优化(7)—— 日志分割|日志合并

作用:随着网站访问量的增加,访问日志中的信息会越来越多, Apache 默认访问日志access_log单个文件会越来越大,日志文件体积越大,信息都在一个文件中,查看及分析信息会及不方便。 分割 实现方式&#xff1a…

27 UVM queue

uvm_queue类构建一个动态队列,该队列将按需分配并通过引用传递。 uvm_queue类声明: class uvm_queue #( type T int ) extends uvm_object 1 uvm_queue class hierarchy 2 uvm_queue class Methods 3 UVM Queue Example 在下面的示例中,…

[SSD 测试 1.3] 消费级SSD全生命周期测试

依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解SSD》 <<<< 返回总目录 <<<< 构建消费级SSD全生命周期测试,开展性能测试、兼容性测试、功能测试、环境应力测试、可靠性测试、电器检测。 以忆联消费级存储实验室为例,消费级存储实验室面积…

鸿蒙项目方舟框架(ArkUI)之线性布局容器Stack组件

鸿蒙项目方舟框架&#xff08;ArkUI&#xff09;之线性布局容器Stack组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Stack组件 堆叠容器&#xff0c;子组件按照顺序依次入栈&#xff0c;后一个子组件覆盖前一个子组件。 …

微软开源,全平台通用:Shell 自动补全工具 | 开源日报 No.132

microsoft/inshellisense Stars: 7.6k License: MIT inshellisense 是一个为 Shell 提供 IDE 风格自动补全的工具。它是一个终端本地运行时自动完成&#xff0c;支持 600 多个命令行工具&#xff0c;并且可以在 Windows、Linux 和 macOS 上使用。主要功能包括安装后可通过运行…

FA模板制作

1、链接克隆模板的制作 &#xff08;1&#xff09;安装一个全新的Windows 10&#xff0c;挂载并安装tools&#xff0c;关闭防火墙 &#xff08;2&#xff09;挂载FusionAccess_WindowsDestop_Install_6.5.1.iso后启用本地Administrator本地超管&#xff0c;切换为本地超管&am…

Redis:原理+项目实战——Redis实战2(Redis实现短信登录(原理剖析+代码优化))

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理项目实战——Redis实战1&#xff08;session实现短信登录&#xff08;并剖析问题&#xff09;&#xff09…