跳转至

Learning to Instruct for Visual Instruction Tuning

会议: NeurIPS 2025
arXiv: 2503.22215
代码: https://github.com/Feng-Hong/L2T
领域: 多模态VLM
关键词: visual instruction tuning, L2T, MLLM, loss function, hallucination, captioning

一句话总结

提出 L2T(Learning to Instruct),仅通过将训练损失扩展到指令序列(不再只在回答上计算 loss)来改善视觉指令调优——无额外数据和几乎零计算开销,在 16 个多模态基准上获得高达 9% 的相对提升,captioning 提升 18%,同时缓解幻觉。

研究背景与动机

  1. 领域现状:视觉指令调优(VIT)是构建 MLLM 的标准流程——预训练对齐视觉-语言特征,微调阶段在指令数据上端到端训练。标准做法是仅在回答序列上计算自回归损失,指令序列被 mask 掉不参与损失计算。
  2. 现有痛点:VIT 存在过拟合和捷径学习风险——模型可能忽视视觉内容,仅依赖语言先验(language priors)就能给出看似合理的回答。例如纯语言模型在没有图像输入的情况下也能回答许多 VQA 问题。
  3. 核心矛盾:仅在回答上计算损失导致模型学会的是"如何跟随指令格式回答"而非"如何理解图像内容"。过度强调指令跟随能力,忽视了对视觉信息的主动理解。
  4. 本文要解决什么:用最小的改动让 MLLM 更好地利用视觉信息,减少对语言捷径的依赖。
  5. 切入角度:如果模型也需要预测指令本身(如"描述这张图片"),那它必须理解图像内容才能知道什么样的指令是合理的——这迫使模型更关注视觉输入。
  6. 核心idea一句话:把 loss mask 从仅回答扩展到指令+回答,让模型同时学会"问什么"和"答什么",zero-cost 正则化。

方法详解

整体框架

基于 LLaVA 架构(视觉编码器 + 连接器 + LLM),在微调阶段将损失函数从仅计算回答序列扩展到指令+回答序列。预训练阶段不变(因为预训练指令是固定模板,与图像无关)。

关键设计

  1. L2T 损失扩展:
  2. 做什么:将训练损失从仅预测回答扩展到同时预测指令和回答
  3. 标准 VIT 损失:\(\mathcal{L} = -\sum_{i=1}^{L_A} \log p_\theta(\mathbf{X}_{A,i}|\mathbf{X}_V, \mathbf{X}_I, \mathbf{X}_{A,<i})\)
  4. L2T 损失:\(\mathcal{L} = \underbrace{-\sum_{i=1}^{L_I} \log p_\theta(\mathbf{X}_{I,i}|\mathbf{X}_V, \mathbf{X}_{I,<i})}_{\text{Learn to Instruct}} \underbrace{-\sum_{i=1}^{L_A} \log p_\theta(\mathbf{X}_{A,i}|\mathbf{X}_V, \mathbf{X}_I, \mathbf{X}_{A,<i})}_{\text{Learn to Respond}}\)
  5. 设计动机:学习生成指令迫使模型关注图像内容(要知道图中有什么才知道该问什么),同时隐式扩展训练数据量

  6. 模板去除(Template Removal):

  7. 做什么:从指令损失中排除与图像无关的模板 token
  8. 两类模板:(a) 系统模板——角色定义、USER/ASSISTANT 标记等;(b) 任务模板——高频低信息的任务类型指示(如"Describe the image"这类固定模板)
  9. 识别方法:统计训练集中所有句子的频率,选择最高频的作为任务模板去除
  10. 设计动机:只学习有意义的、与图像内容相关的指令部分,避免模型学到无关的格式信息

  11. 视觉贡献度分析(Visual Contribution, VC):

  12. 做什么:量化视觉输入对回答预测的实际贡献
  13. 公式:\(\text{VC} = \log p_\theta(\mathbf{X}_A|\mathbf{X}_V, \mathbf{X}_I) - \log p_\theta(\mathbf{X}_A|\mathbf{X}_V=\emptyset, \mathbf{X}_I)\)
  14. 发现:L2T 的 VC 比 VIT 提升 9%,证实模型确实更依赖视觉输入
  15. 注意力可视化:L2T 的注意力权重在视觉 token 上更强

训练策略

