[论文阅读] Improved Baselines with Visual Instruction Tuning

启发:

1、LLaVA-1.5和LLaVA以及其他大模型相比,做出了哪些改进?

(1)使用CLIP-ViT-L-336px作为视觉编码器,使模型能处理336px的高分辨率图像,这使得模型能从图像中提取出更多细节信息。此外,还进一步探索了如何适应更高分辨率的图像,通过对图像做分割的方式成功达到448px的输入。

(2)使用双层MLP来增强模型的多模态理解能力。

(3)制定了更明确的响应格式提示,使用该提示对模型进行微调,解决LLaVA存在的短格式和长格式 VQA不平衡的问题。

(4)数据集方面借鉴了InstructBLIP,加入了学术数据,此外,还加入了GVQA、ShareGTP等多个数据集,通过这种数据扩展方式强化模型性能。

目录

Abstract

1. Introduction

2. Related Work

2.1 Instruction-following large multimodal models (LMMs)

2.2 Multimodal instruction-following data

3. Approach  

3.1. Preliminaries

3.2. Response Format Prompting

3.3. Scaling the Data and Model

3.4. Scaling to Higher Resolutions

4. Empirical Evaluation

5. Open Problems in LMMs

5.1. Data Efficiency

5.2. Rethinking Hallucination in LMMs

6. Conclusion


Abstract

研究问题:改进LLaVA性能

研究方法:使用CLIP-ViT-L-336px作为视觉编码器,并引入MLP投影层来增强模型的表示能力。在训练数据中加入了学术任务导向的可视化问答(VQA)数据,并使用了响应格式化提示,以改善模型对短答案和长答案的生成能力。

1. Introduction

  • LMMs有什么用?

        它是通用AI助手的关键组件。

  • 最近关于LMMs的工作的研究重点是什么?

        近期工作关注视觉指令调整(visual instruction tuning),LLaVA和MiniGPT-4都取得很好的成果,LLaVA架构也被应用于许多领域。

  • 本文的研究思路

        考虑到不同大模型在不同任务上的性能表现各有优劣,而目前没有合理解释能说明导致这些差异的原因是什么,可能是训练数据,也可能是Qformer等重采样器的使用,我们从输入、模型、数据的角度来进行系统研究,探索提升LMMs性能的有效路线。

        首先,我们发现 LLaVA 中全连接的视觉语言连接器具有强大的能力和数据效率,所以我们在LLaVA框架基础上建立了一个更强大的baseline。具体的改进有两个,MLP跨模态连接器结合了学术任务的相关数据

        然后,我们深入研究了大型多模态模型在其他开放问题上的早期探索,发现了LLaVA表现好的原因:

(1) 缩放到高分辨率图像输入。我们表明,LLaVA 的架构可以通过简单地将图像划分为网格来扩展到更高的分辨率,并保持其数据效率;随着分辨率的提高,它提高了模型的细节感知能力,减少了幻觉。

本来高分辨率图像需要大量计算资源,LLaVA通过把高分辨率图像分割成小块,然后分别处理小块,一方面使用较少的计算资源来处理高分辨率图像,提升了数据效率,另一方面让模型能够关注到图像中的更多细节,降低“幻觉”出现概率

(2) 组合能力。我们发现大型多模态模型能够推广到组合能力。例如,长格式语言推理的训练与较短的视觉推理可以提高模型对多模态问题的编写能力。

一方面的体现是模型处理多模态输入的能力,LLaVA能够同时看到图像输入和文本输入,然后结合多模态输入更准确的回答问题。另一方面的体现是当模型能处理任务A和B时,它能否进一步处理同时涉及A和B的任务C

(3) 数据效率。我们表明,将 LLaVA 的训练数据混合随机降低高达 75% 不会显著降低模型的性能,这表明更复杂的数据集压缩策略的可能性可以进一步改进 LLaVA 已经高效的训练管道。

LLaVA即使只用75%的数据训练,性能也不会出现明显下降,说明LLaVA能更高效的从数据中学习

(4) 数据缩放。我们为数据粒度的扩展提供了经验证据,并且模型的能力对于在不引入幻觉等伪影的情况下改进能力至关重要。

