【读论文】Improved Baselines with Visual Instruction Tuning (LLaVA 1.5)

Improved Baselines with Visual Instruction Tuning

摘要

  1. LLaVA 框架的简单连接器非常有效
    • 现有的 LLaVA 使用的全连接(fully-connected)视觉-语言连接器,其实非常强大且数据高效。
  2. 通过小改进达到 SOTA 性能
    • 改进一:将视觉编码器升级为 CLIP-ViT-L-336px,并使用 MLP(多层感知机)做投影层
    • 改进二:加入 学术任务导向的 VQA 数据,并设计 响应格式提示(Response Format Prompts),比如要求回答时明确输出单词或短语
  3. 训练成本极低
    • 只用 120 万公开数据(训练+微调),在 单节点 8 块 A100 显卡上仅需约一天时间,相比其他 LMM 非常高效
  4. 全面超越现有基线
    • 论文所提出的模型在 11 个主流基准测试 上都达到了新的最佳成绩(SoTA),包括 VQA、GQA、MME、MMBench 等

引言

现有挑战

虽然很多模型都在进步,但 到底怎么训练一个高质量的多模态模型,还没有统一的最佳方法

作者目标

系统性地研究 LMM 的设计,主要从三个方面出发:

  1. 输入设计(Input)
  2. 模型结构(Model)
  3. 训练数据(Data)

核心发现

  • LLaVA 的简单全连接视觉-语言连接器非常强大,且数据效率极高
  • 两个简单改进:
    1. 把视觉-语言连接器换成 MLP
    2. 加入学术型任务数据(特别是 VQA),并设计回答格式提示
  • 这些小改动让模型显著提升,甚至超越了复杂模型

相关工作

视觉-语言对齐

  • 目标:让视觉特征能够映射到语言空间
  • 方法:
    • 使用 CLIP 作为视觉编码器(提取图像特征)
    • 使用 预训练的大语言模型(LLM)
    • 视觉特征通过一个简单的 全连接投影层(Linear Layer),或者改进版中的 MLP 投影层,映射到语言模型的输入空间

视觉指令微调

  • 目标:让模型学会根据用户指令完成视觉任务(如对图片提问、对图片写博客等)
  • 方法:
    • 使用更复杂、更有指导性的指令数据
    • 加入 响应格式提示(Response Format Prompt),引导模型根据不同任务输出不同格式(简答、长回答、JSON 等)

语言模型选择

Vicuna v1.5(基于 LLaMA-2)效果最好

相关工作

指令跟随的多模态模型

基本架构

  • 视觉编码器(Visual Backbone):通常用 CLIP,负责提取图像特征
  • 语言模型(LLM):负责理解用户指令并生成答案
  • 视觉-语言连接器(Vision-Language Connector)
    • LLaVA 使用简单的 全连接层(linear projection),直接将视觉特征映射到语言输入空间
    • 有些模型(如 InstructBLIP、Qwen-VL)使用更复杂的 视觉重采样器(Visual Resampler,例如 Qformer),将视觉特征压缩后输入语言模型

训练阶段

  1. 视觉-语言对齐训练
  2. 视觉指令微调
  3. 额外: 高分辨率输入

多模态指令数据

数据质量

数据质量非常关键, 直接决定模型效果

数据生成策略

详情请见 LLaVA 1 论文
【读论文】Visual Instruction Tuning (LLaVA)
用 gpt-4 扩展 COCO 数据集的图文数据, 生成多模态指令

方法

基础

  • LLaVA 原版使用 简单的单层全连接投影层,把 CLIP 提取的视觉特征映射到语言模型输入空间
  • LLaVA 很擅长自然对话类视觉推理,但在学术 VQA(如简短答案、是非题)上表现不佳
  • InstructBLIP 用了更复杂的 Qformer 视觉重采样器和更大数据集(1.29 亿图文对),更擅长学术任务,但容易生成格式错乱或回答片面,且不擅长自然对话

响应格式提示

关键问题

InstructBLIP 无法平衡:

  • 学术任务(短答案,偏 VQA)
  • 自然对话(长回答,偏 LLaVA)
    原因:
  • 提示语不明确,容易让语言模型习惯性输出短答案

解决方案

在问题后 明确提示答案格式:
以 xxxxx 格式回答这个问题

效果

改成明确的提示后, 模型性能显著提升

数据与模型扩展

改进 1:MLP 视觉-语言连接器

  • 原本 LLaVA 只用单层线性映射,作者改成两层 MLP
  • 类似自监督学习中的 MLP 改进,可以更好地捕捉视觉特征

