当前位置: 首页 > news >正文

【论文笔记】Visual Instruction Tuning

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


基本信息

标题: 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准确率,在多模态聊天数据上进行微调时具有出色的视觉聊天能力。

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

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

相关文章:

【论文笔记】Visual Instruction Tuning

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Visual Instruction Tunin…...

ubuntu 设置静态IP

一、 ip addresssudo nano /etc/netplan/50-cloud-init.yaml 修改前: 修改后: # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-inits # ne…...

Java 每日一刊(第19期):泛型

文章目录 前言1. 泛型概述1.1 不使用泛型 vs 使用泛型1.2 泛型的作用 2. 泛型的基本语法2.1 定义带类型参数的泛型类2.2 使用泛型类2.3 泛型方法 3. 泛型类型推断与钻石操作符3.1 类型推断3.2 钻石操作符 4. 通配符的使用4.1 无界通配符 <?>4.2 上界通配符 <? exten…...

windows下安装rabbitMQ并开通管理界面和允许远程访问

如题&#xff0c;在windows下安装一个rabbitMQ server&#xff1b;然后用浏览器访问其管理界面&#xff1b;由于rabbitMQ的默认账号guest默认只能本机访问&#xff0c;因此需要设置允许其他机器远程访问。这跟mysql的思路很像&#xff0c;默认只能本地访问&#xff0c;要远程访…...

深度剖析音频剪辑免费工具的特色与优势

是热爱生活的伙伴或者想要记录美好声音的普通用户&#xff0c;都可能会需要对音频进行剪辑处理。而幸运的是&#xff0c;现在有许多优秀的音频剪辑软件提供了免费版本&#xff0c;让我们能够轻松地施展音频剪辑的魔法。接下来&#xff0c;就让我们一同深入了解这些音频剪辑免费…...

Oracle中TRUNC()函数详解

文章目录 前言一、TRUNC函数的语法二、主要用途三、测试用例总结 前言 在Oracle中&#xff0c;TRUNC函数用于截取或截断日期、时间或数值表达式的部分。它返回一个日期、时间或数值的截断版本&#xff0c;根据提供的格式进行截取。 一、TRUNC函数的语法 TRUNC(date) TRUNC(d…...

【Spring Boot 入门一】构建你的第一个Spring Boot应用

一、引言 在当今的软件开发领域&#xff0c;Java一直占据着重要的地位。而Spring Boot作为Spring框架的延伸&#xff0c;为Java开发者提供了一种更加便捷、高效的开发方式。它简化了Spring应用的搭建和配置过程&#xff0c;让开发者能够专注于业务逻辑的实现。无论是构建小型的…...

PPT 快捷键使用、技巧

前言&#xff1a; 本文操作是以office 2021为基础的&#xff0c;仅供参考&#xff1b;不同版本office 的 ppt 快捷键 以及对应功能会有差异&#xff0c;需要实践出真知。 shift 移动 水平/垂直 移动 &#xff1b; shift 放大/缩小 等比例放大 缩小 &#xff1b; 正圆 正…...

Web安全 - 文件上传漏洞(File Upload Vulnerability)

文章目录 OWASP 2023 TOP 10导图定义攻击场景1. 上传恶意脚本2. 目录遍历3. 覆盖现有文件4. 文件上传结合社会工程攻击 防御措施1. 文件类型验证2. 文件名限制3. 文件存储位置4. 文件权限设置5. 文件内容检测6. 访问控制7. 服务器配置 文件类型验证实现Hutool的FileTypeUtil使用…...

vue3中el-input在form表单按下回车刷新页面

摘要&#xff1a; 在input框中点击回车之后不是调用我写的回车事件&#xff0c;而是刷新页面&#xff01; 如果表单中只有一个input 框则按下回车会直接关闭表单 所以导致刷新页面 再写一个input 表单 &#xff0c;并设置style“display:none” <ElInput style"display…...

SQL Server中关于个性化需求批量删除表的做法