增加数据规模和细节程度能够提升模型性能,但是要注意不能一昧的增加数据量,否则低质量数据会引入幻觉,也不能一昧的提供细粒度数据,否则模型理解宏观信息的能力会下降

        总之,根据上述的研究,我们找到了有效的改进思路,在仅使用公共数据的条件下对LLaVA进行了改进,得到LLaVA-1.5,它在11项任务上都达到了SOTA水平。

2. Related Work

2.1 Instruction-following large multimodal models (LMMs)

LMMs的常见架构包括:

(1)预训练好的视觉backbone:从图像中提取和编码视觉特征。

(2)预训练好的大语言模型LLM:理解用户的需求,生成响应。

(3)视觉-语言多模态连接器:将视觉编码器输出的视觉特征与语言模型的词嵌入空间对齐。

(4)视觉重采样器:是一个可选部件,作用是对视觉特征进行筛选,保留重要信息,减少特征数量,常用的是Qformer。

LMMs遵循两阶段训练方式:

(1)视觉-语言对齐预训练:训练数据是图像-文本对,训练目标是让模型能够将图像的视觉特征和文本的语言特征对应起来。直观来说,就是让模型知道文本描述的是图像中的哪部分内容。

(2)视觉指令调整:训练数据是视觉内容和相应的语言指令,视觉内容可能是图像和视频,语言指令可能包括问题-答案对(QA任务)、描述性文本(image caption任务)、对话文本(多模态对话任务)、格式化输出要求(格式转换任务)等。训练目标就是让模型能理解和执行涉及视觉内容的用户指令。

2.2 Multimodal instruction-following data

        研究显示instruction-following数据的质量会对模型性能产生很大影响。LLaVA率先使用GPT-4将现有的COCO边界框和标题数据集扩展为多模态instruction-following数据集,其中包含三类指令数据:对话式QA、详细描述和复杂推理,这种数据扩展方式已经被广泛应用于其他数据集和任务中。

        InstructBLIP模型通过纳入学术任务导向的视觉问答(VQA)数据集来增强模型的视觉能力。但是,简单的将学术任务数据和普通数据集合并,会导致模型在普通数据上过拟合,为了解决该问题,有研究提议利用LLaVA的pipeline将VQA数据集转换为对话形式数据集,这种方式虽然有效,但是会在数据扩展时增加复杂性。为了解决上述问题,我们调查在多模态模型中无法平衡自然对话和学术任务的根本原因。
(根本原因是什么???)

3. Approach  

3.1. Preliminaries

LLaVA存在的一些问题:

(1)在需要简短答案的任务测试中无法达到要求;

(2)由于训练分布缺乏相关数据,导致回答“是/否”问题时倾向于回答是。

InstructBLIP存在的一些问题:

(1)加入了学术数据,导致在现实生活问题上表现不佳;

(2)倾向于给出简短回答,即使明确要求给出详细回答。

3.2. Response Format Prompting

模型无法在短格式和长格式 VQA 之间取得平衡的原因:

(1)响应格式的提示不明确

模型使用的提示(prompts)对于期望的输出格式不够明确。例如,简单的提示格式如“Q: {问题} A: {答案}”并没有指明是期望一个简短的答案还是详细的解释。这可能导致模型在即使是需要自然对话和长答案的情况下,也倾向于生成简短的答案。

(2)没有对大型语言模型(LLM)进行微调

InstructBLIP模型只对Qformer进行了微调,而不是对整个LLM进行微调。这要求Qformer的视觉输出tokens来控制LLM输出的长度,决定是生成长答案还是短答案。然而,Qformer可能由于其容量相对于像LLaMA这样的LLM来说有限,而无法恰当地完成这一任务。

我们提出的解决思路是:

(1)使用明确的响应格式提示

        通过在VQA问题后附加一个明确的响应格式提示,例如“用一个单词或短语回答这个问题”,来指示模型输出的期望格式。这样的提示可以帮助模型更清晰地理解何时应该提供简短的答案。

