
目前主流的多模态大模型的训练基本都是分为预训练 和微调 两阶段来进行的。
预训练阶段是为了让大语言模型(LLM)具有理解视觉信息的能力,也可以认为是将视觉特征空间对齐到文本空间。
微调阶段就是使用特定领域的数据,通过全量参数或者 LoRA 这种参数高效的方法微调,让模型熟悉特定领域的知识。
VILA 这篇文章的研究重点就是从模型架构,数据构造,训练策略三个角度出发,找到一个最优的预训练方法。
主要结论
- 在预训练阶段冻结 LLM,在 zero-shot上的性能可以达到最优。但如果需要上下文学习的能力,需要在预训练阶段放开 LLM 的参数;
- Zero-Shot Video 是指在没有明确训练针对特定视频任务的数据的情况下,模型能够处理或理解视频内容的能力。简而言之,"zero-shot"(零样本学习)指的是模型能够在没有专门为某一任务或数据集进行训练的情况下,仍然能够执行该任务或理解新类型的输入。在视频理解的背景下,Zero-Shot Video通常意味着:没有针对特定视频数据的训练:模型没有专门在某一视频数据集上进行训练,而是依赖于预训练的视觉和语言模型(例如,使用大规模的图像-文本数据预训练的模型)。这些模型学习到了通用的视觉-语言关联,能够处理新的、未见过的视频。跨任务的泛化能力:即使模型没有见过特定的视频内容,它也能通过已学到的视觉语言关联,理解视频的场景、动作、对象等,甚至生成相应的文本描述、回答问题或执行其他任务。少量或没有标签数据:Zero-shot模型通常不依赖于标签数据,它们可以直接从未标注的视频数据中推断出有用的信息。这使得模型能够在新的视频任务上进行有效推断,而无需重新训练。例如,如果一个模型通过大量图像和文本数据预训练,并且在某些视频描述任务上具有Zero-Shot能力,它可能能够在没有任何关于特定视频内容的信息的情况下,基于视频的视觉特征生成相关的文本描述,甚至回答关于视频内容的问题。Zero-Shot Video理解技术通常被用于以下任务: 视频分类:识别视频属于哪一类别(例如,体育、娱乐等),即使该视频类别从未出现在训练数据中。 视频描述生成:生成视频内容的自然语言描述,而无需训练专门的数据集。视频问答:回答关于视频内容的问题,即使这些问题从未出现在训练数据中。总之,Zero-Shot Video代表了一种更为通用且强大的模型能力,使得模型能在不同视频任务中不依赖特定标注数据进行有效推断。
- 图片文本相互交叉的预训练数据比较有利于训练,单纯的图片文本对并不是最优的;
- 在指令微调阶段,将纯文本指令数据混杂到图片-文本数据中,不仅能缓解纯文本任务性能的下降,而且能提高视觉、语言模型(VLM)任务的准确率。

相比较于 LLaVA1.5而言,VILA 几乎实现了全面的超越。
预训练VLM
更新LLM 是至关重要的

- 预训练阶段是否放开 LLM,在 zero-shot上的性能完全一样。但是在 4-shot测试中,预训练阶段放开 LLM 能提高 11%,说明预训练放开 LLM 能极大提高模型的上下文学习能力;
- Projector结构(Projector结构是指在预训练视觉语言模型(VLM)更新语言模型(LLM)的过程中,用于将图像特征映射到文本特征空间的一种设计。具体来说,它指的是将图像的视觉特征通过某种方式转换为可以与文本特征进行对齐的表示。在原文中,Projector结构被讨论为一种重要的组件,其设计选择对模型的性能有显著影响。其中,使用线性映射(Linear)作为Projector结构被证明优于使用Transformer层堆叠,这表明简单的线性映射能够更有效地促使LLM学习处理视觉信息的能力,进而提升模型的泛化性能。这种设计可能是因为它能够更好地保持图像特征的原始信息,并促进图像和文本在深层隐空间中的对齐,这对于多模态模型的理解和生成能力至关重要。) 为 Linear 明显优于 Transformer层 的堆叠,作者猜测是因为简单的 Linear 能促使 LLM 学习更多处理视觉信息的能力,从而导致更好的泛化性能。
深层 embedding 对齐假设
作者猜测,之所以微调 LLM 很关键,是因为在深层的隐空间中对齐图像和文本信息是非常重要的。

相互交叉的视觉语言语料库能帮助预训练
选择预训练数据

- MMC4 是图片文本相互交叉的数据集,平均每个样本对应 4 张图片,每张图片对应 122.5 个 tokens;
- COYO 是图文对数据集,文本部分都比较短,每张图片对应 22.7 个 tokens;
- 训练的时候每个数据集根据 CLIP特征的相似度选择 25M 张图片;
交叉数据是至关重要的

- 使用图文对数据集 COYO 训练之后,LLama2的文本能力遭到灾难性遗忘,纯文本准确率(MMLU )下降 17.2%;
- 使用图文交叉数据集 MMC4 训练之后,纯文本能力相较于原始的 Llama2仅仅下降 5.3%,多模态能力相较于 COYO 训练的模型得到极大提升,在 0-shot测试中提升 17%;
相互交叉的数据构成很重要,而不是因为文本分布
MMC4 数据集中文本长度较长,文本数据比较接近于纯文本数据的分布,可能是这个原因导致在纯文本任务中表现较好。
为了排除是因为 MMC4 文本较长导致的在MMLU 上结果较好,作者将 MMCU 改成图文对数据MMC4-pair。
MMC4:<txt1><im1><txt2><txt3><im2><txt4>
MMC4-pair: <im1><txt2>, <im2><txt4>
- MMC4-pairs在纯文本任务MMLU上稍微减小了 COYO 的性能下降,这可能是因为较长的文本;
- MMC4-pairs相较于 COYO 在多模态任务上结果变得更差,这可能是因为MMC4-pairs数据中图片和文本没有很强的匹配关系;

- MMC4相较于 MMC4-pair在训练过程中损失更低,这表明完整的文本分割提高了更多的信息;

- 综合上面的分析可以得出结论:相互交叉的数据允许模型去选择图片相关的信息,不会更多强迫模型去学习不相关的文本建模。
数据混合提高预训练
- 在混合了 MMC4 和 COYO 后,在多模型任务中模型进一步获得了提高。
结合有监督微调(SFT)后恢复了LLM的下降
即使在预训练的数据中混合了图片文本相互交杂的数据,但纯文本任务还是有 5% 的下降。
这个问题可以在预训练的时候添加文本数据来解决,但是纯文本数据的比例又很难去确定。
作者发现,纯文本能力并没有遗忘,只是暂时隐藏了。只要在微调的时候添加了一点纯文本数据,就能完全恢复 LLM 在纯文本任务上的能力。
联合有监督微调

- 一般的多模态大模型在微调阶段只使用视觉语言数据,这会导致纯文本任务性能的下降;
- 作者在 FLAN 中采样 1M纯文本指令数据,混杂在多模态数据集中微调模型;
- 结果表明,这种方法不仅完全恢复了 LLM 的纯文本能力,而且也进一步提高了模型在多模态任务中的能力;
- 这可能是因为纯文本数据提高了模型的指令跟随能力,这个能力对于多模态任务也很重要。