多模态论文阅读-LLaVA

Visual Instruction Tuning

  • Abstract
  • 1. Introduction
  • 2. Related Work
  • 3. GPT-assisted Visual Instruction Data Generation
  • 4. Visual Instruction Tuning
    • 4.1 Architecture
    • 4.2 Training
  • 5 Experiments
    • 5.1 Multimodal Chatchot
    • 5.2 ScienceQA
  • 6 Conclusion

Abstract

使用机器生成的instruction-following data 对大型语言模型(LLMs)进行指令调优已被证明可以提高新任务的zero-shot能力,但该想法在多模态领域的探索较少。我们首次尝试使用languguage-only GPT-4来生成multimodal language-image instruction-following data。通过对这些生成的数据进行指令调优,我们引入了LLaVA:大型语言和视觉助理(Large Language and Vision Assistant),这是一个端到端训练的大型多模态模型,它将视觉编码器和LLM连接起来,用于通用的视觉和语言理解。为了促进视觉指令跟随的进一步研究,我们构建了****两个具有多样化和挑战性的应用导向任务的evaluation benchmarks。我们的实验表明,LLaVA展示了令人印象深刻的多模态聊天能力,有时在看不见的图像/指令上表现出multimodal GPT-4的行为,与GPT-4在合成(synthetic)的多模态指令遵循数据集上相比,产生了85.1%的相对分数。当在Science QA上进行微调时,LLaVA和GPT-4的协同(synergy)作用达到了92.53%的最新先进水平。我们让GPT-4生成的visual instruction tuning data、我们的模型和代码公开可用。

1. Introduction

人类通过视觉和语言等多种渠道与世界互动,每一种渠道在表达和交流某些概念方面都具有独特的优势,因此有助于更好地理解世界。人工智能的核心目标之一是开发一种通用(general-purpose)的助手,它可以有效地遵循多模态视觉和语言指令,与人类的意图保持一致,在野外完成各种现实世界的任务。
为此(to end this),社区对开发语言增强基础视觉(language-augmented foundation vision models)产生了浓厚的兴趣,这些模型具有强大的开放世界视觉理解能力,如分类、检测、分割和字幕,以及视觉生成和编辑。在这一系列工作中,每个任务由一个单一的大视觉模型独立解决,在模型设计中隐式地(implicityly)考虑任务指令。此外,语言仅用于描述图像内容。虽然这允许语言在将视觉信号映射到语言语义(人类交流的常见渠道)方面发挥重要作用,但它导致模型通常具有固定接口,交互性和对用户指令的适应性有限。

另一方面,大型语言模型(LLM)已经表明,语言可以发挥更广泛的作用:作为通用助手的通用接口,各种任务指令可以显式地用语言表示,并引导端到端训练的神经助手切换到感兴趣的任务来解决它。例如,最近ChatGPT和GPT-4的成功证明了对齐LLM在遵循人类指令方面的强大功能,并激发了开发开源LLM的巨大兴趣。其中,LLaMA是一个与GPT-3性能相匹配的开源LLM。Alpaca , Vicuna , GPT-4-LLM利用各种机器生成的高质量指令遵循示例来提高LLM的对齐能力,与所有的(proprietary)LLM相比,展现了令人印象深刻的性能。重要的是,这一些工作是纯文本的**(text-only**)。

在本文中,我们提出了visual instruction-tuning,这是将visual instruction-tuning扩展到语言-图像多模态空间的第一次尝试,为构建通用的视觉助手铺平了道路(pave the way)。特别地,我们的论文做出了以下贡献:

  • Multimodal instruction-following data. 一个关键的挑战是缺乏visual-language instruction-following data 。我们使用ChatGPT/GPT-4提出了一个数据转换视角(reformation perspective)和管道,将图像-文本对转换为适当的instruction-following格式.
  • Large multimodal models:我们通过将open-set的视觉编码器CLIP与语言解码器Vicuna连接起来,开发了一个大型多模态模型(LMM),并对我们生成的instruction vision-language decoder进行端到端的微调。我们的实证(empirical)研究验证了使用生成数据进行LMM指令调优的有效性,并提出了构建通用instruction-following visual agent的实用技巧。当与GPT-4集成时,我们的方法在Science QA多模态推理数据集上实现了SoTA。
  • Multimodal instruction-following benchmark:我们现在的LLaVA-Bench有两个具有挑战性的基准,有多种选择的配对图像,instruction和详细的注释。
  • open-source: the generated multimodal instruction data, the codebase,the model checkpoints以及一个visual chat demo.