(2)对LLM进行微调

        通过使用这些明确的提示对LLM进行微调,LLaVA模型能够根据用户的指令适当地调整输出格式。这意味着模型可以更灵活地在短答案和长答案之间切换,而不需要额外的处理,例如使用ChatGPT来处理VQA答案。

        实验表明,通过在训练中仅加入VQAv2数据集,LLaVA在MME(多模态推理挑战)上的性能显著提高,并且超过了InstructBLIP模型111分,说明了我们的思路的有效性。

3.3. Scaling the Data and Model

(数据扩展是指增加训练数据的规模和多样性,模型扩展是指增加模型参数量和复杂度)

(1)MLP vision-language connector

我们发现在视觉-语言连接器中使用两层MLP能够增强LLaVA的多模态理解能力。

(2)Academic task oriented data

在InstructBLIP使用的数据集基础上引入新的数据集,最终数据集组成为:

  • open-knowledge VQA(OKVQA,A-OKVQA)和OCR(OCRVQA,TestCaps
  • region-level VQA datasets(Visual Genome,RefCOCO
  • VQA-v2
  • GQA
  • ShareGPT

(3)Additional scaling

        为了让模型能看到图像的更多细节,我们将图像分辨率提高到336×336,视觉编码器采用了CLIP-ViT-L-336px。让然后还引入了GQA和ShareGPT作为额外数据集,并把模型参数量从7B扩展至13B

我们将按照上述改进训练得到的模型命名为LLaVA-1.5

3.4. Scaling to Higher Resolutions

        研究表明增加图像分辨率可以提高模型性能,但是,CLIP视觉编码器最高只支持336px,无法通过更换视觉编码器来支持更高的分辨率,所以需要探索新的方式。

        具体做法如下图所示,我们对高分辨率图像做分割,得到多个patch,对每个patch进行encode之后,将得到的特征进行合并。另外,还将下采样的图像特征一并传入LLM,这使我们能够将输入缩放到任意分辨率,并保持 LLaVA-1.5 的数据效率。我们将这个模型称为 LLaVA-1.5-HD

4. Empirical Evaluation

4.1. Benchmarks

4.2. Results

4.3. Emerging Properties

        LLaVA-1.5虽然没有专门针对多语言进行训练,但是ShareGPT中存在多语言数据,所以LLaVA-1.5 能够遵循多语言指令,甚至LLaVA-1.5的性能比 Qwen-VL-Chat 高出 +7.3%。

4.4. Ablation on LLM Choices

5. Open Problems in LMMs

5.1. Data Efficiency

        尽管与 InstructBLIP等方法相比,LLaVA-1.5 的数据效率更高,但与 LLaVA 相比,LLaVA-1.5 的训练开销仍然翻了一番。我们通过对 LLaVA-1.5 的训练数据进行随机子采样,以进一步提高数据效率,采样率范围为 0.1 到 0.5。

        结果如下图,即使只使用50%的数据,模型依旧达到98%的性能,甚至在一些任务上还有提升。直至数据减少到30%,模型性能依旧稳定。这表明数据效率还有进一步改进的空间。

        

5.2. Rethinking Hallucination in LMMs

        幻觉是 LLM 和 LMM 需要解决的一个重要问题。通常在 LMM 中,我们将模型的幻觉归因于训练数据集中的错误,然而,我们发现,当我们将模型的输入缩放到更高的分辨率(如 448px)时,这种幻觉会显著减少。这说明,有些幻觉是因为输入分辨率不足,导致模型无法识别输入数据的所有细节而产生的。

        这个发现提示研究者在设计模型和选择数据时,需要考虑到模型处理高分辨率输入的能力,以及如何有效地利用这些高分辨率数据来减少幻觉

6. Conclusion

研究目标和贡献

论文的目标是揭开大型多模态模型设计的一些谜团。研究者们提出了一个名为LLaVA-1.5的新基线模型,这个模型简单、有效,而且在训练时不需要太多的数据。他们还探索了在视觉指令调整中尚未解决的问题,比如如何处理更高分辨率的图像,以及模型在产生幻觉和组合不同能力时的表现。

对未来研究的期望

研究者们希望他们的发现和提出的基线模型能为未来开源的大型多模态模型研究提供参考和帮助。

模型的局限性

尽管LLaVA-1.5模型取得了一些积极的成果,但它仍然有一些局限性。例如,处理高分辨率图像时训练时间可能会变长,模型还无法理解多张图像之间的关系,而且在某些领域解决问题的能力也有限。此外,模型有时也会产生幻觉,也就是生成不真实的信息。因此,在关键的应用领域,比如医疗行业,使用这个模型时需要格外小心。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动态规划,就这几个问题最高频!

目录 前言 什么是动态规划 连续子数组最大和 连续子数组最大乘积 最长递增子序列 最长公共子序列 最长公共子串 不同子序列 结语 【摘要】 前言大家好,我是bigsai,好久不见,甚是想念(天天想念)!很久前就有小伙伴被动态规划…

迭代加深搜索、启发式搜索、A*、IDA

目录 回顾/本期梗概 一、迭代加深搜索(IDDFS) 1、IDDFS基础知识 1)什么是迭代加深搜索 2)迭代加深的基本结构 3)IDDFS和BFS比较优势是什么 4)IDDFS中的复杂计算问题 二、A*算法 1、A*算法基础知识 1.什么是A*算法 2.A*算法的核心…

