Visual Instruction Tuning

Abstract

  • 使用机器生成的指令跟随数据对大型语言模型(LLM)进行指令微调已被证明可以提高在新任务上的零样本能力,但这一思路在多模态领域的探索较少

  • 我们首次尝试使用仅语言的GPT-4生成多模态语言-图像指令跟随数据

  • 通过在此类生成数据上进行指令微调,我们提出了LLaVA(大型语言和视觉助手),这是一个端到端训练的大型多模态模型,连接了视觉编码器和LLM,用于通用视觉和语言理解

  • 为了促进未来对视觉指令跟随的研究,我们构建了两个评估基准,包含多样且具有挑战性的应用导向任务

  • LLaVA展示了强大的的多模态聊天能力,有时在未见过的图像/指令上表现出多模态GPT-4的行为,并在合成多模态指令跟随数据集上达到了GPT-4的85.1%相对分数

  • 在Science QA上微调后,LLaVA与GPT-4的协同作用达到了92.53%的最新准确率


1 Introduction

  • 社区对开发语言增强的基础视觉模型表现出浓厚兴趣,这些模型在开放世界视觉理解(如分类、检测、分割和描述)以及视觉生成和编辑方面具有强大能力

  • 在这类工作中,每个任务由一个单一的大型视觉模型独立解决,任务指令隐含在模型设计中

  • 语言仅用于描述图像内容。尽管这使得语言在将视觉信号映射到语言语义中发挥重要作用,但它导致模型的接口通常固定,交互性和对用户指令的适应性有限

  • 大型语言模型(LLM)表明语言可以发挥更广泛的作用:各种任务指令可以明确表示为语言,并指导端到端训练的神经助手切换到感兴趣的任务以解决问题

  • 在本文中,我们提出了视觉指令微调,这是首次将指令微调扩展到语言-图像多模态空间的尝试,为构建通用视觉助手铺平道路

  • 具体而言,本文的主要贡献包括:

    1. 多模态指令跟随数据:一个关键挑战是缺乏视觉-语言指令跟随数据。我们提出了一种数据重构视角和流程,将图像-文本对转换为适当的指令跟随格式,使用ChatGPT/GPT-4
    2. 大型多模态模型:我们开发了一个大型多模态模型(LMM),通过连接CLIP的开放集视觉编码器和Vicuna的语言解码器,并在生成的视觉-语言指令数据上进行端到端微调
    3. 多模态指令跟随基准:我们提出了LLaVA-Bench,包含两个具有挑战性的基准,涵盖多样化的图像、指令和详细标注
    4. 开源:我们向公众发布了以下资源:生成的多模态指令数据、代码库、模型检查点和视觉聊天演示

Multimodal Instruction-following Agents(多模态指令跟随代理)

  • 在计算机视觉中,现有的构建指令跟随代理的工作大致可分为两类:

    1. 端到端训练的模型,针对每个特定研究主题分别探索
      1. 视觉-语言导航任务和Habitat要求具身AI代理遵循自然语言指令并采取一系列动作在视觉环境中完成目标
      2. 在图像编辑领域,给定输入图像和书面指令,InstructPix2Pix通过遵循人类指令编辑图像
    2. 通过LangChain/LLMs协调各种模型的系统,如Visual ChatGPT、X-GPT、MM-REACT、VisProg和ViperGPT
  • 尽管目标相同,我们专注于开发端到端训练的语言-视觉多模态模型以处理多个任务

Instruction Tuning

  • 在自然语言处理(NLP)领域,为了使LLM能够遵循自然语言指令并完成现实任务,研究人员探索了LLM指令微调的方法,从而产生了指令微调的对应模型

  • 这种简单的方法可以有效提高LLM的零样本和少样本泛化能力

  • 很自然地将这一思路从NLP借用到计算机视觉。更广泛地说,基于基础模型的蒸馏思想已在其他主题中研究,如图像分类

  • 尽管这些模型展示了有前景的任务迁移泛化性能,但它们并未明确使用视觉-语言指令数据进行微调,且在多模态任务中的性能通常不如纯语言任务

  • 本文旨在填补这一空白并研究其有效性。请注意视觉指令微调与视觉提示微调不同:前者旨在提高模型的指令跟随能力,而后者旨在提高模型适应中的参数效率


