60 秒回答模板

我会先从目标任务倒推微调方案,因为多模态大模型微调不是简单把图文数据喂进去。第一步定义任务和数据形态,例如 caption、VQA、OCR、图表理解、视觉定位、多轮图文问答,分别需要不同标注和评测。第二步清洗数据,保证图文匹配、答案可验证、图片分辨率和裁剪策略一致,去掉重复、低质、泄漏和冲突样本。第三步定架构训练范围:视觉编码器可以冻结或小步解冻,投影层通常负责把视觉特征对齐到 LLM token 空间,LLM 部分可用 LoRA 或部分层训练;资源有限时先训 projector 和 LoRA,避免全量微调。第四步做阶段化训练,先做图文对齐或 projector warmup,再做指令微调,必要时做偏好对齐或安全对齐。第五步统一指令模板和 loss mask,明确 image token 位置、多图顺序、system/user/assistant 包装和只对 assistant 计算 loss。最后评测要同时看语言能力、视觉 grounding、OCR/定位/图表等任务指标、幻觉率、格式遵循、通用能力回归和推理成本。好的答案要体现数据、架构、训练和评估是一套闭环。

考点 任务先定义
难度 真实面经题
回答目标 让候选人能给出一个可落地的多模态 LLM 微调方案,覆盖目标任务、数据清洗、模块训练、模板、阶段化训练、评测和回归防护。

深入解析

01

目标任务决定数据和训练范围

多模态微调首先要明确要提升什么能力:图片描述、视觉问答、OCR、图表理解、商品识别、视觉定位、多图比较或图文对话。不同任务对数据粒度要求不同,caption 更看覆盖和描述质量,OCR 看文本标注和分辨率,定位看框或区域 grounding,多轮问答看上下文一致性。

02

数据清洗比模型技巧更关键

需要检查图文是否匹配、图片是否损坏、标注是否和图片内容一致、答案是否可由图片支持、是否有重复图片或泄漏测试集、是否存在敏感或版权风险、是否有模板化无信息答案。多模态数据一旦错配,模型会学到错误视觉关联,后续靠超参很难修复。

03

视觉编码器和投影层承担不同职责

视觉编码器负责提取图像特征,投影层负责把视觉特征映射到 LLM 可理解的表示空间。常见保守策略是冻结视觉编码器和 LLM 主体,先训练 projector,再用 LoRA 或部分层微调 LLM。若目标任务需要强 OCR、细粒度视觉或新图像域,才考虑小学习率解冻视觉侧部分层。

04

阶段化训练降低不稳定性

一个稳妥流程通常分为视觉语言对齐、指令微调和偏好/安全对齐。对齐阶段让视觉 token 能进入语言空间;指令阶段学习用户任务和回答格式;偏好阶段改善事实性、拒答、简洁性或多轮体验。直接把所有数据混在一起训练,容易出现语言能力漂移和视觉 grounding 不稳定。

05

模板和 loss mask 决定指令遵循

多模态样本要统一 image token、文本顺序、多图编号、system prompt、user/assistant 分隔符和结束符。训练时一般只对 assistant 答案计算 loss,不能让模型学习用户问题或图片占位符本身。推理时模板必须和训练一致,否则模型可能看到了图但回答格式混乱。

06

超参要适配跨模态任务

需要关注图片分辨率、patch/token 数、最大上下文长度、batch size、梯度累积、学习率分组、投影层学习率、LoRA rank/alpha、混合精度和显存成本。高分辨率会提升细节任务但显著增加 token 和显存;低分辨率省成本但可能伤 OCR 和小目标。

07

评测必须覆盖视觉真实性

除了常规语言评测,还要看 VQA 准确率、OCR 准确率、caption 指标、图表问答、定位 grounding、幻觉率、多图一致性、格式合规和人工偏好。还要设置无图、错图、干扰图样本,检测模型是否真正使用视觉信息,而不是凭语言先验猜答案。

08

回归防护防止语言和安全退化

多模态微调可能提升视觉任务却损害纯文本能力、拒答策略、事实性或输出格式。因此上线前要保留纯文本通用集、安全集、格式集和历史多模态失败集。若采用 LoRA,还要版本化 adapter、模板、图像预处理和推理分辨率,保证训练推理一致。

易错点

  • 把多模态微调说成普通文本 SFT 加图片,忽略视觉编码器、projector 和 image token 对齐。
  • 不区分 caption、VQA、OCR、定位等任务,导致数据和指标都泛泛而谈。
  • 忽略图文错配、重复图片、测试泄漏和低质标注,直接讨论学习率和 LoRA。
  • 训练和推理使用不同图片预处理、分辨率或对话模板,却把失败归因于模型不够大。
  • 全量解冻所有模块但没有足够数据和回归集,导致语言能力和安全能力回退。
  • 只用语言 judge 评估多模态答案,不验证视觉 grounding 和错图场景。
  • 没有设计多图顺序、image token 位置和 loss mask,导致模型回答格式或上下文错乱。
  • 只报告 VQA 或 caption 单项指标,不看幻觉率、纯文本能力、成本和线上延迟。

面试官追问

什么时候冻结视觉编码器,什么时候解冻?

如果目标图像域接近预训练分布、数据量有限、资源有限,优先冻结视觉编码器,只训 projector 和 LLM adapter。若需要新领域细粒度视觉、OCR 或视觉特征明显不适配,可以小学习率解冻后几层,并加强回归评测。

projector 训练的作用是什么?

projector 把视觉编码器输出映射到 LLM 能消费的表示空间。没有对齐好的 projector,LLM 即使语言能力强,也可能无法稳定理解视觉 token 的语义。

如何判断模型真的用到了图片?

可以构造无图、错图、相似干扰图和局部遮挡样本,看回答是否随视觉证据变化;同时用 OCR、定位、计数、多图比较等语言先验难以猜中的任务评估。

多模态指令模板最容易出什么问题?

常见问题是 image token 位置训练推理不一致、多图没有编号、角色分隔符错、答案被截断、assistant loss mask 错,或者推理时 system prompt 改变导致格式漂移。

数据量少时怎么微调更稳?

优先使用高质量小数据、冻结大部分参数、只训 projector 或 LoRA、降低学习率、早停,并混入通用多模态和纯文本回归样本,避免在窄数据上过拟合。

多模态微调后幻觉变多怎么办?

先检查训练数据是否存在与视觉内容无关的答案或过度猜测,再加入拒答和不确定性样本,评估错图/无图场景,必要时用 DPO 或规则约束偏好,让模型在视觉证据不足时说明无法判断。