【论文笔记】Visual Instruction Tuning

news2024/10/2 20:54:00

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


基本信息

标题: 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.coloradmin.cn/o/2185032.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux线程(二)线程ID及创建线程详解

1.线程ID 就像每个进程都有一个进程 ID 一样,每个线程也有其对应的标识,称为线程 ID。进程 ID 在整个系统中是唯一的,但线程 ID 不同,线程 ID 只有在它所属的进程上下文中才有意义。 进程 ID 使用 pid_t 数据类型来表示&#xf…

【Linux进程间通信】Linux匿名管道详解:构建进程间通信的隐形桥梁

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:Linux “ 登神长阶 ” 🌹🌹期待您的关注 🌹🌹 ❀Linux进程间通信 📒1. 进程间通信介绍📚2. 什么是管道📜3…

22.1 k8s不同role级别的服务发现

本节重点介绍 : 服务发现的应用3种采集的k8s服务发现role 容器基础资源指标 role :nodek8s服务组件指标 role :endpoint部署在pod中业务埋点指标 role :pod 服务发现的应用 所有组件将自身指标暴露在各自的服务端口上,prometheus通过pull过来拉取指标但是promet…

期权卖方如何选择铁矿石行权价?期权策略盈亏分析计算方式详解

截止9月30日收盘,铁矿石2411合约收盘价825元/吨。日线级别处于上涨趋势中 假设以825元为最新价,假设后市铁矿石期货价格会下跌,期权卖方应该如何选择行权? 卖出行权价800的看涨期权,期权报价37.9,一手权利…

【环境配置】科研小白Windows下安装Git

2024年小白使用Win10安装Git 2.46.2教程: 1 下载安装包 访问下载地址 Git - Downloading Package (git-scm.com) 下载之后打开文件 2 安装过程 点击Next 2.1 选择安装路径 2.2 选择勾选必要组件 2.3 一路Next 这一步直接Next即可 继续点击Next 继续点击Ne…

Linux学习之路 -- 线程 -- 线程池

前面介绍了条件变量的生产消费模型,下面介绍一下条件变量的另一个用法,那就是线程池。线程池的用法其实就是先创建一批线程,然后让这些线程从任务队列中取数据。具体就是生产消费者模型,(我的代码中生产线程只有一个并且生产的任务…

自动微分-梯度!

前言背景知识: 梯度下降(Gradient descent,GD) 正文: 自动微分为机器学习、深度学习神经网络的核心知识之一,若想更深一步使用神经网络进行具体问题研究,那么自动微分不得不了解。 “工欲善其事,必先利其器”&…

数据结构 ——— 单链表oj题:合并两个升序链表

目录 题目要求 手搓两个简易链表 代码实现 题目要求 将两个升序链表合并为一个新的升序链表并返回,新链表是通过拼接给定的两个链表的所有节点组成的 手搓两个简易链表 代码演示: struct ListNode* n1 (struct ListNode*)malloc(sizeof(struct …

【Linux】第一个小程序——进度条实现

🔥 个人主页:大耳朵土土垚 🔥 所属专栏:Linux系统编程 这里将会不定期更新有关Linux的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉 文章目…

【Python报错已解决】TypeError: ‘NoneType‘ object is not iterable

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

Android KMP 快速入门1 - 项目打包

这里写目录标题 KMP 运行与打包运行程序程序打包 KMP 运行与打包 运行程序 运行Android客户端,你首先需要把USB连接到物理机上,或者使用模拟器模拟一个手机; 然后选择运行配置的 composeApp ,运行它即可 运行windows客户端&…

Qt/C++开源控件 自定义雷达控件

使用Qt框架创建一个简单的雷达图&#xff0c;包含动态扫描、目标点生成、刻度和方向标识。代码实现使用C编写&#xff0c;适合用作学习和扩展的基础。 1. 头文件与基本设置 #include "RadarWidget.h" #include <QPainter> #include <QPen> #include &…

解决银河麒麟操作系统V10软件包架构不符问题

TOC &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在银河麒麟桌面操作系统V10中安装软件包时&#xff0c;如果遇到“软件架构与本机架构不符”的提示&#xff0c;可以尝试以下步骤来解决问题&#xff1a; 1. 确认架构一致性 查看本机架构…

基于STM32的智能门禁系统

目录 引言项目背景环境准备 硬件准备软件安装与配置系统设计 系统架构关键技术代码示例 密码验证模块电机控制实现门禁状态监控应用场景结论 1. 引言 智能门禁系统能够通过密码或其他验证方式&#xff08;如指纹、刷卡等&#xff09;控制门的开关&#xff0c;结合电机控制与…

2024年7月大众点评武汉餐饮美食店铺基础信息

在做一些城市分析、学术研究分析、商业选址、商业布局分析等数据分析挖掘时&#xff0c;大众点评的数据参考价值非常大&#xff0c;截至2024年7月&#xff0c;大众点评美食店铺剔除了暂停营业、停止营业后的最新数据情况分析如下。 武汉餐饮美食店铺约9.6万家&#xff0c;有均…

MySQL高阶2051-商店中每个成员的级别

目录 题目 准备数据 分析数据 实现 总结 题目 一个商店想对其成员进行分类。有三个层次: "钻石": 如果转换率 大于或等于 80."黄金": 如果转换率 大于或等于 50 且小于 80."白银": 如果转化率 小于 50."青铜": 如果该成员从未访…

澳洲本科毕业论文的初稿撰写要点分析

临近毕业季的时候&#xff0c;如何更好地完成澳洲本科毕业论文成为了困扰大家的一大难题。澳洲毕业论文的质量高低关系到留学生能否顺利毕业。因此大家都会关心如何更好地完成毕业论文。我们在之前一些文章中介绍了如何确立论点&#xff0c;如何查找资料以及如何完成高质量的di…

HarmonyOS/OpenHarmony 如何将rawfile中文件复制到沙箱中

关键词&#xff1a;h5离线加载、HarmonyOS、OpenHarmony、文件操作、复制、解压 当下有一个场景&#xff0c;需要离线加载 h5离线资源zip包&#xff0c;并实现资源包的动态更新&#xff0c;那么仅靠 $rawfile并不能实现该功能&#xff0c;那么我们该如何实现&#xff1f; 我们…

面试题05.08绘制直线问题详解(考察点为位运算符)

目录 一题目&#xff1a; 二详细思路汇总&#xff1a; 三代码解答&#xff08;带注释版&#xff09;&#xff1a; 一题目&#xff1a; leetcode原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 二详细思路汇总&#xff1a; 这里先剧透一下简单版思路哦&…