[论文阅读] Improved Baselines with Visual Instruction Tuning

时间:2024-10-26 06:57:44

启发:

1、LLaVA-1.5和LLaVA以及其他大模型相比,做出了哪些改进?

(1)使用CLIP-ViT-L-336px作为视觉编码器,使模型能处理336px的高分辨率图像,这使得模型能从图像中提取出更多细节信息。此外,还进一步探索了如何适应更高分辨率的图像,通过对图像做分割的方式成功达到448px的输入。

(2)使用双层MLP来增强模型的多模态理解能力。

(3)制定了更明确的响应格式提示,使用该提示对模型进行微调,解决LLaVA存在的短格式和长格式 VQA不平衡的问题。

(4)数据集方面借鉴了InstructBLIP,加入了学术数据,此外,还加入了GVQA、ShareGTP等多个数据集,通过这种数据扩展方式强化模型性能。

Abstract

研究问题:改进LLaVA性能

研究方法:使用CLIP-ViT-L-336px作为视觉编码器,并引入MLP投影层来增强模型的表示能力。在训练数据中加入了学术任务导向的可视化问答(VQA)数据,并使用了响应格式化提示,以改善模型对短答案和长答案的生成能力。

1. Introduction

  • LMMs有什么用?

        它是通用AI助手的关键组件。

  • 最近关于LMMs的工作的研究重点是什么?

        近期工作关注视觉指令调整(visual instruction tuning),LLaVA和MiniGPT-4都取得很好的成果,LLaVA架构也被应用于许多领域。

  • 本文的研究思路

        考虑到不同大模型在不同任务上的性能表现各有优劣,而目前没有合理解释能说明导致这些差异的原因是什么,可能是训练数据,也可能是Qformer等重采样器的使用,我们从输入、模型、数据的角度来进行系统研究,探索提升LMMs性能的有效路线。

        首先,我们发现 LLaVA 中全连接的视觉语言连接器具有强大的能力和数据效率,所以我们在LLaVA框架基础上建立了一个更强大的baseline。具体的改进有两个,MLP跨模态连接器结合了学术任务的相关数据

        然后,我们深入研究了大型多模态模型在其他开放问题上的早期探索,发现了LLaVA表现好的原因:

(1) 缩放到高分辨率图像输入。我们表明,LLaVA 的架构可以通过简单地将图像划分为网格来扩展到更高的分辨率,并保持其数据效率;随着分辨率的提高,它提高了模型的细节感知能力,减少了幻觉。

本来高分辨率图像需要大量计算资源,LLaVA通过把高分辨率图像分割成小块,然后分别处理小块,一方面使用较少的计算资源来处理高分辨率图像,提升了数据效率,另一方面让模型能够关注到图像中的更多细节,降低“幻觉”出现概率

(2) 组合能力。我们发现大型多模态模型能够推广到组合能力。例如,长格式语言推理的训练与较短的视觉推理可以提高模型对多模态问题的编写能力。

一方面的体现是模型处理多模态输入的能力,LLaVA能够同时看到图像输入和文本输入,然后结合多模态输入更准确的回答问题。另一方面的体现是当模型能处理任务A和B时,它能否进一步处理同时涉及A和B的任务C

(3) 数据效率。我们表明,将 LLaVA 的训练数据混合随机降低高达 75% 不会显著降低模型的性能,这表明更复杂的数据集压缩策略的可能性可以进一步改进 LLaVA 已经高效的训练管道。

LLaVA即使只用75%的数据训练,性能也不会出现明显下降,说明LLaVA能更高效的从数据中学习

(4) 数据缩放。我们为数据粒度的扩展提供了经验证据,并且模型的能力对于在不引入幻觉等伪影的情况下改进能力至关重要。

增加数据规模和细节程度能够提升模型性能,但是要注意不能一昧的增加数据量,否则低质量数据会引入幻觉,也不能一昧的提供细粒度数据,否则模型理解宏观信息的能力会下降

        总之,根据上述的研究,我们找到了有效的改进思路,在仅使用公共数据的条件下对LLaVA进行了改进,得到LLaVA-1.5,它在11项任务上都达到了SOTA水平。

