
项目:
github:
一句话优点:
1、极大简化了VLM的训练方式:Pre-training + Instruction Tuning
2、训练量得到简化:1M量级数据+ 8卡A100 → 一天完成训练
LLaVA
LLaVA是2023的连续工作,包含了LLaVA 1.0, 1.5, 1.6几个版本(后续会有更多),也是2023年多模态领域妥妥的顶流。发表9个月620的stars,GitHub超过12K的stars。
LLaVA它的网络结构简单、微调成本比较低,任何研究组、企业甚至个人都可以基于它构建自己的领域的多模态模型。
非常建议对多模态大模型感兴趣的朋友关注LLaVA这篇工作。
简介
LLaVA通过使用机器生成的指令遵循数据对大型语言模型(LLMs)进行指令调优,已经在新任务上提高了零样本能力,但在多模态领域,这一想法还没有被充分探讨。在本文中,首次尝试使用GPT-4生成多模态语言-图像指令遵循数据。通过对这些生成数据进行指令调优,作者引入了LLaVA:一个大型语言和视觉助手。LLavA是一个端到端训练的大型多模态模型,将视觉Encoder和LLM连接起来,用于通用视觉和语言理解。实验表明,LLaVA展示了很强的多模型聊天能力,有时会展示出在未见过的图像/指令上的类似于GPT-4v的表现,并在一个合成的多模态指令遵循数据集上获得了与相比于GPT-4 85.1%的相对分数。在Science QA上进行微调时,LLaVA和GPT-4的协同作用实现了新的SOTA准确率92.53%。
Contributions
LLaVA的贡献包括以下几个方面:
- 多模态指令跟随数据。由于缺乏视觉-语言指令跟随数据,作者利用ChatGPT/GPT-4提出了一种将图像文本对转换成适当的指令跟随格式的数据重新构造方法。
- 大型多模态模型。作者开发了一个大型多模态模型(LMM),通过将CLIP的开放集视觉编码器与语言解码器Vicuna相连接,并在我们生成的指令视觉语言数据上进行端到端微调。证明了使用生成数据进行LMM指令调优的有效性,并为构建通用的指令跟随视觉代理提供了实用建议。当与GPT-4集成时,我们的方法在Science QA多模态推理数据集上实现了最佳性能。
- 多模态指令跟随基准测试。作者提出了LLaVA-Bench,包括两个具有挑战性的基准测试,其中包含多样化的配对图像、指令和详细注释。
- 开源。包括生成的多模态指令数据、代码库、模型文件等。
GPT-assisted Visual Instruction Data Generation
作者利用gpt4,给定图像的caption,或者boundingbox坐标信息 生成三种形式(conversation, detailed description, complex reasoning)的response作为最终的visual instruction

下面是作者使用的生成response的prompts

网络架构

ViT:CLIP ViT-L/14224px(LLaVA 1.5用的是CLIP ViT-L/14-336px)Text:Vicuna 13B(推理)- Projection:
MLP * 2(Linear → GELU → Linear) 类似翻译官(编译器)的角色
架构设计时,主要考虑要复用已有的LLM和Visual预训练模型。Projection scheme选择非常轻量的MLP是为了能够快速的实验迭代。
训练方法
- 阶段一:特征对齐的预训练(Pre-training for Feature Alignment)。
- 阶段二:端到端微调(Fine-tuning End-to-End)。
文章同时做了一些ablation study,一些值得关注的结论:
1、视觉特征提取:使用ViT倒数第二层的Features更有利
2、思维链CoT:发现“先生成reason再生成answer” 相比“先生成answer再生成reason” 仅对模型快速收敛有帮助,对最终的性能 上限的提升没帮助。
3、Pre-train:证明了pre-train的有效性,pre-train+scienceQA finetune 相对比 直接在ScienceQA train from scratch 会提升5.11%。
4、模型大小:7B比13B的低1.08%,印证了越大的LLM对整体的性能越有利。
5、涌现能力:LLaVA 的一个有趣的涌现行为是它能够理解训练中未涵盖的视觉内容。此外LLaVA 还展示了令人印象深刻的 OCR能力。
LLaVA 1.5
作者在LLaVA 1.0发布后半年左右,推出了LLaVA 1.5。
LLaVA-1.5在11个基准测试中达到了SoTA水平,仅通过对原始LLaVA进行简单修改,利用约一百万量级的数据,超越了使用十亿规模数据的方法。
搬上超强直观的雷达图,各项指标超越BLIP-2、InstructBLILP、Qwen-VL-Chat。

