LLaVA
摘要
- LLM 中的指令微调(Instruction tuning)多使用机器生成的指令遵循(instruction-following)数据,然而从未有在多模态领域的探索;
- 本文使用 language-only 的 GPT-4 来生成多模态 language-image 指令遵循数据;通过在该数据上进行指令微调,得到了一个端到端训练的用于通用视觉和语言理解的多模态模型 LLaVA:Large Language and Vision Assistant。
- 提出了两个具有多样性和挑战性应用的评估基准。
介绍
- 人类通过语言、视觉等通道与世界交互,不同的方式拥有其各自的优势,通用人工智能助手应该遵循多模态的视觉和语言指令,完成人们的意图;
- 语言在 LLM 中扮演着十分重要的角色:通用的交互界面;任务要求可以被显式地使用语言表示;
- 本文首次提出了视觉指令微调以构建一个通用的人工智能助手,主要贡献有:
- 多模态指令遵循数据,使用 ChatGPT/GPT-4 生成;
- Large multimodal models(LMM),使用了 CLIP 的开放集(open-set)视觉编码器和语言解码器 Vicuna;
- 多模态数据遵循基准;
- 开源。
相关工作
多模态指令遵循代理(Agent)
CV 领域中的多模态指令遵循代理可以分为两种,一是端到端训练的模型,针对每个特定的研究主题探索,如 vision-language navigation,InstructPixPix 等;二是 AI agent 系统,如 LangChain,相关工作有 Visual ChatGPT、X-GPT、MM-REACT、VisProg 和 ViperGPT 等。
指令微调
在 NLP 领域,为了使像 GPT-3、T5 等这样的 LLM 能够遵循自然语言指令完成现实世界的任务,提出了指令微调,结果表明这种简单的方法十分有效,有助于提高 LLM 的零样本和少样本泛化能力。将 NLP 中的想法借鉴到 CV 中是很自然的,Flamingo 可以被视为多模态领域的 GPT-3 时刻,其提供了一种将文本和图像交错的数据(如将图像用一个特殊的 token <image> 表示)作为输入,并生成自由格式文本的结果。近期的 LLaMA、OpenFlamingo 等使得 LLM 可以使用图像输入,并且展示了富有希望的人物迁移泛化性能,但其并未明确地使用 vision-language 指令数据微调,在多模态任务中的表现不如 language-only 任务。
GPT 辅助视觉指令数据生成
受启发于 《Chatgpt outperforms crowd-workers for text-annotation tasks》,本文使用 ChatGPT/GPT-4 来生成数据。
- 最简单的思路是对于给定的图像文本对(image-caption)创建一系列询问图像内容的指令,但是缺乏多样性和深入推理。
- 为了缓解这个问题,使用 language-only 的 GPT-4/ChatGPT 充当一个强的教师模型。为了将图像编码为其视觉特征以提示 language-only 的 GPT,使用两种类型的符号表示(symbolic representations),一是 captions 通常从不同角度来描述视觉场景,二十使用 bbox 来定位场景中的物体,每个框会编码物体的概念和空间位置。
- 使用 COCO 数据集中的图像,并且生成了三种类型的指令数据,对于每种类型,本文人工设计了一些样例(这也是本文中所有的人工标注),并且在上下文学习(in-context learning)中作为根样例来询问 GPT-4.
- Conversation,设计了用户询问图像内容的对话,助手使用相应的语气回答,在多样性方面,提问可以包括对象类型、计数对象、对象动作、对象位置、相对位置等,并且只使用有明确答案的问题。
- Detailed description,创建了一些问题用于询问图片中的详细描述,使用 GPT-4 来构建问题。对于每个图片,随机选取一个问题来询问 GPT-4 获取详细描述。
- Complex reasoning,答案通常需要按照严格的逻辑进行逐步推理生成。
本文总计收集了 158k 个独特的 vision-language instruction 样本,其中包含了 58K 个对话、23K 个详细描述和 77K 个复杂推理,在早期实验中对 Chatgpt 和 GPT-4 进行了消融实验,发现后者始终提供更高质量的数据。