2. Related Work

2.1 Instruction-following large multimodal models (LMMs)

LMMs的常见架构包括:

(1)预训练好的视觉backbone:从图像中提取和编码视觉特征。

(2)预训练好的大语言模型LLM:理解用户的需求,生成响应。

(3)视觉-语言多模态连接器:将视觉编码器输出的视觉特征与语言模型的词嵌入空间对齐。

(4)视觉重采样器:是一个可选部件,作用是对视觉特征进行筛选,保留重要信息,减少特征数量,常用的是Qformer。

LMMs遵循两阶段训练方式:

(1)视觉-语言对齐预训练:训练数据是图像-文本对,训练目标是让模型能够将图像的视觉特征和文本的语言特征对应起来。直观来说,就是让模型知道文本描述的是图像中的哪部分内容。

(2)视觉指令调整:训练数据是视觉内容和相应的语言指令,视觉内容可能是图像和视频,语言指令可能包括问题-答案对(QA任务)、描述性文本(image caption任务)、对话文本(多模态对话任务)、格式化输出要求(格式转换任务)等。训练目标就是让模型能理解和执行涉及视觉内容的用户指令。

2.2 Multimodal instruction-following data

        研究显示instruction-following数据的质量会对模型性能产生很大影响。LLaVA率先使用GPT-4将现有的COCO边界框和标题数据集扩展为多模态instruction-following数据集,其中包含三类指令数据:对话式QA、详细描述和复杂推理,这种数据扩展方式已经被广泛应用于其他数据集和任务中。

        InstructBLIP模型通过纳入学术任务导向的视觉问答(VQA)数据集来增强模型的视觉能力。但是,简单的将学术任务数据和普通数据集合并,会导致模型在普通数据上过拟合,为了解决该问题,有研究提议利用LLaVA的pipeline将VQA数据集转换为对话形式数据集,这种方式虽然有效,但是会在数据扩展时增加复杂性。为了解决上述问题,我们调查在多模态模型中无法平衡自然对话和学术任务的根本原因。
(根本原因是什么???)

3. Approach  

3.1. Preliminaries

LLaVA存在的一些问题:

(1)在需要简短答案的任务测试中无法达到要求;

(2)由于训练分布缺乏相关数据,导致回答“是/否”问题时倾向于回答是。

InstructBLIP存在的一些问题:

(1)加入了学术数据,导致在现实生活问题上表现不佳;

(2)倾向于给出简短回答,即使明确要求给出详细回答。

3.2. Response Format Prompting

模型无法在短格式和长格式 VQA 之间取得平衡的原因:

(1)响应格式的提示不明确

模型使用的提示(prompts)对于期望的输出格式不够明确。例如,简单的提示格式如“Q: {问题} A: {答案}”并没有指明是期望一个简短的答案还是详细的解释。这可能导致模型在即使是需要自然对话和长答案的情况下,也倾向于生成简短的答案。

(2)没有对大型语言模型(LLM)进行微调

InstructBLIP模型只对Qformer进行了微调,而不是对整个LLM进行微调。这要求Qformer的视觉输出tokens来控制LLM输出的长度,决定是生成长答案还是短答案。然而,Qformer可能由于其容量相对于像LLaMA这样的LLM来说有限,而无法恰当地完成这一任务。

我们提出的解决思路是:

(1)使用明确的响应格式提示

        通过在VQA问题后附加一个明确的响应格式提示,例如“用一个单词或短语回答这个问题”,来指示模型输出的期望格式。这样的提示可以帮助模型更清晰地理解何时应该提供简短的答案。

(2)对LLM进行微调

        通过使用这些明确的提示对LLM进行微调,LLaVA模型能够根据用户的指令适当地调整输出格式。这意味着模型可以更灵活地在短答案和长答案之间切换,而不需要额外的处理,例如使用ChatGPT来处理VQA答案。

        实验表明,通过在训练中仅加入VQAv2数据集,LLaVA在MME(多模态推理挑战)上的性能显著提高,并且超过了InstructBLIP模型111分,说明了我们的思路的有效性。

3.3. Scaling the Data and Model