3 GPT-assisted Visual Instruction Data Generation

  • 社区见证了公共多模态数据(如图像-文本对)数量的激增,从CC到LAION

  • 然而当涉及多模态指令跟随数据时,可用数量有限,部分原因是创建此类数据的过程耗时,且在考虑人类众包时定义不明确

  • 受最近GPT模型在文本注释任务中的成功启发,我们建议基于广泛存在的图像-文本对数据,利用ChatGPT/GPT-4进行多模态指令跟随数据收集

  • 对于图像X_v及其关联标题X_c,很自然地创建一组问题X_q,意图是指导助手描述图像内容。提示GPT-4策划此类问题列表

  • 将图像-文本对扩展为其指令跟随版本的简单方法是Human:X_q X_v Assistant:X_c

  • 尽管构建成本低,但这种简单扩展版本在指令和响应中缺乏多样性和深入推理

  • 为了缓解这一问题,我们利用仅语言的GPT-4或ChatGPT作为强大的教师(两者仅接受文本输入),创建涉及视觉内容的指令跟随数据

  • 具体而言,为了将图像编码为其视觉特征以提示仅文本的GPT,我们使用两种类型的符号表示:

    1. 标题通常从不同角度描述视觉场景
    2. 边界框通常定位场景中的对象,每个框编码对象概念及其空间位置

image.png

  • 这种符号表示允许我们将图像编码为LLM可识别的序列。我们使用COCO图像并生成三种类型的指令跟随数据:
    1. 对话:我们设计了一个助手与一个人之间的对话,询问关于这张照片的问题。回答的语气仿佛助手正在看到图像并回答问题。关于图像视觉内容的问题多种多样,包括对象类型、对象计数、对象动作、对象位置、对象之间的相对位置等。仅考虑有明确答案的问题
    2. 详细描述:为了包含对图像的丰富和全面描述,我们创建了一个具有此类意图的问题列表。我们提示GPT-4然后策划列表。对于每张图像,我们从列表中随机抽取一个问题,要求GPT-4生成详细描述
    3. 复杂推理:上述两种类型侧重于视觉内容本身,基于此我们进一步创建深入推理问题。答案通常需要遵循严格逻辑的逐步推理过程

image.png

  • 对于每种类型,首先手动设计一些示例。这些是我们在数据收集过程中唯一的人类标注,并用作上下文学习中的种子示例以查询GPT-4

  • 我们在早期实验中对比了ChatGPT和GPT-4的使用,发现GPT-4始终提供更高质量的指令跟随数据,如空间推理


4 Visual Instruction Tuning

4.1 Architecture

  • 主要目标是有效利用预训练LLM和视觉模型的能力。网络架构如下图所示:

image.png

  • 选择Vicuna作为我们的LLM fφ(·),参数化为φ,因为它在语言任务中具有最佳指令跟随能力

  • 对于输入图像X_v,我们考虑预训练的CLIP视觉编码器ViT-L/14,它提供视觉特征Z_v = g(X_v)

  • 实验中考虑了最后一层Transformer层之前和之后的网格特征,考虑使用简单的线性层将图像特征连接到词嵌入空间

  • 具体而言,我们应用一个可训练的投影矩阵W将Z_v转换为语言嵌入标记H_v,其维度与语言模型中的词嵌入空间相同:

image.png

  • 因此,我们有一系列视觉标记H_v。请注意,我们的简单投影方案是轻量级的,这使我们能够快速迭代以数据为中心的实验

  • 也可以考虑更复杂的方案来连接图像和语言表示,如Flamingo中的门控交叉注意力和BLIP-2中的Q-former

4.2 Training

对于每张图像X_v,我们生成多轮对话数据(X¹_q, X¹_a, ···, X^T_q, X^T_a),其中T是总轮数

  • 将其组织为一个序列,将所有答案视为助手的响应,第t轮的指令X^t_instruct为:

image.png

  • 这导致了下表中所示的多模态指令跟随序列的统一格式。我们使用其原始自回归训练目标对LLM进行指令微调

image.png

  • 具体而言,对于长度为L的序列,我们通过以下方式计算目标答案X_a的概率:

image.png

  • 其中θ是可训练参数,X_instruct,< i和X_a,< i是所有当前预测标记x_i之前的指令和答案标记,对于条件(3),我们明确添加X_v以强调图像对所有答案的基础性,并省略X_system-message和所有之前的<‘STOP’>以提高可读性

  • 对于LLaVA模型训练,我们考虑两阶段指令微调过程:

Stage 1: Pre-training for Feature Alignment(特征对齐的预训练)

  • 为了在概念覆盖和训练效率之间取得平衡,我们将CC3M过滤为595K个图像-文本对,这些对被转换为使用第3节中描述的简单扩展方法的指令跟随数据。每个样本可以视为单轮对话

  • 对于图像X_v,随机抽取一个问题X_q,这是一个请求助手简要描述图像的语言指令。真实预测答案X_a是原始标题

  • 在训练中,我们保持视觉编码器和LLM权重冻结,并仅最大化(3)的似然,可训练参数θ = W(投影矩阵)

  • 这样,图像特征H_v可以与预训练LLM的词嵌入对齐。这一阶段可以理解为训练一个与冻结LLM兼容的视觉标记器

Stage 2: Fine-tuning End-to-End

  • 我们始终保持视觉编码器权重冻结,并继续更新投影层和LLaVA中LLM的预训练权重;即可训练参数为θ = {W, φ}。我们考虑两种具体使用场景:
    1. 多模态聊天机器人:通过在3节中的158K语言-图像指令跟随数据上进行微调开发了一个聊天机器人。在三种响应类型中,对话是多轮的,而其他两种是单轮的。在训练中均匀抽样
    2. Science QA:我们在ScienceQA基准上研究了我们的方法,这是第一个大规模多模态科学问题数据集,用详细的讲座和解释标注答案。每个问题提供自然语言或图像形式的上下文。助手以自然语言提供推理过程并在多项选择中选择答案。对于(2)中的训练,我们将数据组织为单轮对话,问题和上下文作为X_instruct,推理和答案作为X_a

5 Experiments

  • 通过两个主要实验设置评估LLaVA在指令跟随和视觉推理能力方面的性能:多模态聊天机器人和ScienceQA数据集

  • 使用8×A100训练所有模型,遵循Vicuna的超参数。我们在过滤的CC-595K子集上以2e-3的学习率和128的批量大小预训练模型1个epoch,并在提出的LLaVA-Instruct-158K数据集上以2e-5的学习率和32的批量大小微调3个epoch

5.1 Multimodal Chatbot

  • 我们开发了一个聊天机器人展示LLaVA的图像理解和对话能力,并研究LLaVA消化视觉输入和展示指令跟随能力的效果

  • 首先使用原始GPT-4论文中的示例(下表),这些示例需要深入的图像理解。为了比较,我们引用多模态GPT-4的提示和响应,并查询BLIP-2和OpenFlamingo模型检查点以获取其响应

image.png

  • 尽管LLaVA使用小型多模态指令跟随数据集(约80K独特图像)训练,但在这些示例上展示了与多模态GPT-4相似的推理结果

  • 这些图像对LLaVA来说是域外的,但LLaVA仍然能够理解场景并遵循问题指令提供合理的响应。相比之下,BLIP-2和OpenFlamingo侧重于描述图像,而不是以适当的方式遵循用户指令回答问题

Quantitative Evaluation

  • 为了系统理解LLaVA的性能,我们提出了一个定量指标来测量模型在多模态数据上的指令跟随能力。利用GPT-4测量生成响应的质量

  • 具体而言,我们创建由图像、真实文本描述和问题组成的三元组。候选模型(如LLaVA)基于问题和图像预测答案。为了提供近似理论上限,我们基于问题和真实文本描述使用仅文本的GPT-4创建参考预测

  • 在获得两个模型的响应后,我们将问题、视觉信息(以文本描述格式)和两个助手的生成响应提供给评判者(即仅文本的GPT-4)

  • 它评估响应的有用性、相关性、准确性和详细程度,并给出1到10的总体评分,分数越高表示性能越好。它还要求提供全面的解释以帮助我们更好地理解模型

  • 我们报告相对于使用真实图像标题和边界框作为视觉输入的仅文本GPT-4模型的相对分数。我们创建两个基准来评估模型的性能

LLaVA-Bench (COCO)

  • 从COCO-Val-2014中随机选择30张图像,并为每张图像使用第3节中提出的数据生成流程生成三种类型的问题(对话、详细描述、复杂推理),共90个问题。该基准研究模型在一致视觉输入下的对齐行为和能力

  • 改变训练数据集以研究不同类型指令跟随数据的有效性,结果如下表所示:

