LLAVA
1. 研究动机
近年来,随着大语言模型(LLM)的发展,因此想向着多模态方向扩展。多模态任务(例如图像分类、检测、生成等)往往需要结合视觉和语言信息,传统的视觉模型在处理这些任务时通常将语言视作对图像内容的简单描述,而忽略了语言在指令引导方面的潜力。因此,本文提出通过视觉指令微调,将指令微调方法应用于视觉-语言任务。
2. 相关工作
-
多模态指令跟随Agents:可以被分为两类
- End-to-end trained models, which are separately explored for each specific research topic. 就是单独某个领域的单独出一个模型
- A system that coordinates various models,能够胜任很多任务
-
指令微调(Instruction Tuning):指令微调方法通过使用机器生成的高质量指令样本,提升了语言模型的对指令的理解和执行能力。尽管这一方法在文本任务中取得了成功,但在视觉-语言任务中应用较少,本文旨在填补这一空白。
3. 方法
本文提出了一种创新的方法,即视觉指令微调(Visual Instruction Tuning),这是首次将指令微调方法应用于图像-语言多模态模型。
-
数据生成:为了克服缺乏视觉-语言指令数据的问题,作者提出了一种数据生成方法,通过使用ChatGPT/GPT-4生成高质量的视觉-语言指令数据。就是将图像-文本对转换为指令跟随格式,使模型能够理解并根据指令执行任务。
为了构建这个指令微调的数据,本文使用GPT-4 or ChatGPT去构建数据,因为要让GPT(语言系列)理解图片并构造数据,本文将图片按照上图中的两种context type去表示,相当于让GPT看到了图片,再去生成指令微调数据。指令微调的生成类型有三种:(在
COCO
图像数据集上生成)对话(Conversation)、细节描述(detail description)和复杂推理(complex reasoning)
-
大规模多模态模型:作者将语言模型(如Vicuna)与视觉编码器(如CLIP——ViT-L/14)结合,构建了一个大规模的多模态模型。这个模型通过端到端微调,在生成的指令-图像数据上进行训练,使得模型能够在不同的视觉-语言任务中表现出色。模型架构如下:
-
指令微调:通过将视觉-语言数据输入到训练模型中,模型不仅能够理解图像,还能够根据语言指令执行特定任务。通过这种方式,模型能够在复杂的应用场景中有效地进行任务切换和执行。
-
Stage 1: Pre-training for Feature Alignment
filter CC3M to 595K image-text pairs 并基于此构建了instruction-following data,训练阶段保持visual encoder and LLM weights frozen
-
Stage 2: Fine-tuning End-to-End
always keep the visual encoder weights frozen, and continue to update both the pre-trained weights of the projection layer and LLM in LLaVA;
4. 实验
实验部分验证了所提出方法的有效性。实验的主要结果包括:
- 性能提升:在多模态指令跟随任务上,LLaVA模型表现出了令人印象深刻的能力,尤其是在合成多模态指令数据集上的相对得分达到了85.1%。此外,当在Science QA任务上进行微调时,LLaVA与GPT-4的结合达到了92.53%的最新准确率。
- 比较与基线:在多个任务上,LLaVA显著超越了传统的视觉-语言模型,并且与现有的图像处理系统(如CLIP)相比,能够更好地理解和执行多模态指令。
- 模型组合与集成:作者还探讨了将不同模型(如CLIP和Vicuna)组合起来的效果,并展示了集成模型在执行复杂任务时的优势。
5. 未来工作
尽管本研究取得了初步的成功,作者也指出了多个未来工作的方向:
- 数据多样性:目前使用的指令-图像数据集仍然存在一定的局限性,未来可以通过扩展数据集的多样性,涵盖更多任务和领域,进一步提升模型的泛化能力。
- 任务适应性:未来的研究可以探讨如何让模型在面对不同领域和类型的任务时更加自适应,并能够根据实时生成的指令快速调整执行策略。
- 更强的多模态理解:目前的模型主要集中在视觉和语言的简单结合上,未来的工作可以探索如何让模型更深入地理解两者之间的复杂关系,提升其在多模态推理、生成等任务中的表现。
- 提升交互性:为了实现更高效的交互式应用,未来可以加强模型的可解释性和交互性,使得用户能够更直观地理解和引导模型的执行过程。