基于LLaVA的改动点
- 明确指定输出格式的提示:为了解决短文本 VQA 和长文本 VQA 之间的兼容问题,在短文本回答中明确指定了输出格式的提示。例如,通过在问题文本的末尾添加特定的短语,如想要短回答时加上“Answer the question using a single word or phrase”,模型能够基于用户的指示适当地调整输出格式。
- 使用 MLP 作为视觉-语言连接器:使用了两层 MLP 作为视觉-语言连接器,以增强连接器的表达能力。相比LLaVA的单个线性投影层,显著提升了多模态能力。
- 添加特定任务的数据集:为了强化模型在不同能力上的表现,研究者不仅添加了 VQA 数据集,还专注于 OCR 和区域级别识别的四个数据集。这些数据集包括需要广泛知识的 VQA(如 OKVQA 和 A-OKVQA)、需要 OCR 的 VQA(如 OCRVQA 和 TextCaps)等。
- 规模扩大。
和其他模型的对比结果
- 12个任务中有11个都是第一,另一个是第二。
- 该方法在单一8块A100节点上大约1天内完成训练,并超越了那些使用十亿级别数据的方法(指的Qwen-VL)。

计算成本
对于LLaVA-1.5,我们使用与LCS-558K1相同的预训练数据集,并在进行指令微调时保持与LLaVA [28]大致相同的训练迭代次数和批次大小。由于将图像输入分辨率提高到了336像素,因此LLaVA-1.5的训练时间约为LLaVA的两倍:预训练阶段大约需要6小时,视觉指令微调阶段大约需要20小时,使用的是8块A100显卡。
几点不足
- 首先,LLaVA利用完整的图像patch,可能会延长每个训练迭代。而视觉重采样器减少了LLM中的视觉patch数量,但目前它们不能像LLaVA那样有相当数量的训练数据时有效收敛,可能是因为重采样器中的更多可训练参数。开发一个样本效率高的视觉重采样器可以为未来扩展指令遵循多模态模型铺平道路。
- 其次,由于缺乏这样的指令遵循数据和上下文长度的限制,LLaVA-1.5还无法处理多个图像。
- 第三,尽管LLaVA-1.5展示了遵循复杂指令的熟练程度,但其问题解决能力在某些领域仍可能受到限制,这可以通过更强大的语言模型和高质量的针对性视觉指令调谐数据来改进。
- 最后,尽管其幻觉的倾向显著减少,但LLaVA不免偶尔产生幻觉和传播错误信息,在关键应用中(例如医疗)仍应谨慎使用。
LLaVA 1.6(LLaVA-NEXT-240130)
🔖 https://llava-vl.github.io/blog/2024-01-30-llava-next/
概述
LLaVA-NeXT,它在推理、OCR和世界知识方面实现了显著提升,甚至在多个基准测试上超过了Gemini Pro的表现。
相较于LLaVA-1.5,LLaVA-NeXT有如下改进:
- 将输入图像分辨率提高了4倍,使得它可以捕捉到更多视觉细节。它支持三种不同的宽高比,最高可达672x672、336x1344、1344x336的分辨率。
- 通过改进视觉指令微调数据混合,提升了视觉推理和OCR能力。
- 对更多场景下的视觉对话功能进行了优化,覆盖了不同应用领域,并增强了世界知识和逻辑推理能力。
- 采用SGLang实现高效的部署和推理。
伴随着性能的提升,LLaVA-NeXT继续保持了LLaVA-1.5的极简主义设计和数据效率。它重用了LLaVA-1.5预先训练的连接器,并且仍然使用少于100万的视觉指令微调样本。最大的340亿参数版本在配备32块A100显卡的情况下,约1天即可完成训练。代码、数据和模型将会公开提供。
动态高分辨率
在高分辨率下设计模型,旨在保持其数据效率。当提供高分辨率图像和保留这些细节的表示时,模型感知图像中复杂细节的能力得到显著提高。它减少了模型在面对低分辨率图像时产生的视觉内容幻觉。作者提出的“AnyRes”技术旨在适应各种高分辨率图像。作者采用 {2×2,1×{2,3,4},{2,3,4}×1}{2×2,1×{2,3,4},{2,3,4}×1} 的网格配置,平衡性能效率与运行成本。

亮点:
- 表现卓越!LLaVA-NeXT相比开源的大型多模态模型(如CogVLM或Yi-VL)取得了最佳性能表现。相较于商业模型,它在部分基准测试中已达到与Gemini Pro相当的水平,并超越了Qwen-VL-Plus。
- 零样本中文能力。LLaVA-NeXT具备新兴的零样本中文能力(即仅考虑英文多模态数据训练)。其在中文多模态场景中的表现令人惊讶,例如在MMBench-CN上取得最优结果。
- 训练成本低。LLaVA-NeXT使用32块GPU进行约1天的训练,总共使用了130万个数据样本。其计算量和训练数据成本仅为其他模型的1/100至1/1000,展现出极低的训练成本优势。
评估
下面是和其他多模态大模型的对比结果。

Llava-onevision

模型结构还是延续之前的结构,主要是增加了对于大图和多图和视频的支持
为了在性能和成本之间取得平衡,作者观察到分辨率的缩放比token数量的缩放更有效,并推荐了带有池化的 AnyRes 策略

训练流程
- Stage-1:视觉和文本特征对齐
- Stage-1.5: 高质量知识学习
- Stage-2:视觉指令微调

数据