image.png

  • 首先,通过指令微调,模型的指令跟随能力显著提高了50分以上

  • 其次,添加少量详细描述和复杂推理问题对模型的整体能力贡献了7分的显著提升

  • 此外,它还提高了模型在对话问题上的性能,表明推理能力的提升补充了对话能力

  • 最后,我们展示了拥有所有三种类型数据时,性能最佳,达到85.1%

LLaVA-Bench (In-the-Wild)

  • 为了评估模型在更具挑战性任务中的能力以及对新领域的泛化性,我们收集了一组多样化的24张图像,共60个问题,包括室内外场景、表情包、绘画、草图等,并为每张图像关联高度详细和手动策划的描述及适当选择的问题

  • 下表表比较了LLaVA、BLIP和OpenFlamingo:

image.png

  • 得益于视觉指令微调,LLaVA的性能显著优于BLIP-2(+29%)和OpenFlamingo(+48%)

  • 与可以访问真实标签的仅文本GPT-4相比,LLaVA在复杂推理问题上达到了81.7%的令人印象深刻的性能,总体得分为67.3%

Limitations

  • LLaVA-Bench (In-the-Wild)旨在具有挑战性并揭示模型的弱点。下表中提供了两个示例及其关联标题和问题:

image.png

  • 对于拉面示例(左),要正确回答餐厅名称,需要模型具有广泛的知识覆盖和多语言理解能力;要正确描述配菜,模型可能需要从互联网检索相关的多模态信息

  • 对于冰箱示例(右),感知酸奶的正确品牌需要模型处理高分辨率图像并具备广泛的知识覆盖

  • 还观察到LLaVA的一个有趣失败,当被问及是否存在草莓味酸奶时,它回答“是”,尽管冰箱中只有酸奶和草莓

  • 这表明有时LLaVA将图像视为“补丁袋”,未能把握图像中的复杂语义

5.2 ScienceQA

  • ScienceQA包含21K个多模态多项选择题,涵盖3个学科、26个主题、127个类别和379个技能的丰富领域多样性。基准数据集分为训练、验证和测试集,分别有12726、4241和4241个示例

  • 考虑两种代表性方法,包括带和不带思维链(CoT)的GPT-3.5模型(text-davinci-002)、LLaMA-Adapter,以及多模态思维链(MM-CoT)

  • 结果如下表所示,对于LLaVA,我们使用最后一层之前的视觉特征,要求模型先预测原因再预测答案,并训练12个epoch。其准确率达到90.92%,非常接近最新水平91.68%

image.png

  • 为了探索LLM的极限,我们还使用2-shot上下文学习提示GPT-4,达到82.69%的准确率,比GPT-3.5的75.17%提高了7.52%的绝对增益

  • 对于大量问题,我们注意到GPT-4失败仅仅是因为它报告缺乏图像或图表等上下文。我们考虑两种方案来结合我们的模型和GPT-4的结果:

    1. GPT-4补充:每当GPT-4无法提供答案时,我们使用我们方法的预测。此方案产生90.97%的准确率,与单独应用我们的方法几乎相同
    2. GPT-4作为评判者:每当GPT-4和LLaVA产生不同答案时,我们再次提示GPT-4,要求其基于问题和两个结果提供自己的最终答案
  • 这种思路类似于CoT,但具有来自另一个模型的外部知识。令人惊讶的是,该方案能够对所有问题类别提供一致的改进,并达到92.53%的最新准确率

  • 有趣的是,无法处理图像的仅文本GPT-4提高了模型在具有图像上下文的问题上的整体性能。这是因为其中一些问题实际上不需要图像上下文来获得正确答案

  • GPT-4评判者可以识别此类情况并纠正LLaVA的一些错误。这是首次使用GPT-4进行模型集成