2. Related Work

  • Multimodal Instruction-following Agents.在计算机视觉中,现有的构建指令跟随agent的工作可以大致分为两类:(i)端到端训练模型,它们分别针对每个特定的研究主题进行探索。例如,视觉语言导航任务(vision-languague navigation task)和Habitat要求嵌入的AI智能体遵循自然语言指令,并采取一系列动作来完成视觉环境中的目标。在图像编辑领域(image editing domain),给定输入图像和告诉agent该做什么的书面指令,InstructPix2Pix通过遵循人类指令来编辑图像。(ii)通过LangChain / LLMs协调各种模型的系统,如Visual ChatGPT、X-GPT、MM-REACT、VisProg和ViperGPT。虽然在构建Instruction-following Agents方面有相同的目标,但我们专注于为mltiple tasksl开发端到端的训练语言视觉多模态模型。
  • **Instruction Tuning.**在自然语言处理(NLP)领域,为了使GPT-3、T5、PaLM和OPT等LLM能够遵循自然语言指令并完成现实世界的任务,研究人员探索了LLM指令调优的方法,从而分别产生了指令调优的对应物countpart,如InstructGPT /ChatGPT、FLAN-T5、FLAN-PaLM和OPT- iml。结果表明,这种简单的方法可以有效地提高llm的zero-shot和few-shot的泛化能力。因此,将NLP的思想借用到计算机视觉是很自然的。更广泛地说,基于基础模型的teacher-student distillation已经在图像分类等其他主题中得到了研究。Flamingo可以被看作是多模态域的GPT-3,因为它在zero-shot任务迁移和in-context-leaning方面表现出色。其他在图像文本对上训练的lmm包括BLIP-2、FROMAGe和KOSMOS-1。PaLM-E是一个用于嵌入AI的LMM。基于最近“最好的”开源LLM LLaMA, OpenFlamingo和lama - adapter使LLaMA能够使用图像输入,为构建开源多模态llm铺平了道路。虽然这些模型表现出很好的任务转移泛化性能,但它们没有明确地与视觉语言指令数据进行tuning,并且它们在多模态任务中的性能通常低于(fall short)仅语言任务。本文旨在填补这一空白,并研究其有效性。最后,需要注意的是,视觉指令调优与视觉prompt调优不同:前者旨在提高模型的指令跟随能力,后者旨在提高模型自适应的参数效率。

3. GPT-assisted Visual Instruction Data Generation

社区见证了公共multimodal数据(如图像-文本对)数量的激增,从CC到LAION。然而,当提到multimodal instruction-following data,可用的数量有限,部分原因是,当考虑到人类crowd-scouring筛选时,创建此类数据的过程既耗时又不well-defined。受到最近GPT模型在文本注释任务中的成功的启发,我们提出基于广泛存在的image-pair数据利用ChatGPT/GPT-4进行多模态instruction-following data collection。

对于图像Xv及其相关的captionXc,创建一组指示助手描述图像内容的问题Xq是很正常的。我们prompt GPT-4整理(curate)这样一个问题列表。因此,将图像-文本对扩展到其instruction-following版本的一个简单方法是Human: Xq Xv < STOP> Assistant: Xc< STOP>。虽然构建成本低廉,但这种简单的扩展版本在指令和响应方面缺乏多样性和深度推理。为了缓解这个问题,我们利用仅语言的GPT-4或ChatGPT作为强大的教师(两者都只接受文本作为输入),以创建包含视觉内容的instruction-following data。具体来说,为了将图像编码为视觉特征以提示纯文本GPT,我们使用两种类型的象征(symbolic)表示:(i)Captions:典型地从不同的角度描述视觉场景。(ii)Bounding boxes:通常对场景中的物体进行定位,每个方框对object概念及其空间位置进行编码。如下图所示:
在这里插入图片描述
这种象征表示允许我们将图像编码为llm可识别的序列。我们使用COCO图像,生成三种类型的指令跟随数据。如下图所示。对于每种类型,我们首先手动设计一些示例。它们是我们在数据收集过程中唯一的人工注释,并被用作在上下文学习中query GPT-4的种子示例。
在这里插入图片描述
我们总共收集了158K个unique的语言图像指令遵循样本,其中对话58K,详细描述23K,复杂推理77k。我们在早期实验中消融了ChatGPT和GPT-4的使用,发现GPT-4持续地提供更高质量的指令跟随数据,例如空间推理。

