标准回答
核心思路:把图像翻译成 LLM 能读的 token
LLM 只接受 token 嵌入序列。要让它「看见」图像,需把图像特征转成与文本 token 同空间的向量。LLaVA 的做法分三步:
1. 视觉编码器
用预训练的 CLIP 视觉编码器(ViT)提取图像特征,得到一组 patch 级特征向量(视觉表示已含丰富语义)。视觉编码器通常冻结。
2. 投影层对齐
关键是一个投影模块(LLaVA 早期用单线性层,后用两层 MLP),把视觉特征映射到 LLM 的词嵌入维度与空间,转化为若干「视觉 token」。这步是图像与语言对齐的桥梁。
3. 拼接送入 LLM
视觉 token 与文本提示的 token 嵌入拼接成一条序列,一起喂给 LLM。LLM 用自回归方式生成回答,即可完成看图问答、描述、推理等任务。
两阶段训练
先用图文对训练,仅更新投影层做特征对齐;再用视觉指令数据(图 + 指令 + 回答)做指令微调,可同时微调投影层与 LLM。这样以较小代价把强 LLM 升级为多模态模型。
常见误区
⚠️ 常见踩坑
LLaVA 不是从零训练多模态模型,而是「冻结视觉编码器 + 复用预训练 LLM + 训练中间投影层」;投影层不是简单 resize,而是把视觉特征对齐到 LLM 的语义嵌入空间。
追问
追问 1:投影层为什么是 LLaVA 的关键?
它是连接视觉与语言两个独立预训练模型的桥梁,把 CLIP 输出的视觉特征翻译成 LLM 词嵌入空间里的「伪 token」。只有对齐好,LLM 才能正确理解图像内容。LLaVA 第一阶段就专门训练这个投影层做图文对齐。
追问 2:LLaVA 的两阶段训练分别做什么?
第一阶段「特征对齐预训练」:冻结视觉编码器和 LLM,仅训练投影层,用图文对让视觉 token 对齐到语言空间。第二阶段「视觉指令微调」:用图 + 指令 + 回答的数据训练,可一并微调投影层与 LLM,赋予模型遵循指令、多轮看图对话的能力。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。