102. UE5 GAS RPG 实现范围技能奥术伤害

在上一篇文章里,我们在技能蓝图里实现了通过技能实现技能指示,再次触发按键后,将通过定时器触发技能效果表现,最多支持11个奥术个体效果的播放。 在这一篇里,我们将实现技能播放时,对目标敌人应用技能伤害。…

Android OpenGL ES详解——裁剪Scissor

目录 一、概念 二、如何使用 1、开启裁剪测试 2、关闭裁剪测试 3、指定裁剪窗口(位置和大小) 4、裁剪应用举例 三、窗口、视⼝和裁剪区域三者区别 四、源码下载 一、概念 定义1: 裁剪是OpenGL中提⾼渲染的⼀种方式,只刷新…

内存马浅析

之前在jianshu上写了很多博客,但是安全相关的最近很多都被锁了。所以准备陆陆续续转到csdn来。内存马前几年一直是个很热门的漏洞攻击手段,因为相对于落地的木马,无文件攻击的内存马隐蔽性、持久性更强,适用的漏洞场景也更多。 J…

华为配置 之 GVRP协议

目录 简介: 配置GVRP: 总结: 简介: GVRP(GARP VLAN Registration Protocol),称为VLAN注册协议,是用来维护交换机中的VLAN动态注册信息,并传播该信息到其他交换机中&…

62 mysql 中 存储引擎MyISAM 中索引的使用