4. Visual Instruction Tuning

4.1 Architecture

主要目标是有效地利用预训练的LLM和visual模型的能力。网络架构如下图。我们选择Vicuna作为我们的LLM fϕ(·)由ϕ参数化,因为它在公开可用的language tasks checkpoints中具有最佳的instruction following 能力。
在这里插入图片描述
对于输入图像Xv,我们利用预训练的CLIP视觉编码器ViT-L/14,它提供视觉特征Zv = g(Xv)。我们的实验利用 了最后一层Transformer前后的网格特征。我们利用一个简单的线性层将图像特征转换到词嵌入空间。具体来说,我们使用一个可训练的投影矩阵W将Zv转换为语言嵌入令牌Hv,它与语言模型中的词嵌入空间具有相同的维数:
在这里插入图片描述
这样,我们就有了一系列视觉标记Hv。请注意,我们的简单投影方案是轻量级的,它允许我们快速迭代以数据为中心的实验。还可以考虑更复杂的方案来连接图像和语言表征,例如Flamingo中的门控交叉注意[2]和BLIP-2中的Q-former[28]。我们将为LLaVA探索更有效、更复杂的架构设计作为未来的工作。

4.2 Training

对于每张图像Xv,我们生成多回合对话数据(X1 q, X1 a,···,XT q, XT a),其中T为总对话数。我们将它们组织成一个序列,将所有的回答视为助手的响应,并将指令Xt指令在第t轮处为:
在这里插入图片描述
这引出了多模态指令跟随序列的统一格式表2:
在这里插入图片描述
表2 用于训练模型的输入序列。这里只说明了两个对话回合;在实践中,回合数根据指令遵循数据而变化。在我们当前的实现中,我们遵循Vicuna-v0[9]来设置系统消息Xsystem-message,我们设置< stop > = ###。该模型被训练来预测assistabt答案和停止的位置,因此只有绿色序列/令牌用于计算自回归模型中的损失。

我们使用其原始的自回归训练目标对预测令牌执行LLM的指令调优。具体来说,对于长度为L的序列,我们计算目标答案Xa的概率:
在这里插入图片描述
其中,θ为可训练参数,xdirective,<i和Xa,<i分别为当前预测令牌xi之前所有回合的指令令牌和回答令牌。对于上述公式中的条件,我们显式地添加了Xv,以强调图像是基于所有答案的事实,并且为了更好的可读性,我们省略了Xsystem-message和所有前面的 。对于LLaVA模型训练,我们考虑一个两阶段的指令调优过程:

  1. **Pre-training for feature alignment.**为了在概念覆盖率和训练效率之间取得平衡,我们将CC3M过滤到595K图像-文本对。有关过滤过程的详情,请参阅附录。使用第3节中描述的朴素扩展方法将这些数据对转换为跟随指令的数据。每个样本都可以视为单回合对话。为了构造(2)中的输入x指令,对于图像Xv,随机采样一个问题Xq,这是一个语言指令,要求助手对图像进行简要描述。预测答案的ground-truth 是Xa原始的caption。在训练中,我们保持视觉编码器和LLM权值不变,并最大化(3)的似然值,只有可训练参数θ = W(投影矩阵)。这样,图像特征Hv可以与预训练的LLM词嵌入对齐。这个阶段可以理解为为冻结的LLM训练一个兼容的视觉tokenizer。
  2. **Fine-tuning End-to-End.**我们始终保持视觉编码器权值不变,并不断更新投影层和LLM的预训练权值;即,可训练的参数是θ = {W, ϕ} in(3)。我们考虑两个特定的用例场景:
    • **Multimodal Chatbot:**我们通过对第3节中的158K语言图像指令跟踪数据进行微调来开发聊天机器人。在这三种类型的响应中,会话是多回合的,而其他两种是单回合的。它们在训练中被统一采样。
    • Science QA:我们在ScienceQA基准上研究了我们的方法,这是第一个大规模的多模态科学问题数据集,它用详细的lecture和解释注释了答案。每个问题都以自然语言或图像的形式提供上下文。Assistant 用自然语言提供推理过程,并从多个选项中选择答案。对于(2)中的训练,我们将数据组织为单回合对话,问题和上下文作为Xinstruct,推理和答案作为Xa

