真实面经题目 · 原创解析

VLM 做 SFT 后过度依赖文本、忽略图像并产生视觉幻觉时,如何从数据、loss mask、图文对齐、hard negative 和评测切片排查修复?

这题考 VLM 训练排障能力。重点不是泛泛说“加图像数据”,而是要从 SFT 数据比例、文本捷径、loss mask、视觉 token 利用、图文对齐、hard negative、消融实验和评测切片系统定位:模型是没有看视觉信息,还是看了但对齐差,还是评测集暴露了特定幻觉类型。

出现于:美团 · 算法

60 秒回答模板

VLM 做 SFT 后过度依赖文本、忽略视觉输入并产生幻觉,我会先用消融确认问题形态:同一个问题换成空白图像、随机图像、错误配对图像或遮挡关键区域,如果回答几乎不变,就说明模型在走文本捷径;如果只在颜色、数量、位置、OCR 或小物体上错,说明是细粒度 grounding 不足;如果开放问答里经常说出不存在的物体,说明对象幻觉和语言先验过强。 排查数据时要看 SFT mix。很多视觉指令数据的问题文本本身含有强提示,或者答案可以靠常识和语言共现猜出来;还有一些 caption 数据过于模板化,物体共现偏置强,导致模型看到“餐桌”就补“盘子、杯子”,看到“街道”就补“汽车、行人”。修复时要提高需要视觉证据才能回答的数据比例,加入同文本不同图像、同图像不同问题、反事实属性、缺失物体判断、局部定位、OCR、计数、空间关系和拒答样本,并控制纯文本 SFT 数据不要淹没多模态梯度。 loss mask 也很关键。通常只对 assistant answer 计算语言建模 loss,不应让模型学习复述用户问题、系统提示或工具模板;对答案中凭视觉证据的 span 可以提高权重或加入 grounding loss,要求对象、属性、位置和区域对应。还要检查视觉编码器、投影层和 LLM 是否都在合理训练:如果视觉侧冻结过多、学习率太低或图像 token 被截断,模型即使有多模态样本也可能学不到视觉条件。最后用 hard negative 和切片评测闭环验证,不能只看总分上涨。

考点 先证明模型没用视觉
难度 真实面经题
回答目标 让面试官看到你能用工程化排障方法定位 VLM SFT 后的文本偏置,并能从数据、loss、对齐、负例和评测闭环给出可执行修复方案。

深入解析

01

先用消融判断是否忽略视觉输入

把原始图像替换为空白、随机、相似但关键属性不同、错误配对或局部遮挡,再比较输出。如果回答稳定不变,说明文本先验过强;如果只在某些属性变化时失败,就定位到更具体的 grounding 维度。

02

检查 SFT 数据 mix

视觉指令数据、caption 数据、OCR 数据、纯文本对话和安全数据的比例会直接影响模型依赖哪种信号。纯文本或弱视觉样本过多,会让 LLM 延续语言能力而忽略视觉 encoder;模板 caption 过多,会强化共现幻觉。

03

排查文本捷径

很多训练样本的问题里已经暗示答案,例如问“这只红色杯子在哪里”时,即使图像没有红色杯子,模型也可能顺着问题回答。要加入存在性判断、无法确定、问题前提错误、同问题换图像等样本,迫使模型用视觉证据校验文本前提。

04

loss mask 要对齐训练目标

SFT 通常只监督 assistant 输出,避免把用户问题和系统模板作为预测目标。对涉及对象、属性、数量、位置、OCR 的答案,可以做 span 权重、区域对齐或辅助 grounding 目标,让梯度更集中到视觉证据相关 token。

05

图文对齐要到细粒度

仅有整图 caption 不足以解决幻觉。需要区域框、短语定位、属性标签、计数、空间关系、OCR 框和多轮指代表达等更细的对齐信号。否则模型可能知道大概场景,却在具体物体和属性上靠语言先验补全。

06

hard negative 是修复关键

hard negative 应围绕模型最容易猜错的地方构造:相似物体、相似颜色、相邻位置、常见共现但实际不存在的物体、数字差一、文本 OCR 相近、同 caption 不同图像、同图像反事实问题。训练和评测都要覆盖这些样本。

易错点

  • 只说增加多模态数据,没有检查文本捷径和纯文本数据比例。
  • 不做空白、错配、遮挡消融,就直接判断模型忽略视觉输入。
  • loss mask 把用户问题和模板也当成训练目标,强化了语言先验。
  • 只有普通 caption 数据,没有对象存在、属性、位置、计数和 OCR 的细粒度对齐。
  • 评测只看总分,不看对象幻觉、属性幻觉和长尾类别切片。

面试官追问

如何判断是数据问题还是模型结构问题?

先做数据消融和冻结消融。调高高质量视觉 grounding 数据比例后如果明显改善,多半是数据和训练目标问题;如果图像扰动仍几乎不影响输出,要检查视觉 token 是否传入、投影层是否训练、cross-attention 是否有效、图像分辨率和 token 裁剪是否损失关键区域。

loss mask 具体怎么改?

基础做法是只对 assistant answer 计算 loss,屏蔽用户输入和系统模板。进一步可以对视觉证据相关 span 加权,或加入区域-词对齐、对象存在性、属性分类、OCR 读取等辅助 loss,但要避免权重过大损害语言流畅性和指令遵循。

hard negative 怎么构造最有效?

从 badcase 频次最高的错误出发构造。比如模型总把筷子说成勺子,就采相似餐具;总把不存在的人补出来,就采无人场景中的常见人类活动文本;总数错,就采数量相差一的样本。关键是负例要难,但标注必须准确。

评测集怎么设计切片?

至少包含对象存在性、属性颜色、数量、空间关系、OCR、细粒度类别、遮挡小目标、常见共现误导、问题前提错误和开放描述。每个切片都要记录准确率、拒答合理性、幻觉率和图像扰动敏感性。