#VLM 与多模态大模型专项强化题库(第十二批:视觉语言模型架构、对齐与任务设计)

#一、高频问题速览

编号 问题 核心考点
247 CLIP 的训练目标是什么?对比学习如何设计正负样本? 对比学习、InfoNCE、多模态对齐
248 VLM 的视觉编码器通常用什么?ViT 相比 CNN 有何优劣? 视觉编码器选型、特征粒度、全局/局部
249 图像特征如何接入 LLM?有哪些主流方案? 投影层、Q-Former、Perceiver Resampler
250 为什么 VLM 训练通常分阶段(stage-wise)? 对齐稳定性、灾难性遗忘、数据效率
251 细粒度视觉理解(如目标定位)如何注入 VLM? 视觉提示、坐标编码、Grounding
252 视频理解相比图像理解的核心难点是什么? 时序建模、长序列、采样策略
253 多模态指令微调与纯文本 SFT 有何差异? 模态对齐、数据配比、格式统一
254 VLM 的幻觉问题与纯文本 LLM 有何不同? 视觉幻觉、描述不匹配、训练偏差
255 如何评估 VLM 的视觉理解能力? benchmark 选择、细粒度指标、人工评测
256 LLaVA、MiniGPT-4、BLIP-2 的架构差异是什么? 架构演进、冻结/解冻策略、训练成本

#二、逐题详细解答

#247. CLIP 的训练目标是什么?对比学习如何设计正负样本?

#知识点

  • InfoNCE loss
  • 温度系数 τ
  • in-batch negative
  • 图文配对数据

#详细解答

CLIP 的核心训练目标是让匹配的图文对在嵌入空间靠近、不匹配的对远离。它用 InfoNCE(或类似的对比损失)作为目标:对 batch 中每个图像,其配对的文本是正样本、batch 内其他文本是负样本;反之亦然。

具体实现上,图像和文本分别过各自的编码器得到 embedding,计算余弦相似度矩阵。对角线上的配对是 positive,其余是 negative。损失函数形式为:

L = -log(exp(sim(i,t)/τ) / Σ exp(sim(i,t')/τ))

其中 τ 是温度系数,控制分布的平滑程度。τ 太大则正负区分不明显,τ 太小则梯度不稳定。

负样本设计:CLIP 采用 in-batch negative,即 batch 内的其他配对作为负样本。优点是无需额外挖掘,缺点是负样本质量和 batch size 强相关。后续改进(如 DINO、ALBEF)会引入 momentum encoder、hard negative mining 等策略提升对比质量。

#248. VLM 的视觉编码器通常用什么?ViT 相比 CNN 有何优劣?

#知识点

  • ViT (Vision Transformer)
  • CNN (ResNet 等)
  • 特征粒度、全局上下文
  • 计算复杂度

#详细解答

当前 VLM 的主流选择是 ViT 或其变体(如 EVA-CLIP、SigLIP、DINOv2),原因有几点:

  1. 全局上下文:ViT 的自注意力天然捕获全局关系,对理解图像整体语义更有利;CNN 的感受野有限,深层才能覆盖全图。
  2. 与 LLM 架构一致:都是 Transformer,便于后续融合和统一训练。
  3. 预训练资源丰富:CLIP、DALL-E、Stable Diffusion 等都基于 ViT,预训练权重可直接复用。

但 CNN 仍有优势:

  • 归纳偏置:平移等变性、局部性,对细粒度定位任务更友好。
  • 计算效率:高分辨率输入时,CNN 的 FLOPs 增长更平缓;ViT 的 attention 复杂度随分辨率平方增长。

实际系统中,高分辨率场景(如文档 OCR、医学影像)有时会采用 CNN+ViT 混合高分辨率 ViT(如 ViT-H/14)来缓解。

#249. 图像特征如何接入 LLM?有哪些主流方案?

#知识点

  • 线性投影 (Linear Projection)
  • Q-Former (BLIP-2)
  • Perceiver Resampler (Flamingo)
  • Cross-attention
  • Adapter 层

#详细解答

把视觉特征接入 LLM 的核心问题是:视觉编码器输出的特征维度、长度与 LLM 的输入空间不一致,需要"桥梁"层做对齐。

方案一:线性投影(LLaVA 等) 最简单直接:ViT 输出的 patch features 过一个可学习的线性层,映射到 LLM 的 embedding 维度,直接拼到文本 token 序列中。优点是实现简单、训练稳定;缺点是视觉 token 数量多(如 576 个 patch),会显著增加 LLM 的计算量。

方案二:Q-Former(BLIP-2) 引入一个轻量的 transformer 作为查询网络:用少量可学习的 query tokens(如 32 个)去"查询"视觉特征,输出固定数量的视觉 embedding。这样无论输入图像分辨率多高,接入 LLM 的视觉 token 数固定,减轻计算压力。

方案三:Perceiver Resampler(Flamingo) 类似 Q-Former,但采用 Perceiver 架构:latent array 作为查询,视觉特征作为 KV,通过 cross-attention 压缩视觉信息到固定长度。

方案四:Cross-attention 层(Flamingo 等) 直接在 LLM 层间插入 cross-attention 层,让文本 token 去 attend 视觉特征,而非把视觉 token 拼到输入序列。优点是视觉和文本流解耦,可灵活处理多图;缺点是需修改 LLM 架构。

#250. 为什么 VLM 训练通常分阶段(stage-wise)?

#知识点

  • 预训练对齐、指令微调
  • 灾难性遗忘
  • 数据效率、计算成本
  • LLM 冻结/解冻策略

#详细解答

VLM 训练普遍采用两阶段或三阶段策略,不是随意设计,而是工程与稳定性权衡的结果:

阶段一:预训练对齐(Alignment) 用大规模图文对数据(如 LAION、CC12M)训练视觉-语言对齐层(如投影层、Q-Former),而视觉编码器和 LLM 通常冻结。目的是让视觉特征空间与 LLM 的语义空间初步对齐。如果此时就开放 LLM 训练,大规模弱监督数据很容易"带偏"语言模型,导致灾难性遗忘。

阶段二:指令微调(Instruction Tuning) 用高质量、多样化的多模态指令数据(如 LLaVA-Instruct、SVIT)微调,此时通常会解冻 LLM 或部分层。这一步让模型学会按人类指令形式回答视觉相关问题。数据质量比数量更重要,通常只有几十到几百 K 量级。

阶段三(可选):强化学习或特定任务优化 如用 RLHF 提升回答风格,或在特定下游任务(如文档理解、GUI 操作)上进一步适配。

分阶段的核心价值:

  • 降低训练成本:预训练阶段冻结 LLM,只训练轻量对齐层。
  • 保护语言能力:避免海量弱监督图文数据污染 LLM 的语义知识。
  • 数据效率:不同阶段用不同性质的数据,逐步精细化。

#251. 细粒度视觉理解(如目标定位)如何注入 VLM?

#知识点

  • 视觉提示 (Visual Prompt)
  • 坐标编码、框标记
  • 指代表达理解 (Referring Expression)
  • Grounding 任务设计

#详细解答

让 VLM 不仅能"描述图像",还能"指出具体位置",需要在模型设计和训练数据两方面做文章。

坐标编码方式

  1. 文本化坐标:把边界框坐标 (x1,y1,x2,y2) 作为文本 token 直接输出,最简单但要求 tokenizer 支持数字。
  2. 离散化位置 token:定义特殊 token(如 <loc_1><loc_1000>),把连续坐标离散化到网格,类似 Pix2Seq。
  3. 连续值嵌入:用额外的 MLP 把坐标嵌入成向量,拼接到序列中(如 Shikra 的做法)。

视觉提示输入

  • 在图像上直接画框/箭头/掩码,再送入视觉编码器,让模型"看"到标记位置。
  • 或用额外的坐标 token 序列作为输入,告诉模型"关注这里"。

训练数据: 需要视觉定位标注,如 RefCOCO(指代表达)、Visual Genome(场景图)、OCR 带坐标标注等。模型需要学会把文本描述(如"左边的红杯子")与图像区域关联。

#252. 视频理解相比图像理解的核心难点是什么?

#知识点

  • 时序建模、动作识别
  • 长序列压缩、关键帧采样
  • 显存与计算压力
  • 标注成本

#详细解答

视频理解不只是"看多张图",而是需要理解随时间变化的关系

时序建模难点

  • 动作与事件:很多动作只看单帧无法判断(如"打开"vs"关闭"),需要连续多帧的时序上下文。
  • 长程依赖:事件因果关系可能跨越数十秒甚至分钟级,如何有效建模长时序是关键。

工程难点

  • 输入规模:1 分钟视频 @ 30fps = 1800 帧,逐帧过 ViT 计算量爆炸。必须做采样(如每秒抽 1 帧)或压缩(如视频编码器)。
  • 显存压力:长序列的 attention 复杂度是二次方,即便只采样 60 帧,576*60=34560 个视觉 token 也超出大多数 GPU 容量。

解决思路

  1. 时序采样策略:均匀采样 + 事件触发加密采样。
  2. 视频专用编码器:如 Video Swin Transformer、TimeSformer(时空分解注意力),或直接用视频预训练模型(如 InternVid)。
  3. 特征压缩:先过视频编码器得到 clip-level 特征,再接入 LLM,而非原始帧。
  4. 记忆机制:用 Q-Former、Memory Bank 等方式压缩历史信息。

#253. 多模态指令微调与纯文本 SFT 有何差异?

#知识点

  • 数据格式、模态交错
  • 损失函数设计(只看文本部分)
  • 数据配比、多轮对话
  • 系统指令设计

#详细解答

数据格式差异: 多模态指令数据需要表示"图在哪里、文字在哪里"。常见格式如:

<image>img_path</image>
Human: 这张图里有什么?
Assistant: 图中有一只猫在...

需要 tokenizer 支持特殊标记,或在预处理时把图像特征插入到对应位置。

损失计算差异: 纯文本 SFT 计算整个序列的 loss。多模态 SFT 通常只对文本部分计算 loss,视觉部分(图像 token)是输入而非预测目标。实现上通过 attention mask 或 labels 掩码实现。

数据配比挑战

  • 纯文本能力容易退化:如果多模态数据占比太高,模型的纯文本对话能力会下降。
  • 解决方案:混合纯文本指令数据(如 ShareGPT)和多模态数据,比例通常在 1:1 到 5:1 之间。

多轮对话: 多轮场景下需要处理"历史图像"的引用。例如第二轮问"它是什么颜色?","它"指代第一轮提到的图像中的物体。需要模型保持跨轮视觉上下文。

#254. VLM 的幻觉问题与纯文本 LLM 有何不同?

#知识点

  • 视觉幻觉、描述不匹配
  • 训练数据噪声、图文不匹配
  • 指令跟随 vs 事实准确性
  • 缓解策略

#详细解答

VLM 幻觉的独特性

  1. 物体幻觉:描述图像中不存在的物体(如把云说成羊),或属性错误(把白猫说成黑猫)。
  2. 关系幻觉:物体间空间关系、动作关系描述错误(如"A 在 B 左边"实际是右边)。
  3. 过度推断:基于语言先验"脑补"图像中看不到的信息。

成因差异

  • 数据层面:图文对数据常有噪声(图文不匹配),弱监督预训练让模型学会"胡说"。
  • 模态融合:视觉编码器可能丢失细粒度信息,LLM 部分过度依赖语言先验填补空白。
  • 指令压力:SFT 阶段模型被训练成"必须回答",即便不确定也会编造。

缓解策略

  1. 数据清洗:用 CLIP score 过滤低质量图文对,用人类反馈标注正确性。
  2. 对抗训练:让模型学会说"不确定"或"图中没有"。
  3. 多尺度验证:结合 object detector 验证物体存在性,或引入指代表达理解做 grounding。
  4. RLHF:对齐人类对"准确描述"的偏好,惩罚幻觉性回答。

#255. 如何评估 VLM 的视觉理解能力?

#知识点

  • 传统 VQA benchmark
  • 细粒度评估(OCR、计数、定位)
  • 多模态对话评估
  • 幻觉检测 benchmark

#详细解答

VLM 评估需要多维度,不能只看单一指标:

基础理解

  • VQA v2、OK-VQA:测试常识视觉问答。
  • TextVQA、DocVQA:测试 OCR 和文档理解。
  • GQA:结构化推理,需要多步视觉推理。

细粒度能力

  • POPE 幻觉检测:专门测物体幻觉的 benchmark。
  • MMBench、MM-Vet:多任务综合评估,涵盖 OCR、细粒度识别、空间关系等。
  • RefCOCO:指代表达理解,测定位能力。

开放式评估

  • LLaVA-Bench、MT-Bench:多轮对话质量,用 GPT-4 作为 judge 打分。
  • 人类评估:视觉描述的准确性、完整性、幻觉程度。

关键指标

  • 准确率(VQA)
  • F1、CIDEr(描述任务)
  • 幻觉率(POPE)
  • GPT-4 辅助打分(相关性、准确性、完整性)

#256. LLaVA、MiniGPT-4、BLIP-2 的架构差异是什么?

#知识点

  • 冻结/解冻策略
  • 对齐层设计
  • 训练数据规模
  • 端到端训练

#详细解答

特性 BLIP-2 MiniGPT-4 LLaVA
视觉编码器 EVA-ViT EVA-ViT CLIP ViT
对齐层 Q-Former 线性投影 线性投影
LLM OPT/Flan-T5 Vicuna Vicuna/LLaMA
预训练 冻结视觉+LLM,训练 Q-Former 冻结视觉+LLM,训练投影 冻结视觉+LLM,训练投影
指令微调 无(需后续工作如 InstructBLIP) 有,高质量指令数据 有,端到端指令微调
端到端 否(阶段分离) 否(阶段分离) 是(可解冻 LLM)

关键差异

  • BLIP-2 核心是 Q-Former 的轻量对齐,视觉和语言模型完全冻结。优势是训练极快(数小时),缺点是无法充分激发 LLM 能力。
  • MiniGPT-4 用简单线性投影,但强调高质量指令数据(用 ChatGPT 精炼描述)。分两个阶段:先对齐、再指令微调。
  • LLaVA 是最简洁的设计:CLIP ViT + 线性投影 + Vicuna。后续版本(LLaVA-1.5)优化了训练数据配比和分辨率处理,成为许多后续工作的基础架构。

架构趋势:从复杂的 Q-Former 向简单的线性投影回归,更多精力放在数据质量训练策略上。