type
status
date
slug
summary
tags
category
icon
password
上次编辑时间
Nov 25, 2024 05:22 AM
LLaVA → LLaVA-1.5 → LLaVA-NEXT(改进视觉指令微调数据混合)
LLaVA 主要做的是 VQA 任务,即输入一张图片和一个问题,LLaVA 可以给出文本的答案。因此 LLaVA 主要涉及两个模态:图像和文本。
LLaVA 的对齐方式相对来说比较简单,只有简单的线性层。LLaVA 的模型架构如下图所示,LLM 选择的是 Vicuna,图像编码器选择的是 CLIP 的 ViT-L/14,中间增加了一个线性层 W 将图像特征转换为跟文本 Embedding 相同维度,再一起输入到 LLM 中。
LLaVA-1.5基于LLaVA的改动点
使用 MLP 作为视觉-语言连接器:使用了两层 MLP 作为视觉-语言连接器,以增强连接器的表达能力。相比LLaVA的单个线性投影层,显著提升了多模态能力。
下面的代码直接打印一下模型结构看一下,更加直观,
mm_projector
是由两个Linear
层组成的。通过这一步,视觉编码器输出的图像特征可以和预训练的LLM的词向量对齐。这个阶段可以理解为为冻结的LLM训练一个兼容的visual tokenizer。
LLaVA-NEXT-video
具有 AnyRes 的零样本视频表示能力:AnyRes 技术自然地将高分辨率图像表示为多个预训练的 VIT 能够消化的图像,并将它们形成一个连接的序列。这种技术自然可推广用于表示视频(由多个帧组成),使仅经过图像训练的 LLaVA-Next 模型在视频任务上表现得非常好。值得注意的是,这是 LMM 首次显示出强大的零样本模态转换能力。
通过少量代码调整,LLaVA-NeXT 可以处理排列在{1xN}网格中的 N 个视频帧.同时通过在旋转位置嵌入(RoPE)中实现线性缩放,LLaVA-NeXT 可以处理多达 56 帧,每帧的 token 数为 12x12,显著扩大了模型在分析更长视频序列中的适用性。
使用混合图像和视频数据的批次进行训练表现最佳,而其他策略的表现甚至不如LLaVA-NeXT-Image模型。
LLaVA-NeXT-Interleave
同时解决多图像、多帧(视频)、多视图(3D)和多块(单图像)场景中的任务。该工作提出了一种通用的交错数据格式模板,构建了包含117.76万条样本的 M4-Instruct 数据集,涵盖4个主要领域、14种任务和41个数据集。同时,作者还设计了 LLaVA-Interleave Bench,用于全面评估多图像任务的性能。
LLaVA-OV-Chat
值得注意的其他内容
数据集的演进
LLaVA
特征对齐的预训练:
从CC3M中过滤了595K的图文对。这些图文对被改造为指令跟随数据(instruction-following data):
- 每个样本是一个单轮对话。
- 预测结果是图像的原始描述文本
端到端微调:
多模态对话机器人:利用158K语言-图像指令跟随数据对Chatbot进行了微调开发。在这三种类型的回答中,对话型是多轮交互式的,而其他两种则是单轮交互式.同时结合ScienceQA数据集,在提出的LLaVA-Instruct-158K数据集上训练.
LLaVA-1.5
为了强化模型在不同能力上的表现,研究者不仅添加了 VQA 数据集,还专注于 OCR 和区域级别识别的四个数据集。这些数据集包括需要广泛知识的 VQA(如 OKVQA 和 A-OKVQA)、需要 OCR 的 VQA(如 OCRVQA 和 TextCaps)等。
LLaVA-NeXT-Interleave
整理了一个综合数据集 M4-Instruct,包含 1177.6K 个训练样本,覆盖多图像、多帧和多视角场景,涉及 14 个任务和 41 个数据集,同时还包含单图像数据以保留基本的指令遵循能力。
大多数多图像数据集来源于现有的公共工作,并经过严格转换为所需的数据格式,参考了 DEMON 和 Mantis。此外利用 GPT-4V 标注了 3 个新任务以实现更多样化的能力:真实世界差异(Real-world Difference)、合成差异(Synthetic Difference) 和 推特帖子(Twitter Post)。
在视频数据方面,使用了 LLaVA-Hound 的 255k 子集,包括 240k 的视频问答数据和 15k 的视频字幕数据,同时还引入了 NExT-QA 和 STAR 数据集进行训练。
在 3D 数据方面,使用了来自 Nuscenes QA、ALFRED、ScanQA 和 3D-LLM 的 3D 数据。
在单图像数据方面,使用了原始 LLaVA-NeXT 单图像数据的 40%。
LLaVA-Video-178K
一个高质量的视频指令微调合成数据集。该数据集包括:
- 178,510 条字幕条目
- 960,792 条开放式问答对
- 196,198 条多选问答项目
LLaVA-bench
它包含两个版本:一个较小的迭代版本,包含120个示例,以便快速评估;以及一个中等规模的版本,包含1020个示例,以进行全面测量。这些数据集涵盖了多种场景,如数学问题解决、图像理解、代码生成、视觉AI辅助和基于图像的推理。为了构建这些数据集,从在线服务中收集了反映现实用户需求的指令和图像。随后,仔细筛选样本以解决隐私问题并减轻潜在危害。对这些提示的响应使用GPT4-V生成。
LLaVA-Interleave Bench
将多图像推理任务分为两类:
- 域内评估(In-domain Evaluation)
用于测试模型在训练中“见过”的任务场景中的表现,验证其在熟悉任务中的能力。采用了 7 个与训练数据集对应的新整理多图像任务,以及 2 个现有基准(Q-Bench 和 NLVR2),共计 12.9K 样本。
- 域外评估(Out-domain Evaluation)
用于测试模型在未见过的任务场景中的泛化能力。构建了 2 个新任务(多图像数学与科学理解)并使用 3 个现有基准(Mantis-Eval、BLINK 和 MMMU),共计 4.1K 样本。
相关研究
Emu3(Next-Token Prediction)
将图片或者文本转化为离散token,然后合并后输入到大模型里,大模型输出结果再通过tokenizer转化为图片或者文本,这种方式与show-o类似,二者使用的tokenizer都是vq-vae(离散)的架构,区别仅仅在于具体的模型不一样,如show-o使用的是magvit,而emu3使用的是SBER-MoVQGAN 5。
Show-o
论文链接:2408.12528
统一了多模态理解和生成,既能完成多模态大模型的理解,又能完成生成模型的生成。与完全自回归模型不同,Show-o统一了自回归和(离散)扩散建模,以自适应地处理各种和混合模态的输入和输出。统一模型灵活地支持各种视觉语言任务,包括视觉问答,文本到图像生成,文本引导的修复/外推和混合模态生成。
show-o的prompt以任务令牌为开头,包括<MMU>、<T2I>,接着跟上图像或文本token,图像的token以<SOI>和<EOI>为开头和结束,而文本的token以<SOT>和<EOT>为开头和结束。
Show-o通过因果注意对序列中的文本标记v进行建模。对于图像标记u,Show-o通过全注意力处理它们,允许每个标记与所有其他相关标记全面交互。给定一个格式化的输入序列,很明显,在多模态理解中(下图(a)),序列中的文本标记可以涉及所有先前的图像标记,而在文本到图像生成中(下图(B)),图像标记能够与所有先前的文本标记交互。全注意保持了预训练LLM的文本推理知识,减少了采样次数,提高了图像生成效率。此外,它自然支持各种下游应用,如图像修复和外推,而无需任何微调。当只给予文本标记时,它退化为因果注意(下图(c))
- Author:Waang Rui
- URL:https://atrionline.me//article/llava-next
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts