LLaVA
模型架构目标是结合预训练LLM和视觉模型的能力,llava使用Vicuna作为的LLM (语言解码器),CLIP作为视觉编码器。
训练过程分两阶段:
LLaVA 1.5
LLaVA1.5是LLaVA改进版本,主要在网络结构、数据集规模上进行改进。
LLaVA 1.5模型结构还是之前的llava模型结构,但是做了一些小修改:
- 将视觉-语言连接器由线性投影修改成一个两层的mlp(前期文章的NVLM-D也是两层的mlp链接视觉-语言模型);
- 将224分辨率的视觉编码器修改为336pix的视觉编码器(带有MLP投影的CLIP-ViT-L-336px)。其余还是llava的模型结构。
另外,LLaVA 1.5在sft数据、相应格式上做了些改进,有兴趣看看原文。LLaVA 1.5还引入了高分辨率输入,这种方法允许模型扩展到任意分辨率,同时保持数据效率。
LLaVA-1.5-HD。通过将图像分割成网格并独立编码,对LLaVA-1.5进行更高分辨率的缩放。这使得模型能够缩放到任何分辨率,而无需对ViT执行位置嵌入插值。还拼接下采样图像的特征,以向LLM提供全局上下文。
当将图像分辨率扩展到448×448时,LLaVA-1.5-HD在所有基准测试上的整体性能进一步提高,特别是在需要图像细节感知任务上。
LLaVA 1.5 致力于解决的主要问题为:怎样在受控的环境下设计多模态大模型(MLLM),以及如何在 LLaVA 框架内进行视觉指令的调优工作。确切而言,其研究重点聚焦于通过简易的调整来优化 LLaVA 的性能表现,进而令其在多项基准测试中取得最先进的成果。
LLaVA-NeXT(LLaVA-1.6)
与LLaVA-1.5相比,LLaVA-NeXT有几个改进:
- 将输入图像分辨率提高到 4 倍像素。这使其能够掌握更多视觉细节。它支持三种宽高比,最高分辨率为 672x672、336x1344、1344x336。
- 通过改进的视觉指令调整数据混合,实现更好的视觉推理和 OCR 能力。
- 更好的视觉对话,适用于更多场景,涵盖不同的应用。更好的世界知识和逻辑推理。
- 使用SGLang进行高效部署和推理。
- 语言模型侧:使用更大更强的LLM来提升多模态能力:基于最新的LLaMA3 8B、Qwen-1.5 72B 和Qwen-1.5 110B,LLaVA-NeXT可以继承更好的视觉世界知识和逻辑推理能力。
LLaVA-NeXT(Video)
相比LLaVA-NeXT改进点:
- 使用 AnyRes 实现零样本视频表示能力: AnyRes 技术可以自然地将高分辨率图像表示为经过预先训练的 VIT 能够消化的多个图像,并将它们形成一个串联序列。该技术可以自然推广到表示视频(由多个帧组成),从而使仅经过图像训练的 LLaVA-Next 模型在视频任务上表现出色。值得注意的是,这是 LMM 首次展示出强大的零样本模态迁移能力。AnyRes:从多块到多帧:LLaVA-NeXT 中引入的AnyRes算法在处理任何高分辨率图像时实现了性能效率和操作成本之间的最佳平衡。它将图像分割成具有各种配置的子图像网格,例如 {2x2, 1x{2,3,4}, {2,3,4}x1}。说明 AnyRes 将一组图像消化为一系列连接的视觉标记,从而实现统一的图像和视频输入,这自然支持从多图像到多帧的演变只需进行细微调整,LLaVA-NeXT 便可以处理以 {1xN} 网格排列的N 个视频帧。假设每帧包含 24x24 个标记,则视频的总标记数将为 24x24xN。但是,考虑到 LLM 的“max_token_length”限制为 4096,确保 24x24xN + 文本标记数 < 4096 以避免无意义的输出至关重要。这需要在每帧的标记数和总帧数之间进行仔细的平衡。例如,应用步幅为 2 的空间池化可将每帧的标记数从 24x24 减少到 12x12,最多可容纳 16 帧。我们的研究结果表明,在 16 帧中配置 12x12 个标记可获得最佳性能。但是,16 帧可能不足以捕捉大多数视频的精髓。接下来,我们重点关注如何让 LLaVA-NeXT 处理更多帧。
- 具有长度泛化的推理可改善较长视频的性能。线性缩放技术可实现长度泛化,从而使 LLaVA-NeXT 能够有效处理超出 LLM 的“max_token_length”限制的长视频。长度泛化:从多帧到长视频:受到 LLM 中处理长序列的最新进展的启发,例如在旋转位置嵌入 (RoPE) 中实现线性缩放,我们在 LLaVA-NeXT 中应用了类似的缩放方法。例如,通过引入缩放因子 2,我们有效地将模型的“max_token_length”容量翻倍,使其能够处理最多 8192 个 token 的序列。借助这种技术,LLaVA-NeXT 可以处理最多 56 帧,每帧 token 数为 12x12,大大扩展了模型在分析较长视频序列方面的适用性。长度泛化的说明,用于处理具有更多帧的长序列,其中推理中的序列长度可能比训练中的序列长度更长。这种线性缩放的调整不仅有利于处理更多帧,而且为 LLaVA-NeXT 在综合视频分析中的应用开辟了新的途径,为该领域的未来研究树立了先例。
- 强大的视频理解能力。(1)LLaVA-Next-Image结合了上述两种技术,与针对视频进行调整的开源 LMM 相比,其零样本性能更出色。(2)LLaVA-Next-Video是对视频数据进行进一步监督微调 (SFT) 的 LLaVA-Next-Image,与 LLaVA-Next-Image 相比,其视频理解能力更佳。(3)LLaVA-Next-Video-DPO使用直接偏好优化 (DPO) 将模型响应与 AI 反馈对齐,性能显著提升。LLaVA-Next-Video-DPO(AI反馈直接偏好优化):基于 人类反馈的强化学习 (RLHF) 的最新进展有效地指导LLMs生成更诚实、有用且无害的内容。它们在多式联运环境中的有效性仍然有限。关键的障碍在于(1)开发一个强大的奖励系统,能够区分偏好的响应和不太偏好的响应,以及(2)从人类那里获取高质量的偏好数据既昂贵又费力,特别是对于多帧的视频输入。作为一种经济高效的替代方案,我们最近的研究 LLaVA-Hound考虑了使用LLM奖励的人工智能反馈。DPO 用于基于LLM生成的偏好数据来训练 LMM,其中视频以其详细的字幕作为支持证据。按照相同的方法,基于更强的 SFT LMM LLaVA-NeXT-Video 探索 DPO,从而形成最终模型 LLaVA-NeXT-Video-DPO。
- 使用SGLang进行高效部署和推理。它使视频任务的推理速度提高了 5 倍,从而实现了更具可扩展性的服务,例如百万级视频重新字幕。
参考文献
- Visual Instruction Tuning,https://arxiv.org/pdf/2304.08485
- Improved Baselines with Visual Instruction Tuning,https://arxiv.org/pdf/2310.03744
- LLaVA-NeXT: Improved reasoning, OCR, and world knowledge,https://llava-vl.github.io/blog/2024-01-30-llava-next
- A Strong Zero-shot Video Understanding Model,https://llava-vl.github.io/blog/2024-04-30-llava-next-video