前言 固定数据表 mysql. tables_priv 的表结构创建如下 CREATE TABLE tables_priv (Host char(60) COLLATE utf8_bin NOT NULL DEFAULT ,Db char(64) COLLATE utf8_bin NOT NULL DEFAULT ,User char(32) COLLATE utf8_bin NOT NULL DEFAULT ,Table_name char(64) COLLATE u…

局长们,今晚0点,国考抢考点!

2025国考报名确认已于11月1日0:00开始已经报完名且通过资格审核的小伙伴们一定要及时确认! 具体流程是什么?操作时需要注意哪些事项?看完这篇就能全部搞定~ 25国考时间轴线 ✔️报名时间:10月15日8:00至10月24日18:00 ✔️审查时间:10月1…

list ------ 是一个带头双向循环的列表

结构 insert list 没有find&#xff0c;算法库有 #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> #include<algorithm> #include<list> using namespace std; class Pos {int _row;int _col; public:Pos(int row, int col):_row(row),_col(col){c…

【已解决】【hadoop】如何解决Hive连接MySQL元数据库的依赖问题

在启动 Hive 之前&#xff0c;通常不需要手动连接到 MySQL 数据库。Hive 的配置文件 hive-site.xml 中已经包含了连接到 MySQL 元数据库所需的信息&#xff0c;包括用户名和密码。当你启动 Hive 服务时&#xff0c;Hive 会使用这些配置信息自动连接到 MySQL 数据库。 为什么还要…

react基础之redux快速上手环境准备

文章目录 核心概念配置基础环境提交action传参异步状态操作redux调试-devtools配套工具 Redux 是一个状态管理库&#xff0c;通常与 React 一起使用&#xff0c;帮助开发者管理应用的全局状态。它的核心理念是将应用的状态存储在一个单一的、不可变的状态树中&#xff0c;并通过…

YashanDB安装及使用问题和常用总结

在YashanDB的安装和使用中总会遇到一些问题&#xff0c;有些抓耳挠腮各种查&#xff0c;在此总结下遇到和群友问到的一些问题&#xff0c;和一些常用总结 一、官方文档 先附上官方文档地址&#xff0c;给迷路的小伙伴&#xff0c;官方文档整体还是比较简介易懂的 安装部署 |…

Unreal5从入门到精通之如何解决在VR项目在头显中卡顿的问题

前言 以前我们使用Unity开发VR,Unity提供了非常便利的插件和工具来做VR。但是由于Unity的渲染效果不如Unreal,现在我们改用Unreal来做VR了,所有的VR相关的配置和操作都要重新学习。 今天就来总结一下,我在开发VR过程中碰到的所有问题。 1.编辑器,以VR运行 默认运行方式…

C#与C++交互开发系列(十四):C++中STL容器与C#集合传递的形式

前言 在跨语言开发中&#xff0c;C 的 STL 容器&#xff08;如 std::vector, std::map&#xff09;和 C# 的集合类&#xff08;如 List<T>, Dictionary<TKey, TValue>&#xff09;之间的数据传递是一个常见需求。由于两者的内存布局和实现机制不同&#xff0c;直接…

docker离线安装达梦数据库

文章目录 下载达梦数据库docker镜像上传DM8镜像文件将DM8镜像导入到本地docker镜像仓库中查看本地docker镜像仓库是否存在DM8镜像带参数启动DM8docker启动DM8默认用户名/密码 下载达梦数据库docker镜像 达梦数据库官网 https://www.dameng.com/ 点击下载中心&#xff0c;选择D…

智能合约分享

智能合约练习 一、solidity初学者经典示例代码&#xff1a; 1.存储和检索数据&#xff1a; // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // 声明 Solidity 编译器版本// 定义一个名为 SimpleStorage 的合约 contract SimpleStorage {// 声明一个公共状态变量 d…

Couldn‘t apply path mapping to the remote file.

Couldn’t apply path mapping to the remote file. /s6home2/zjw524/projects/seq2seq/code/deepnmtpycharm/deepNmt/code/deepNmtPycharm/deepNmt/model/Deep_NMT_Model.py can’t be found in project. You can continue debugging, but without the source. To fix that yo…

4.2-6 使用Hadoop WebUI

文章目录 1. 查看HDFS集群状态1.1 端口号说明1.2 用主机名访问1.3 主节点状态1.4 用IP地址访问1.5 查看数据节点 2. 操作HDFS文件系统2.1 查看HDFS文件系统2.2 在HDFS上创建目录2.3 上传文件到HDFS2.4 删除HDFS文件和目录 3. 查看YARN集群状态4. 实战总结 1. 查看HDFS集群状态 …

嵌入式硬件电子电路设计(一)开关电源Buck电路

目录 Buck电路基本结构 1. 开关闭合&#xff08;SW 闭合&#xff09; 2. 开关断开&#xff08;SW 断开&#xff09; 3. 开关控制和占空比 MP1584电路分析 其他Buck芯片的电路参考 Buck电路基本结构 下图是简化之后的BUCK电路主回路。下面分析输出电压的产生K闭合后&…

医院信息化与智能化系统(14)

医院信息化与智能化系统(14) 这里只描述对应过程&#xff0c;和可能遇到的问题及解决办法以及对应的参考链接&#xff0c;并不会直接每一步详细配置 如果你想通过文字描述或代码画流程图&#xff0c;可以试试PlantUML&#xff0c;告诉GPT你的文件结构&#xff0c;让他给你对应…