仅在微调阶段应用 L2T(预训练阶段指令是固定模板,不含视觉相关信息)。严格遵循 TinyLLaVA/LLaVA 1.5/LLaVA-NeXT 的训练配方,唯一改变是损失函数的 mask 策略。

实验关键数据

主实验

在 5 种模型架构上的 16 个基准评测(相对提升):

模型 General VQA 综合基准 Chart/Doc/OCR Captioning 总体
TinyLLaVA-0.5B +1.5% +1.8% +8.8% +17.6% +6.2%
TinyLLaVA-3B +0.5% -0.4% +3.5% +3.4% +1.4%
LLaVA-1.5-7B +0.7% +1.5% +5.8% +8.2% +3.5%
LLaVA-1.5-13B +0.2% +0.6% +4.3% +5.3% +2.2%
LLaVA-NeXT-7B +1.1% +4.0% +8.2% +7.2% +4.5%

Captioning 提升最大(最高 17.6%),因为描述任务最需要视觉理解。

消融实验

配置 效果
全指令计算 loss(含模板) 有提升但不如去除模板
L2T + 模板去除 最优
仅预训练阶段 L2T 无效(预训练指令是固定模板)
仅微调阶段 L2T 有效(微调指令与图像相关)

关键发现

  • 越小的模型受益越大:TinyLLaVA-0.5B 提升 6.2% vs 13B 提升 2.2%——小模型更容易过拟合语言先验
  • Captioning 和 OCR 任务受益最大:这些任务最需要模型"真正看图"而非依赖语言先验
  • 幻觉评估(POPE、CHAIR 等)也显著改善——减少语言先验依赖直接减少幻觉
  • Visual Contribution 提升 9%——量化证据表明模型确实更多地使用了视觉信息
  • 注意力权重可视化显示 L2T 在视觉 token 上激活更强

亮点与洞察

  • 极致简洁的改进:只改了损失函数的 mask 策略——从 mask 掉指令变为不 mask 指令。这种"一行代码级别"的改动获得大幅提升,说明当前 VIT 的训练设计存在基本缺陷。
  • 正则化视角:指令损失作为正则化器,隐式扩展了训练数据量(原来只学 \(L_A\) 个 token,现在学 \(L_I + L_A\) 个),同时强制模型关注视觉信息。
  • 模板去除的重要性:不是所有指令 token 都有用——去掉与图像无关的模板 token 后效果更好,说明精确定义"什么是有意义的学习内容"很关键。
  • 通用可迁移:方法与模型架构正交,可以直接叠加到任何 VIT 框架上。

局限性 / 可改进方向

  • 指令损失的权重是否应该和回答损失一样?未探索不同权重比例 \(\lambda_I \mathcal{L}_I + \lambda_A \mathcal{L}_A\) 的影响
  • 为什么这种简单改动如此有效的深层理论解释还不够充分——是正则化效应、隐式数据增强还是两者兼有?
  • 多轮对话场景中指令损失的效果需进一步验证——多轮对话的指令可能更复杂且依赖上下文
  • 可以探索更精细的 token 级重要性加权(而非简单的模板/非模板二分)——例如根据视觉相关度加权每个指令 token
  • 在视频 MLLM 和更大规模模型(如 70B+)上的效果需验证

相关工作与启发

  • vs 标准 VIT (LLaVA): LLaVA 仅在回答上计算 loss,L2T 扩展到指令+回答。方法正交且完全兼容。
  • vs 其他幻觉缓解方法: 多数方法需要额外数据或特殊训练策略,L2T 是零成本改进。
  • 与课程学习/数据增强的关系:L2T 可视为一种隐式数据增强——用同一数据学习更多内容,类似于多任务学习的正则化效果。

评分

  • 新颖性: ⭐⭐⭐⭐ 极简改动(仅改 loss mask)带来 9% 相对提升,暴露了 VIT 的基本设计缺陷
  • 实验充分度: ⭐⭐⭐⭐⭐ 5种模型架构+16个基准+消融+Visual Contribution 量化分析+注意力可视化
  • 写作质量: ⭐⭐⭐⭐ 简洁有力,动机清晰,VC 指标的引入为视觉利用度量化提供了新工具
  • 价值: ⭐⭐⭐⭐⭐ 零成本即可获得的 VLM 训练改进,可直接叠加到所有 VIT 框架