13. VLM 的训练通常分几个阶段?每个阶段训什么、冻结什么?

整理 VLM 的多阶段训练流程,以及各阶段训练内容和冻结策略。

简单回答

主流 VLM 的训练分三个阶段:第一阶段做视觉语言对齐预训练,只训 Projector,冻结视觉编码器和 LLM;第二阶段做视觉指令微调(Visual Instruction Tuning),解冻 LLM(或 LoRA),训 Projector + LLM;第三阶段(可选)做 RLHF/DPO 或 RLAIF 对齐,提升安全性和有用性。分阶段训练的逻辑是"先对齐,再学指令,再精调行为",和语言模型的预训练→SFT→RLHF 流水线完全对应。

详细解答

为什么要分阶段训练

VLM 的训练面临一个基本问题:视觉编码器(在图像数据上训练)和 LLM(在文本数据上训练)来自两个完全不同的表征空间,中间需要通过 Projector 来"翻译"。如果一上来就全部放开训,有几个问题:LLM 大量参数会被随机初始化的 Projector 带歪;视觉编码器精心学到的特征可能被破坏;训练不稳定、收敛慢。

分阶段训练的核心逻辑是:先冻住两端,只训中间的桥梁(Projector),让它学会对齐;对齐完成后再解冻,让 LLM 学习怎么把视觉信息用于任务。

第一阶段:视觉语言对齐预训练(Feature Alignment)

目标:让 Projector 学会把 visual token 映射到 LLM 能理解的语义空间。

训练配置:冻结 Vision Encoder,冻结 LLM,只训练 Projector 的参数(通常只占总参数的 1% 不到)。

训练数据:大量图文对(图片+描述),任务非常简单——给图片,生成描述(Image Caption)。常用数据集有 CC3M、CC12M、LAION 等,数量在几百万到千万级别。

为什么冻结视觉编码器:预训练好的 CLIP/SigLIP 已经有很好的视觉语义,不需要重新训练,也应该避免在数量有限的对齐数据上被破坏。

为什么只训 Projector:Projector 是随机初始化的,需要先学会基本的特征翻译,让 visual token 和 text embedding 处于同一空间,这是最小改动代价最低的方案。

这一阶段结束后,Projector 能把图片的语义粗略地对应到 LLM 的词汇空间,但模型还不会按指令回答问题——输入一张猫的图片,它能生成"一只猫",但如果你问"这只猫的颜色是什么",它不一定能正确回答。

第二阶段:视觉指令微调(Visual Instruction Tuning)

目标:让模型能理解和遵循多样化的视觉相关指令,真正成为一个多模态对话助手。

训练配置:解冻 LLM(全量训练,或 LoRA),继续训练 Projector,Vision Encoder 通常还是冻结(少数方案会解冻 Encoder 或只训最后几层)。

训练数据:高质量的视觉指令数据集,包含各类任务——视觉问答(VQA)、图片描述、OCR、图表理解、图片推理、多轮对话等。代表性数据集有 LLaVA-665K、ShareGPT4V、InternVL-SFT 等。数据量通常在百万级。

这一阶段是 VLM 能力形成的核心阶段。数据的多样性和质量决定了模型在各类视觉任务上的能力上限。LLaVA 1.5 就是在第一代 LLaVA 的基础上通过更高质量的指令数据显著提升了效果。

为什么这一阶段解冻 LLM:第一阶段的对齐是粗粒度的,Projector 把 visual token 映射到了 LLM 能处理的格式,但 LLM 还没有真正学会如何充分利用视觉信息来回答问题。解冻 LLM 让它能从视觉任务的指令数据中学习如何整合跨模态信息。

第三阶段:对齐优化(可选)

与纯文本 LLM 类似,VLM 也会做偏好对齐——让模型的多模态回答更有帮助、更安全、更符合人类偏好。

方法包括:收集多模态偏好数据(对同一图文输入,标注哪个回答更好),用 DPO 或 RLHF 做对齐训练;专门做多模态幻觉优化(针对模型倾向于描述不存在的内容的问题,用对抗数据强化);专门的 OCR 或图表理解任务的精调。

各主流模型的阶段差异

不同模型在三阶段范式上有一些变体。InternVL 2.0 在第二阶段会解冻视觉编码器的最后几层,让 Encoder 适应指令跟随场景。Qwen-VL 在大规模预训练数据上多了一个中间阶段(弱监督预训练)。LLaVA 1.6/NeXT 在指令微调阶段引入了更高分辨率的 AnyRes 数据。

面试时可以这样答

VLM 训练的标准流程是三阶段,逻辑和语言模型的预训练→SFT→RLHF 完全对应。

第一阶段是对齐预训练,只训 Projector,把视觉编码器和 LLM 全冻住。数据是大量图文对,任务是 image caption。目的是让 Projector 先学会视觉特征到 LLM embedding 空间的"翻译",代价最小、效率最高。

第二阶段是视觉指令微调,解冻 LLM,训 Projector + LLM,视觉编码器通常还冻着。数据是多样化的视觉指令集,VQA、图表理解、OCR 各类任务都有。这一阶段是能力形成的核心,数据质量和多样性决定了模型的上限。

第三阶段是对齐优化,用 DPO 或 RLHF 提升安全性和有用性,有些模型还会专门做幻觉优化。这阶段不是必须的,但对产品质量影响很大。

一个重要的工程细节是视觉编码器要不要解冻:大多数情况下不解冻,因为破坏了预训练好的视觉特征,代价大;但对于一些特殊任务(高分辨率文档、医学图像)的定向优化,解冻最后几层有帮助。

常见追问

  1. 第一阶段如果 Projector 没有训练充分就进入第二阶段,会有什么影响?
  2. 视觉编码器在第二阶段要不要解冻?有没有经验上的判断标准?
  3. 多模态对齐的偏好数据怎么构造?和纯文本偏好数据的区别在哪里?