改进 2:引入更多学术任务数据

  • 加入 OKVQA、OCRVQA、TextCaps 等数据集
  • 加入 Region-level VQA(如 Visual Genome、RefCOCO)提升细节定位能力

改进 3:支持更高分辨率

  • 把视觉编码器从 CLIP-ViT-L-14 (224x224) 升级为 CLIP-ViT-L-336px
  • 输入更大图片,提升细节感知

更高分辨率扩展

现有的 CLIP 视觉解码器有着输入限制
作者的创新设计:

  • 将输入图片划分为多个 224×224 小图(Grid 划分)
  • 分别送入 CLIP 编码器,提取特征后拼接
  • 加入一个低分辨率的全图特征,提供全局上下文,避免拼接带来的信息丢失

实验评估

基准测试

1. 学术任务类(偏短答案)

  • VQA-v2:视觉问答,短答案为主
  • GQA:复杂视觉推理
  • VizWiz:真实场景(盲人用户拍摄)视觉问答,检验零样本泛化能力
  • ScienceQA-IMG:科学类视觉问题,多选题
  • TextVQA:文字视觉问答,OCR能力要求高

2. 多模态指令跟随类(偏自然对话)

  • POPE:检验模型是否会产生视觉幻觉(数据细分:随机、常见、对抗样本)
  • MME:多模态感知能力,是非题为主
  • MMBench / MMBench-CN:多样化多选题,中文数据也做了测试
  • SEED-Bench:包含图片和视频的综合测试
  • LLaVA-Bench-in-the-Wild:真实场景多样化自然对话测试
  • MM-Vet:复杂多轮视觉对话,重点检验语言理解与视觉结合能力

实验结果

LLaVA-1.5 在 12 个测试中全面优于所有现有主流模型

  • 提升分辨率(336×336 → 448×448)后,模型对细节描述、OCR、区域定位的能力进一步提升
  • LLaVA-1.5 多轮对话能力显著强于 BLIP-2 和 InstructBLIP
  • POPE 测试表明:LLaVA-1.5 的幻觉率显著降低
  • LLaVA-1.5 的中文泛化能力 优于 Qwen-VL-Chat(尽管 Qwen 专门做过中文微调),作者推测是 ShareGPT 数据的多语言泛化起了关键作用

涌现能力

  1. 格式泛化
  2. 多语言泛化
  3. 组合泛化能力

开放问题

数据效率

消融实验的结论:

  • 将训练数据随机采样减少至 50%,LLaVA-1.5 的性能依然保持 98% 的效果
  • 数据量减少 70%,大多数任务性能几乎不降,有些甚至微弱提升(可能存在数据冗余)
  • 说明 LLaVA-1.5 训练非常高效,未来可以进一步优化数据选择

多模态模型可能存在“Less is More(少即是多)”的潜力,参考 NLP 领域的 LIMA 论文(2023)对这一观点的支持

幻觉问题

  • 输入分辨率越低,模型幻觉越严重
  • 提升输入分辨率后,幻觉大幅减少
  • 提示:数据细节标签的质量和输入分辨率必须匹配,才能有效缓解幻觉

模型产生幻觉的核心原因,可能是:

  • 模型对输入细节感知不足(低分辨率信息丢失)
  • 如果数据标签(比如图像描述)细节超过了模型的感知能力,模型容易编造内容

总结

  •  LLaVA-1.5 是一个简单、高效且效果强大的大规模多模态模型(LMM)新基线。

  • 该模型:

    • 训练所用数据量极小(全部公开数据,训练成本低)
    • 训练时间极短(单节点 8 * A100,约 1 天)
    • 性能全面超过现有模型(InstructBLIP、Qwen-VL 等)
  • 设计了更优的 响应格式提示(Response Format Prompting),有效解决了短答案与长答案任务冲突的问题

  • 提出了使用 MLP 视觉-语言连接器,简单但有效

  • 通过支持 高分辨率输入,大幅降低幻觉(hallucination)现象

  • 显示了 LLaVA-1.5 具有 组合泛化能力,支持多任务切换、多语言对话等

限制与未来方向

  1. 高分辨率训练仍然会显著增加训练时间
  2. 目前模型不支持 多图输入(multi-image understanding)
  3. 在某些特定领域(如复杂推理、专业学科问题)仍存在局限
  4. 虽然幻觉减少,但 幻觉问题并没有完全解决,尤其是在高风险场景(如医学、金融)仍需谨慎使用
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计