论文信息
论文题目:Visual Instruction Tuning
论文链接:2304.08485.pdf (arxiv.org)
机构信息:University of Wisconsin Madison,Microsoft Research,Columbia University
摘要
使用 machine-generated instruction-following 数据对LLM进行指令微调已被证明可以提高LLM在新任务的zero-shot 的能力。我们首次尝试使用自然语言的Prompt让GPT-4来生成多模态语言-图像指令跟踪数据。然后在这些生成的数据进行指令微调,最终形成了LLaVA:Large Language and Vision Assistant ,一个端到端训练的多模态大模型,它包含了视觉编码器和LLM,用于通用的视觉和语言理解。为了便于未来对多模态大模型的研究,我们构建了两个具有挑战性的面向应用任务的评估基准。
介绍
LLaVA的动机:研究一个通用的多模态大模型,它可以有效地遵循多模态的视觉和语言指令,按照符合人类的意图的方式完成各种现实世界的任务。然而,当前的方法都是针对特定的任务就设计特定的模型进行求解。除此之外,语言仅用于描述图像的内容。虽然这使得语言在将视觉信号映射到语言语义方面发挥重要作用——人类交流的共同渠道,但它导致模型无法直观阅读图像信息,导致交互性有限,对用户指令的适应性有限。
在本文中,我们提出了视觉指令微调,即首次尝试将指令微调扩展到语言图像多模态空间,为构建通用视觉助手铺平了道路。特别是,我们的论文有以下贡献:1)多模态指令微调数据集。2)多模态大模型。3)多模态指令微调benchmark
GPT辅助图像指令微调数据集生成
- 受GPT模型在文本注释任务中的成功的启发,我们基于广泛存在的图像对数据,利用ChatGPT/GPT-4生成图像的注释,最终形成多模态指令跟踪数据收集。
对于图像Xv及其相关的字幕Xc,很自然地创建一组问题Xq,目的是大模型描述图像内容。例如,我们可以构建这样的输入输出对:Human:Xq Xv<STOP> Assistance:Xc<STOP>。当然这样构造的输入输出对过于简单,事实上,我们需要借助GPT生成更加高质量的图像-文本数据。由于我们仅仅输入文本来提示GPT生成数据,因此,我们使用的是:(i)字幕通常从不同的角度描述视觉场景;(ii)边界框通常将场景中的对象本地化,每个框对对象概念及其空间位置进行编码。用这种方式,我们就可以将图片转化成文本的形式输入到GPT中。
我们通常提示GPT生成一下的question-answer对:
- 对话。我们设计了一个GPT和人之间的对话。答案的语气就好像GPT看到图像并回答问题。人通常对图像的视觉内容提出了一组不同的问题,包括对象类型、计算对象、对象动作、对象位置、对象之间的相对位置,GPT对上述的问题进行回答,数据集中只加入那些有明确答案的问题回答对。
- 图片细节描写:为了对图像包含丰富和全面的描述,我们创建了一个具有这样一个意图的问题列表。对于每张图像,我们从列表中随机抽取一个问题,要求GPT-4生成详细的描述。
- 复杂的推理。以上两种类型侧重关注视觉内容本身,在此基础上进一步创建深入的推理问题。答案通常需要遵循严格的逻辑进行一步的推理过程。
- 借助GPT,最终形成了158K个独特的语言图像指令跟踪样本,包括对话58K,详细描述23K,复杂推理77k。
图像指令微调
模型架构
- 模型架构有效地利用预先训练过的LLM和视觉模型的能力。网络的原始结构如图1所示。我们选择Vicuna作为我们的由ϕ参数化的LLM fϕ(·)在语言任务中具有最好的指令跟踪功能。
- 对于输入图像Xv,我们考虑预先训练的CLIP视觉编码器ViT-L/14,它提供了视觉特征Zv = g(Xv)。我们考虑一个简单的线性层来连接图像特征到单词嵌入空间。生成Hv
训练
- 对于每幅图像Xv,我们生成多轮对话数据(X1q、X1a、···、XTq、XTa),其中T是总回合数。我们将它们组织成一个序列,将所有答案作为LLM的反应,Xt在第t回合的指示为:
-
我们使用其原始的自回归训练目标,对LLM进行指令调整。
整个模型的训练分为两个阶段。
- 特征对齐的预训练:在训练中,我们保持视觉编码器和LLM的权值冻结,并且仅使用可训练参数θ=W(投影矩阵)来最大化(3)的可能性。这样,图像特征Hv就可以与预先训练好的LLM词嵌入进行对齐。这个阶段可以理解为为冻结的LLM训练一个兼容的视觉标记器。
- 端到端微调:我们总是保持视觉编码器的权值冻结,并在LLaVA中继续更新投影层和LLM的预训练权值;即,可训练参数为(3)中的θ = {W,ϕ}。