在实际开发中&#xff0c;我们常常会遇到需要批量删除表&#xff0c;且具有共同特征的情况&#xff0c;例如&#xff1a;找出表名中数字结尾的表之类的&#xff0c;本文我将以3中类似情况为例&#xff0c;来示范并解说此类需求如何完成&#xff1a; 第一种&#xff0c;批量删除…...

关于按键状态机解决Delay给程序带来的问题

问题产生 我在学习中断的过程中&#xff0c;使用EXTI15外部中断&#xff0c;在其中加入HAL_Delay();就会发生报错 错误地方 其它地方配置 问题原因 在中断服务例程&#xff08;ISR&#xff09;中使用 HAL_Delay() 会导致问题的原因是&#xff1a; 阻塞性&#xff1a; HAL_D…...

62.【C语言】浮点数的存储

目录 1.浮点数的类型 2.浮点数表示的范围 3.浮点数的特性 《计算机科学导论》的叙述 4.浮点数在内存中的存储 答案速查 分析 前置知识:浮点数的存储规则 推导单精度浮点数5.5在内存中的存储 验证 浮点数取出的分析 1.一般情况:E不全为0或不全为1 2.特殊情况:E全为0…...

GO网络编程(一):基础知识

1. 网络编程的基础概念 TCP/IP 协议栈 TCP/IP 是互联网通信的核心协议栈&#xff0c;分为以下四个层次&#xff1a; 应用层&#xff08;Application Layer&#xff09;&#xff1a;为应用程序提供网络服务的协议&#xff0c;比如 HTTP、FTP、SMTP 等。传输层&#xff08;Tra…...

【Linux】用虚拟机配置Ubuntu环境

目录 1.虚拟机安装Ubuntu系统 2.Ubuntu系统的网络配置 3.特别声明 首先我们先要下载VMware软件&#xff0c;大家自己去下啊&#xff01; 1.虚拟机安装Ubuntu系统 我们进去之后点击创建新的虚拟机&#xff0c;然后选择自定义 接着点下一步 再点下一步 进入这个界面之后&…...

酒店智能门锁SDK接口pro[V10] 门锁校验C#-SAAS本地化-未来之窗行业应用跨平台架构

一、代码 int 酒店标识_int Convert.ToInt32(酒店标识);StringBuilder 锁号2024 new StringBuilder(8);//信息 "未知返回值&#xff1a;" bufCard_原始;GetGuestLockNoByCardDataStr_原始(酒店标识_int, bufCard_原始.ToString(), 锁号2024);StringBuilder 退…...

Gitのrebase用法

在 Git 中&#xff0c;rebase 是一种用于整合多个提交历史的操作&#xff0c;它可以将一个分支的变更“重放”到另一个分支上。与 merge 不同&#xff0c;rebase 会产生一个线性的提交历史&#xff0c;使得项目的历史记录更加整洁和易于理解。 1. 什么是 Rebase&#xff1f; …...

二分查找一>:在排序数组中查找元素的第一个和最后一个位置

1.题目&#xff1a; 2.解析:这里不能用传统二分&#xff0c;因为涉及范围&#xff0c;传统二分时间复杂度会降为O(N)&#xff0c;要做些改动。 步骤一&#xff1a;查找区间左端点 细节图&#xff1a; 步骤二&#xff1a;查找区间右端点&#xff1a; 细节图&#xff1a; 代码…...

undeclared identifier ‘UNITY_PREV_MATRIX_M‘ - Unity Shader自己写URP,引用内部 hlsl

碰到这样的问题&#xff0c;居然非常淡定 这个链接里说了问题&#xff1a; 一个哥们A问&#xff0c;为什么include urp common.hlsl 提示莫名其妙 另一个哥们B说&#xff0c;这个issue 说了&#xff0c;可能是这个原因&#xff08;也没正面答&#xff09; 从issue我们知道&a…...

信息安全工程师(29)存储介质安全分析与防护

前言 存储介质安全分析与防护是确保数据安全与完整性的重要环节。存储介质&#xff0c;如硬盘、U盘、SD卡等&#xff0c;作为数据的载体&#xff0c;其安全性直接关系到数据的安全。 一、存储介质安全分析 1. 数据泄露风险 格式化不彻底&#xff1a;传统的格式化操作往往只能删…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...