(数据扩展是指增加训练数据的规模和多样性,模型扩展是指增加模型参数量和复杂度)

(1)MLP vision-language connector

我们发现在视觉-语言连接器中使用两层MLP能够增强LLaVA的多模态理解能力。

(2)Academic task oriented data

在InstructBLIP使用的数据集基础上引入新的数据集,最终数据集组成为:

  • open-knowledge VQA(OKVQA,A-OKVQA)和OCR(OCRVQA,TestCaps
  • region-level VQA datasets(Visual Genome,RefCOCO
  • VQA-v2
  • GQA
  • ShareGPT

(3)Additional scaling

        为了让模型能看到图像的更多细节,我们将图像分辨率提高到336×336,视觉编码器采用了CLIP-ViT-L-336px。让然后还引入了GQA和ShareGPT作为额外数据集,并把模型参数量从7B扩展至13B

我们将按照上述改进训练得到的模型命名为LLaVA-1.5

3.4. Scaling to Higher Resolutions

        研究表明增加图像分辨率可以提高模型性能,但是,CLIP视觉编码器最高只支持336px,无法通过更换视觉编码器来支持更高的分辨率,所以需要探索新的方式。

        具体做法如下图所示,我们对高分辨率图像做分割,得到多个patch,对每个patch进行encode之后,将得到的特征进行合并。另外,还将下采样的图像特征一并传入LLM,这使我们能够将输入缩放到任意分辨率,并保持 LLaVA-1.5 的数据效率。我们将这个模型称为 LLaVA-1.5-HD

4. Empirical Evaluation

4.1. Benchmarks

4.2. Results

4.3. Emerging Properties

        LLaVA-1.5虽然没有专门针对多语言进行训练,但是ShareGPT中存在多语言数据,所以LLaVA-1.5 能够遵循多语言指令,甚至LLaVA-1.5的性能比 Qwen-VL-Chat 高出 +7.3%。

4.4. Ablation on LLM Choices

5. Open Problems in LMMs

5.1. Data Efficiency

        尽管与 InstructBLIP等方法相比,LLaVA-1.5 的数据效率更高,但与 LLaVA 相比,LLaVA-1.5 的训练开销仍然翻了一番。我们通过对 LLaVA-1.5 的训练数据进行随机子采样,以进一步提高数据效率,采样率范围为 0.1 到 0.5。

        结果如下图,即使只使用50%的数据,模型依旧达到98%的性能,甚至在一些任务上还有提升。直至数据减少到30%,模型性能依旧稳定。这表明数据效率还有进一步改进的空间。

        

5.2. Rethinking Hallucination in LMMs

        幻觉是 LLM 和 LMM 需要解决的一个重要问题。通常在 LMM 中,我们将模型的幻觉归因于训练数据集中的错误,然而,我们发现,当我们将模型的输入缩放到更高的分辨率(如 448px)时,这种幻觉会显著减少。这说明,有些幻觉是因为输入分辨率不足,导致模型无法识别输入数据的所有细节而产生的。

        这个发现提示研究者在设计模型和选择数据时,需要考虑到模型处理高分辨率输入的能力,以及如何有效地利用这些高分辨率数据来减少幻觉

6. Conclusion

研究目标和贡献

论文的目标是揭开大型多模态模型设计的一些谜团。研究者们提出了一个名为LLaVA-1.5的新基线模型,这个模型简单、有效,而且在训练时不需要太多的数据。他们还探索了在视觉指令调整中尚未解决的问题,比如如何处理更高分辨率的图像,以及模型在产生幻觉和组合不同能力时的表现。

对未来研究的期望

研究者们希望他们的发现和提出的基线模型能为未来开源的大型多模态模型研究提供参考和帮助。

模型的局限性

尽管LLaVA-1.5模型取得了一些积极的成果,但它仍然有一些局限性。例如,处理高分辨率图像时训练时间可能会变长,模型还无法理解多张图像之间的关系,而且在某些领域解决问题的能力也有限。此外,模型有时也会产生幻觉,也就是生成不真实的信息。因此,在关键的应用领域,比如医疗行业,使用这个模型时需要格外小心。