Ablations

  • 在下表中对ScienceQA的几个设计选择进行了消融:
    1. 视觉特征:我们尝试使用CLIP视觉编码器的最后一层特征,其准确率为89.96%,比最后一层之前的特征低0.96%。我们假设这是因为CLIP的最后一层特征可能更关注全局和抽象图像属性,而前一层更关注对理解特定图像细节有用的局部属性
    2. 思维链:为了决定模型预测中答案和推理过程的顺序,我们运行两种变体,并观察到答案优先在12个epoch中报告最佳数字89.77%的准确率,而推理优先可以在6个epoch中快速达到89.77%的准确率,更多训练没有进一步改进。结论:类似CoT的推理优先策略可以大大改善收敛性,但对最终性能贡献相对较小
    3. 预训练:我们跳过预训练,直接从零开始在Science QA上训练——性能下降到85.81%的准确率。5.11%的绝对下降表明我们预训练阶段的重要性,即在保留大量预训练知识的同时对齐多模态特征
    4. 模型大小:我们保持所有配置与最佳13B模型相同,并训练一个7B模型。其准确率为89.84%,比90.92%低1.08%,证明了模型规模的重要性

image.png


6 Conclusion

  • 本文展示了视觉指令微调的有效性。我们提出了一个自动流程来创建语言-图像指令跟随数据,基于此训练LLaVA,一个多模态模型,遵循人类意图完成视觉任务

  • 在ScienceQA上微调时,它达到了最新的准确率,在多模态聊天数据上微调时表现出出色的视觉聊天能力

  • 此外,我们提出了第一个研究多模态指令跟随能力的基准。本文是视觉指令微调的初步尝试,主要关注现实任务


DeepSeek要点总结

1. 研究背景与动机

  • 多模态交互的挑战:现有视觉模型通常针对单一任务设计,缺乏灵活遵循用户指令的能力。
  • LLM的潜力:语言模型(LLM)展现了强大的指令跟随能力,但多模态领域尚未充分探索。
  • 关键问题:如何生成高质量的多模态指令数据?如何构建端到端的视觉-语言对齐模型?

2. 核心贡献

  • 多模态指令数据生成
    • 利用GPT-4将图像-文本对转换为结构化指令数据(对话/详细描述/复杂推理),共158K样本。
    • 通过符号化表示(标题+边界框)编码视觉信息,解决纯文本GPT无法直接处理图像的问题。
  • 模型架构LLaVA
    • 视觉编码器:CLIP ViT-L/14提取图像特征。
    • 语言解码器:Vicuna(基于LLaMA的指令微调模型)。
    • 轻量级投影层:线性层将视觉特征映射到语言嵌入空间。
  • 两阶段训练
    1. 特征对齐预训练:冻结视觉编码器和LLM,仅训练投影层(595K图像-文本对)。
    2. 端到端微调:联合优化投影层和LLM,适配多模态指令数据。
  • 评估基准LLaVA-Bench
    • COCO基准:90个问题,验证指令跟随能力。
    • In-the-Wild基准:60个复杂问题,涵盖开放域场景(如OCR、细粒度识别)。

3. 关键实验结果

3.1 多模态聊天能力

  • 定性对比:LLaVA在未见过图像上表现接近GPT-4,优于BLIP-2/OpenFlamingo(更关注指令而非单纯描述)。
  • 定量评估(GPT-4作为评判者):
    • **LLaVA-Bench (COCO)**:相对GPT-4的85.1%性能。
    • **LLaVA-Bench (In-the-Wild)**:复杂推理任务达81.7%,显著领先基线模型。

3.2 Science QA性能

  • SOTA结果:LLaVA + GPT-4集成达到**92.53%**准确率(原SOTA为91.68%)。
  • 关键发现
    • 预训练对齐阶段提升5.11%性能。
    • 13B模型优于7B版本(90.92% vs 89.84%)。

4. 创新点总结

  1. 首个视觉指令微调框架:将LLM指令微调范式扩展至多模态领域。
  2. 低成本数据生成方法:利用GPT-4自动生成高质量多模态指令数据。
  3. 轻量高效架构设计:通过简单投影层实现视觉-语言特征对齐,避免复杂跨模态模块。
  4. 开源生态:发布数据、代码、模型及评测基准,推动社区研究。

5. 局限性与未来方向

  • 局限性
    • 依赖预训练视觉编码器(CLIP),可能引入偏差。
    • 复杂场景下存在语义理解错误(如“草莓酸奶”误判)。
  • 未来工作
    • 探索更鲁棒的视觉编码器与动态投影机制。
    • 融合外部知识库增强推理能力。
    • 扩展至视频/3D等多模态场景。

:专业术语(如CLIP、Vicuna、Science QA等)保留英文以准确反映技术细节。关键数据与结论以加粗/列表形式突出,便于快速阅读。