5 Experiments

我们通过两个主要的实验设置分别评估了LLaVA在指令跟随和视觉推理能力方面的性能:多模态聊天机器人和ScienceQA数据集。我们使用8× A100训练所有模型,遵循Vicuna的超参数。我们在过滤后的CC-595K子集上对模型进行了1 epoch的预训练,学习率为2e-3,批大小为128,并对提出的llava - instruction - 158k数据集进行了3 epoch的微调,学习率为2e-5,批大小为32

5.1 Multimodal Chatchot

我们开发了一个聊天机器人演示,以展示LLaVA的图像理解和对话能力,并研究LLaVA在消化视觉输入和展示指令遵循方面的能力。我们首先使用原始GPT-4论文中的示例,如表3所示,这些示例需要深入的图像理解。为了比较,我们从他们的论文中引用了多模态GPT-4的prompt和response,并query了BLIP-2和OpenFlamingo模型检查点来获得它们的回答。
在这里插入图片描述

5.2 ScienceQA

6 Conclusion

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

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

相关文章

一道题目总结出一个模版(简单记录一下,感觉挺有用的)

代码如下 using ll long long; int main() {ll n, m,ans0,i;std::cin >> n >> m;std::vector<ll>a(m1);for (int i 1; i < m; i) {std::cin >> a[i];a[i] a[i - 1];}//如果m<n,那么只够写第一篇文章ans a[1] * std::min(m,n);for (i n; i …

stm32 pluse输出一个固定频率占空比的波形---------------小demo

配置就是这 感觉sample timer 没有作用 效果如图&#xff1a;

相聚上海新国际博览中心:2024上海人工智能展会(世亚智博会)

2024上海国际人工智能展览会&#xff08;世亚智博会&#xff09; 2024 Shanghai International Ai Expo 时间&#xff1a;2024年6月13-15日 地点&#xff1a;上海新国际博览中心 前言 作为中国最发达的城市之一&#xff0c;上海在人工智能产业发展方面也取得了显著的成绩。近…

产品经理岗位的任职资格和职业规划

产品经理主要是商业银行以客户为导向的&#xff0c;具体负责组织银行某一金融产品线的创新设计、生产营销和管理服务的工作。这类人士主要负责应用实施工作&#xff0c;其中产品线由一系列的产品构成&#xff0c;公司的产品经理主要分为全过程产品创新设计专家、全过程产品生产…

华为OD技术面试案例3-2024年

技术一面&#xff1a; 1.手撕代码&#xff0c;算法题&#xff1a; 【最小路径和】 手撕代码通过&#xff0c;面试官拍了照片 2.深挖项目&#xff0c;做过的自认为最好的一个项目&#xff0c;描述做过的项目的工作过程&#xff0c;使用到哪些技术&#xff1f; 技术二面&…

JVM运行流程

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;JavaEE &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; JVM 1. 运行流程2. 运行时数据区2.1 堆&am…

【QT+QGIS跨平台编译】之五十二:【QGIS_CORE跨平台编译】—【qgsexpressionlexer.cpp生成】

文章目录 一、Flex二、生成来源三、构建过程一、Flex Flex (fast lexical analyser generator) 是 Lex 的另一个替代品。它经常和自由软件 Bison 语法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用 C 语言写成。 “flex 是一个生成扫描器的工具,能够识别文本中…

C语言数据结构基础-单链表

1.链表概念 在前面的学习中&#xff0c;我们知道了线性表&#xff0c;其中逻辑结构与物理结构都连续的叫顺序表&#xff0c;那么&#xff1a; 链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。 2.链表组…

计算星期几

今天是2012年4月12日星期四&#xff0c;编写程序&#xff0c;输入今天开始到12月31日之间的任意日期&#xff0c;输出那一天是星期几。如: 输入“5 20”即5月20日&#xff0c;输出应该为sunday. 代码&#xff1a; #include <cstdio> #include <string> using nam…

挑战杯 基于YOLO实现的口罩佩戴检测 - python opemcv 深度学习

文章目录 0 前言1 课题介绍2 算法原理2.1 算法简介2.2 网络架构 3 关键代码4 数据集4.1 安装4.2 打开4.3 选择yolo标注格式4.4 打标签4.5 保存 5 训练6 实现效果6.1 pyqt实现简单GUI6.3 视频识别效果6.4 摄像头实时识别 7 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xf…

综合练习(一)

目录 列出薪金高于部门 30 的所有员工薪金的员工姓名和薪金、部门名称、部门人数 列出与 ALLEN从事相同工作的所有员工及他们的部门名称、部门人数、领导姓名 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 列出薪金高于部门 30 的所…

搭建LNMP环境并配置个人博客系统

LNMP是Linux&#xff08;操作系统&#xff09;、Nginx&#xff08;Web服务器&#xff09;、MySQL&#xff08;数据库&#xff09;和PHP&#xff08;脚本解释器&#xff09;的组合&#xff0c;常用于部署高性能的动态网站&#xff0c;如WordPress等博客平台 一、安装Linux操作系…

【论文精读】DINOv2

摘要 学习与特定任务无关的预训练表示已经成为自然语言处理的标准&#xff0c;这些表示不进行微调&#xff0c;即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变&#xff0c;以探索计算机视…

【文生视频】Diffusion Transformer:OpenAI Sora 原理、Stable Diffusion 3 同源技术

文生视频 Diffusion Transformer&#xff1a;Sora 核心架构、Stable Diffusion 3 同源技术 Sora 网络结构提出背景输入输出生成流程变换器的引入Diffusion Transformer (DiT)架构Diffusion Transformer (DiT)总结 OpenAI Sora 设计思路阶段1: 数据准备和预处理阶段2: 架构设计阶…

单片机精进之路-9ds18b20温度传感器

ds18b20复位时序图&#xff0c;先将b20的数据引脚拉低至少480us&#xff0c;然后再将数据引脚拉高15-60us&#xff0c;再去将测传感器的数据引脚是不是变低电平并保持60-240us&#xff0c;如果是&#xff0c;则说明检测到温度传感器&#xff0c;并正常工作。需要在240us后才能检…

K8S存储卷与PV,PVC

一、前言 Kubernetes&#xff08;K8s&#xff09;中的存储卷是用于在容器之间共享数据的一种机制。存储卷可以在多个Pod之间共享数据&#xff0c;并且可以保持数据的持久性&#xff0c;即使Pod被重新调度或者删除&#xff0c;数据也不会丢失。 Kubernetes支持多种类型的存储卷…

宝塔FTP服务设置并结合cpolar内网穿透实现远程传输文件

文章目录 1. Linux安装Cpolar2. 创建FTP公网地址3. 宝塔FTP服务设置4. FTP服务远程连接小结 5. 固定FTP公网地址6. 固定FTP地址连接 宝塔FTP是宝塔面板中的一项功能&#xff0c;用于设置和管理FTP服务。通过宝塔FTP&#xff0c;用户可以创建FTP账号&#xff0c;配置FTP用户权限…

免费的Git图形界面工具sourceTree介绍

阅读本文同时请参阅-----代码库管理工具Git介绍 sourceTree是一款免费的Git图形界面工具&#xff0c;它简化了Git的使用过程&#xff0c;使得开发者可以更加方便地下载代码、更新代码、提交代码和处理冲突。下面我将详细介绍如何使用sourceTree进行这些操作。 1.下载和…

【Vue3】学习computed计算属性

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

WEB漏洞 逻辑越权之支付数据篡改安全

水平越权 概述&#xff1a;攻击者尝试访问与他拥有相同权限的用户的资源 测试方法&#xff1a;能否通过A用户操作影响到B用户 案例&#xff1a;pikachu-本地水平垂直越权演示-漏洞成因 1&#xff09;可以看到kobe很多的敏感信息 2&#xff09;burp抓包&#xff0c;更改user…