【论文笔记】Visual Instruction Tuning

server/2024/10/18 12:28:41/

🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题: Visual Instruction Tuning
作者: Haotian Liu, Chunyuan Li, Qingyang Wu, Yong Jae Lee
发表: Advances in Neural Information Processing Systems 36 (NeurIPS 2023)
arxiv: https://arxiv.org/abs/2304.08485
项目主页: https://llava-vl.github.io/

基本信息

摘要

使用机器生成的指令遵循数据对大型语言模型(LLMs)进行指令微调已被证明可以提升新任务上的零样本能力,但在多模态领域这一想法探索较少。

我们首次尝试使用仅语言GPT-4生成多模态语言-图像指令遵循数据。

通过对这些生成数据进行指令微调,我们引入了LLaVA:大型语言和视觉助手,这是一个端到端训练的大规模多模态模型,它将视觉编码器和LLM连接起来,以实现通用视觉和语言理解。

为了促进未来对视觉指令遵循的研究,我们构建了两个具有多样性和挑战性应用任务的评估基准。

我们的实验表明,LLaVA展示了令人印象深刻的跨模态聊天能力,有时在未见过的图像/指令上表现出多模态GPT-4的行为,并在一个合成的多模态指令遵循数据集上相对于GPT-4实现了85.1%的相对分数。

当在科学问答(Science QA)上进行微调时,LLaVA和GPT-4的协同作用达到了92.53%的新最精确度。

我们将GPT-4生成的视觉指令微调数据、我们的模型和代码公开提供。

主要贡献

  1. 提出了一种视觉指令数据生成的方法流程
  2. 设计并训练了LLaVA,在Science QA上达到了SOTA
  3. 提出了一个有挑战性的多模态指令遵循Benchmark,LLaVA-Bench(COCO and In-the-Wild)
  4. 开源代码

GPT辅助视觉指令数据生成

基于COCO数据集,将其文本标签输入到GPT-4,构造出三类视觉指令数据:

  • Conversation,对话数据。以对话形式提出关于图像视觉内容的一系列问题,包括物体类型、计数物体、物体动作、物体位置以及物体之间的相对位置。
  • Detailed description,详细描述。对图像进行丰富而全面的描述。
  • Complex reasoning,复杂推理。深入推理问题,答案通常需要遵循严谨逻辑的逐步推理过程。

GPT辅助视觉指令数据生成

视觉指令调优

模型结构

LLaVA模型结构

  • Visual Encoder: CLIP ViT-L/14
  • Projection: Linear Layer w/o Bias
  • Language Model: Vicuna

训练流程

两阶段训练:

  • Stage 1 特征对齐预训练:
    • 数据集: CC595K
    • 🔥Projection
    • ❄️Visual Encoder, Language Model
  • Stage 2 端到端微调训练:
    • 数据集: Multimodal Chatbot, Science QA
    • 🔥Projection, Language Model
    • ❄️Visual Encoder

Benchmark

  • LLaVA Benchmark (COCO)。从COCO-Val-2014中随机选择了30张图像,每张图像生成上述三类问题,一共得到90个图像-指令对。
  • LLaVA Benchmark (In-the-Wild)。收集了24张多样化的图像,构造了共60个问题,为每张图像关联了一个高度详细且人工精选的描述并选择了适当的问题。

LLaVA Benchmark (In-the-Wild)

实验

训练数据消融实验

Ablation on LLaVA-Bench (COCO) with different training data.

主实验

主实验

  • LLaVA+GPT-4(complement): GPT-4先回答,没答出来的让LLaVA答
  • LLaVA+GPT-4(judge): 二者分别回答,GPT-4总结二者回答得到最终回答

设计选择消融实验

设计选择消融实验

  • Best variant: Vision Encoder使用哪一层特征作为输出,Before为倒数第二层,Last为最后一层
  • Predict answer first: 思维链能帮助更快收敛,但无法提高性能上限
  • Training from scratch: 从头训练 or 预训练
  • 7B model size: 大模型参数降为7B(原为13B)

总结

本文展示了视觉指令微调的有效性。

作者提出了一种自动流程来创建语言-图像指令跟随数据,基于此我们训练了LLaVA,一个多模态模型,用于跟随人类意图完成视觉任务。

它在ScienceQA上进行微调时达到了新的SoTA准确率,在多模态聊天数据上进行微调时具有出色的视觉聊天能力。

此外,作者提出了第一个用于研究多模态指令跟随能力的基准。

作者希望本工作能够激发未来关于构建更强大多模态模型的研究。


http://www.ppmy.cn/server/128055.html

相关文章

聚星文社——绘唐科技有什么区别!

聚星文社和绘唐科技是两个不同的公司,有一些区别。下面是它们的一些区别: 绘唐科技——聚星文社https://iimenvrieak.feishu.cn/docx/ZhRNdEWT6oGdCwxdhOPcdds7nof 行业领域:聚星文社主要从事文化娱乐行业,包括出版、影视制作等&…

[Leetcode LCR188.][Medium]-买卖芯片的最佳时机-dp/状态压缩

目录 一、题目描述 二、整体思路 三、代码 一、题目描述 原题地址 二、整体思路 可以设一个长度为price.length的dp数组,dp[i]表示到第i天时的最大利润。因为买入操作只能在卖出操作之前完成,因此需要记录下遍历prices数组到第i天时历史最低价格minp,每次遍历都要更新历史…

【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)

总览 1.下载和解决依赖问题 2.修改相关参数 3.安装过程 一、下载和解决依赖问题 1.下载 去这里看看,填写相关的显卡参数,选择 linux 版本,然后开始下载。 https://www.nvidia.cn/drivers/lookup/ 进入这个选择界面: 开始下载&…

解决VRM格式模型在Unity中运行出现头发乱飞等问题

1、问题 通过VRoidStudio制作导出的vrm格式的模型,放在unity中使用时,一运行就会出现头发乱飞,没有自然下垂的问题 2、解决方法 将模型下的secondary中的所有VRM Spring Bone脚本中的Drag Force改为1,Hit Radius改为0 修改后…

Docker 多节点监控系统实战:Prometheus 与 Grafana 部署全攻略

Docker 多节点监控系统实战:Prometheus 与 Grafana 部署全攻略 文章目录 Docker 多节点监控系统实战:Prometheus 与 Grafana 部署全攻略一 多节点部署1 节点一2 节点二3 节点三 二 监控节点部署三 配置 prometheus.yml四 测试监控系统 本文详解如何使用 …

MATLAB中的图形标注与注释:从基础到高级应用

在MATLAB中,图形的标注与注释对于解释图表内容、突出显示数据特征或增加额外信息至关重要。无论是添加标题、轴标签、图例,还是在图形的特定位置添加文本或箭头,MATLAB都提供了丰富的功能来实现这些需求。本文将详细介绍如何在MATLAB中添加和…

大数据分析的具体步骤

大数据分析的具体步骤 大数据 java python hadoop 1. 明确分析目的和思路: - 确定分析目标:思考为什么要开展数据分析,要解决什么问题。比如,企业想要分析用户购买行为,以便优化产品推荐策略;政府部门…