Visual Instruction Tuning (LLaVA)

论文链接:https://proceedings.neurips.cc/paper_files/paper/2023/file/6dcf277ea32ce3288914faf369fe6de0-Paper-Conference.pdf
代码链接:
https://github.com/haotian-liu/LLaVA?tab=readme-ov-file


Preliminary

指令微调


动机

指令微调(Instruction Tuning)语言大模型(LLMs)使用机器生成的指令跟随数据(instruction-following data),提高了新任务上的zero-shot能力,但这个idea还没有在多模态领域进行探索。因此,本文第一次尝试使用language-only GPT-4 生成多模态语言-图像指令跟随数据。
通过在这种生成的数据上进行指令微调,本文提出大语言和视觉助理(Large Language and Vision Assistant, LLaVA),这是一种端到端训练的大型多模态模型,连接了一个视觉编码器和一个LLM,来实现多用途的(general-purpose)视觉和语言理解。
为了促进未来在视觉指令跟随的研究,本文构建了两个评估benchmarks,包含diverse和challenging的应用导向(application-oriented)的任务。


贡献

  1. 多模态指令跟随数据
  2. 大型多模态模型
  3. 多模态指令跟随benchmark
  4. 开源

GPT-assisted Visual Instruction Data Generation

社区已经有越来越多的公开多模态数据,缺乏多模态指令跟随数据,尤其是因为生成这些数据很耗时并且没有被很好的定义。

给定图像和描述,自然可以制作一系列问题来指示助理(instruct the assistant)来描述图像内容。本文使用GPT-4来生成一系列问题。一个简单的将图像文本对扩展到其指令遵循版本的方法是Human:X_q X_v Assistant : X_c 。这种方法很容易构建,这种很容易扩展的版本缺少多样性和指令和相应的深度推理。

为了解决这个问题,本文使用language-only GPT-4或ChatGPT作为strong teacher来生成视觉内容相关的指令跟随数据。具体来说,为了将图像编码成视觉特征来提示text-only GPT,本文使用两种象征表示:(1)Caption通常从不同的角度描述视觉场景;(2)边界框通常定位场景中的对象,每个框对对象概念进行编码及其空间位置。一个例子:

这种象征表示允许我们将图像编码为LLM可识别的序列。我们使用COCO图像,生成三种指令跟随数据。对于每一个类别,首先手工设计一些样本,这些样本是数据收集阶段唯一使用的人工标注,作为seed样本在语境学习(in-context-learning)中检索GPT-4。

  • Conversation. 关于这个图像,我们设计了一个assistant和person asking questions的对话。回答是以assistant模仿的“看图回答问题”的口吻。关于图像内容,一个多样的问题集被提出,包括目标类型、目标数量、目标活动、目标位置、目标之间的相对位置。只有被明确回答的问题被考虑在内。

  • Detailed description. 为了对图像有丰富和完善的描述,本文通过提示GPT-4建立了一个问题列表。对于每张图像,从列表中随机采样一个问题,让GPT-4生成详细的描述。

  • Complex reasoning. 上面的两个方法关注视觉内容自身,基于此本文进一步生成深度推理问题。回答需要一个step-by-step的且严格遵循逻辑的推理过程。

本文总共收集了158K个单独的语言-图像指令跟随样本,包括58K个对话、23K个细节描述、77K个复杂推理。本文尝试使用ChatGPT和GPT-4,并发现GPT-4提供了更加高质量的指令跟随数据,如空间推理。


Visual Instruction Tuning


训练细节



posted @ 2024-06-30 21:27  沐沐mu  阅读(156)  评论(0编辑  收藏  举报