多模态大模型网络结构怎么搭?
以BLIP-2/LLaVA为例,详解视觉编码器、Q-Former与LLM协作
原题:请详细描述一种典型的多模态大模型(如BLIP-2、Qwen-VL或LLaVA)的网络结构,包括视觉编码器、语言模型、连接模块(如Q-Former、Adapter)的设计与协作方式。
多模态 · 得物真题
回答与解析
三种典型桥接结构
LLaVA-1.5使用预训练CLIP视觉编码器提取图像特征,经两层MLP projector映射到语言模型token空间。特征对齐阶段冻结视觉编码器和LLM,主要训练projector;视觉指令微调阶段仍冻结视觉编码器,并更新projector与LLM。不能说projector始终是唯一可训练模块,也不应给无来源固定参数量。
BLIP-2冻结图像编码器与LLM,在中间训练Q-Former。Q-Former由可学习query通过cross-attention从视觉特征提取与文本相关的信息,再经投影接入LLM。回答时无需虚构层数;不同组件初始化和两阶段预训练目标以论文为准。
Flamingo用冻结视觉编码器得到特征,经Perceiver Resampler压成固定数量视觉表示,再在冻结语言模型中插入gated cross-attention层读取视觉信息。它不是把原始视觉token不经投影直接送入语言模型。
三者都在复用预训练视觉和语言组件,但连接位置、训练参数范围和信息带宽不同。选型需比较细粒度感知、指令跟随、可训练成本、视觉token数量、延迟和数据规模。
口语版讲法(约4分钟)
- 先拆视觉编码器桥接和LLM
- 讲LLaVA两阶段训练范围
- 说明BLIP-2的Q-Former
- 说明Flamingo的Resampler与cross-attention
- 比较信息带宽和成本
典型视觉语言模型可以拆成视觉编码器、连接模块和语言模型,但连接方式决定信息流与训练成本。LLaVA-1.5使用预训练CLIP视觉编码器提取图像patch特征,再用两层MLP projector把视觉特征映射到语言模型可接收的表示,随后和文本token一起进入自回归LLM。
LLaVA的训练范围要分阶段描述。特征对齐阶段冻结视觉编码器和语言模型,主要训练projector,让图像特征能接入语言接口。视觉指令微调阶段继续冻结视觉编码器,但会更新projector和语言模型,使模型学习多轮视觉问答与指令遵循。因此不能说MLP始终是唯一可训练模块,也不能脱离具体模型配置给projector报一个固定参数量。
BLIP-2采用另一种桥接。它冻结预训练图像编码器和冻结LLM,在中间加入可训练Q-Former。Q-Former维护一组可学习query,通过cross-attention从视觉编码器输出中提取与语言任务相关的信息,再经投影送入LLM。论文使用分阶段目标学习图文表征与生成接口。回答时应讲query如何压缩和选择视觉信息,不必编造Q-Former层数或把它说成普通单层adapter。
Flamingo又不同。视觉编码器先产生特征,Perceiver Resampler把可变数量视觉特征整理成固定数量的视觉表示。语言模型内部插入gated cross-attention层,在文本生成过程中读取这些视觉表示。它不是不做任何投影就把原始视觉token直接塞给LLM;Resampler和cross-attention正是控制视觉信息带宽与交互位置的桥梁。
三种路线都在复用预训练组件,但LLaVA更像把视觉token映射进语言输入接口,BLIP-2用Q-Former主动查询视觉内容,Flamingo让语言层通过cross-attention按需读取。信息压得太少可能损失小目标与文字,视觉token太多又会增加上下文和attention成本。
工程选型时,我会固定视觉分辨率和LLM规模,比较OCR、目标属性、空间关系、对话与幻觉,并记录可训练参数、视觉token数、首token延迟和显存。还要做视觉消融,确认模型确实使用图像而不是只靠语言先验。这样才能从真实结构和训练阶段说明模型,而不是只背Q-Former或projector名词。
多图和高分辨率场景会进一步考验桥接模块。固定数量query可能压缩过度,直接保留大量patch又会占用语言上下文。可以通过分块、动态分辨率或区域选择控制带宽,但每种设计都要检查小目标、OCR和跨图关系。
若视觉编码器也参与微调,训练显存、灾难性遗忘和视觉特征漂移都要重新评估,不能沿用冻结配置的结论。
关键一句:三种桥接模块如何在视觉信息带宽与语言模型改造成本之间取舍。
核验来源
面试官还可能这样问
- 问法 1 · 场景切入
假设要构建一个商品图片问答模型。请在 LLaVA 式 MLP projector 与 BLIP-2 式 Q-Former 中选择一种桥接方案,并说明视觉编码器、连接模块和 LLM 怎样协作。
- 问法 2 · 层层追问
图像先由什么模块编码?……视觉特征怎样变成 LLM 可接收的表示?……projector 与 Q-Former 的信息带宽和训练成本有何差别?……分阶段训练时哪些模块冻结、哪些更新?
- 问法 3 · 直球技术
以 LLaVA、BLIP-2 或 Qwen-VL 为例描述典型 VLM 结构,说明视觉编码器、连接模块、语言模型与训练阶段的协作关系。