猫先生写本文的契机来自于《一文读懂多模态大模型(MLLM)》,此综述系统性地介绍了MLLM的基本思想、主要方法和当前进展!
猫先生认为有必要找到一个经典的模型,对其深入浅出地进行技术梳理,这样能够让我们能够对图像到视频的内容理解有一个更加深刻的认识,因此,本篇关于LLaVA系列技术文章就诞生了!!
本文整体脉络将从 LLaVA -> LLaVA1.5 -> LLaVA1.6 -> LLaVA-NeXT(Video) 模型进行展开,分别介绍其各项技术亮点和模型架构,力求对多模态大模型在图像和视频内容理解上的应用进行深入浅出的解读!!
同时,欢迎大家关注「魔方AI空间」,将发布更多干货文章,敬请期待!!!
LLaVA系列相关论文汇总:
LLaVA:《Visual Instruction Tuning》
论文链接:https://arxiv.org/pdf/2304.08485
LLaVA 1.5:《Improved Baselines with Visual Instruction Tuning》
论文链接:https://arxiv.org/pdf/2310.03744
LLaVA-Next(1.6) :《LLaVA-NeXT: Improved reasoning, OCR, and world knowledge》
博客链接:https://llava-vl.github.io/blog/2024-01-30-llava-next/
LLaVA-NeXT(Video): A Strong Zero-shot Video Understanding Model
博客链接:https://llava-vl.github.io/blog/2024-04-30-llava-next-video/
代码地址:https://github.com/haotian-liu/LLaVA
一、LLaVA
论文简介
LLaVA(Large Language and Vision Assistant),第一个尝试使用仅语言的GPT-4生成多模态语言-图像指令遵循数据,并通过指令调优来训练大型多模态模型。
使用机器生成的指令跟随数据进行指令调优大语言模型( LLMs )提高了语言领域新任务的零样本能力,但这一想法在多模态领域的探索较少。
多模态指令数据:首次尝试使用纯语言 GPT-4 来生成多模态语言图像指令跟踪数据。 LLaVA模型:一种端到端训练的多模态大模型,连接视觉编码器和LLM以实现通用视觉和语言理解。
实验表明,LLaVA 表现出令人印象深刻的多模型聊天能力,有时在未见过的图像/指令上表现出多模态 GPT-4 的行为,并且与合成多模态指令跟随数据集上的 GPT-4 相比,产生了 85.1% 的相对分数。在Science QA上进行微调后,LLaVA 和 GPT-4 的协同作用达到了 92.53% 的新的最先进准确率。
引言
人类通过与视觉和语言等多种渠道互动来与世界交流,因为每个单独的渠道在表示和传达特定概念方面都有独特的优势,从而有助于更好地理解世界。人工智能的一个核心愿景是开发一种通用的助手,能够有效地遵循多模态的视觉和语言指令,与人类意图一致地完成各种现实世界任务。
该工作研究难点包括:缺乏视觉-语言指令数据、如何有效地将图像特征转换为语言嵌入、以及如何在多模态任务中实现高效的指令跟随。
方法架构
LLaVA提出视觉指令调优的方法,用于解决多模态指令跟随问题。
1. GPT辅助视觉指令数据生成
作者提出了一种基于ChatGPT/GPT-4的数据生成方法,将图像-文本对转换为适当的指令跟随格式。使用COCO图像并生成三种类型的指令跟随数据。如表1所示(在文章的附录部分表14有对应表1的详细内容)。
欢迎加入自动驾驶实战群
● 对话:作者设计了一个助手和一个人之间的对话,这个人正在询问关于这张照片的问题。答案听起来就像助手正在看到图像并回答问题一样。对图像的视觉内容提出各种各样的问题,包括对象类型、计数对象、对象动作、对象位置、对象之间的相对位置。只有那些有明确答案的问题才被考虑。
● 详细描述:为了为图像提供一个丰富而全面的描述,作者创建了一个具有此类意图的问题列表。引导GPT-4然后对列表进行整理(详见附录中的详细提示和整理过程)。对于每张图片,从列表中随机抽取一个问题,让GPT-4生成详细描述。
● 复杂推理:上述两种类型都关注于视觉内容本身,基于此作者进一步创建深入的推理问题。答案通常需要一个逐步的推理过程,遵循严格的逻辑。
作者总共收集了158K个独特的图像语言指令跟随样本,包括58K个对话,23K个详细描述,以及77k个复杂推理。
2. 模型架构
作者设计了一个多模态模型LLaVA,通过连接CLIP的开放集视觉编码器和Vicuna的语言解码器来实现。具体架构如下:
视觉编码器:输入图像 Xv 经过CLIP视觉编码器得到视觉特征Zv。 预训练的LLM:使用Vicuna作为语言模型fϕ(⋅),参数为ϕ。 模态接口:考虑一个简单的线性层来将图像特征连接到词嵌入空间。具体来说,作者应用一个可训练的投影矩阵W将 Zv 转换为语言嵌入令牌Hv,这些令牌与语言模型中的词嵌入空间的维度相同:
3. 训练细节
对于每个图像 Xv,生成多轮对话数据 (Xq1,Xa1,⋯,XqT,XaT),其中 T 是轮数。将它们组织成一个序列,将所有答案视为助手的响应,并在第 t 轮的指令 Xinstruct 视为:
训练的目标就是如公式3的最大似然概率,就是每一步token预测的最大概率乘积,Xq是问题、Xv是图像、Xinstruct是****指令,θ是每个阶段可训练的参数。
对于LLaVA模型训练,作者提出一个两阶段指令调优过程。
● 阶段1:特征对齐预训练:在CC3M数据集上进行预训练(将CC3M过滤到595K个图像-文本对),保持视觉编码器和LLM权重不变,只更新投影层,最大化图像特征与预训练LLM词嵌入的对齐概率。
● 阶段2:端到端微调:在生成的指令数据上进行微调,更新投影层和LLM的权重,分别使用对话、详细描述和复杂推理数据。
作者提出两个具体的用例场景:
● 多模态聊天机器人:在158K语言-图像指令跟随数据进行微调,开发了一个聊天机器人。在这三种类型的响应中,对话是多轮的,而其他两种是单轮的。它们在训练中均匀采样。
● 科学问答:在ScienceQA基准上研究了该方法,这是第一个大规模的多模态科学问题数据集,它用详细的讲座和解释来注释答案。每个问题都以自然语言或图像的形式提供上下文。助手以自然语言提供推理过程,并从多个选项中选择答案。
实验设计
实验设置:所有模型在8x A100s上进行训练,预训练在过滤后的CC-595K子集上进行1个epoch,学习率为2e-3,批量大小为128;微调在生成的LLaVA-Instruct-158K数据集上进行3个epoch,学习率为2e-5,批量大小为32。
实验设计:实验包括两个主要部分:多模态聊天机器人和科学问答数据集。多模态聊天机器人用于评估模型的图像理解和对话能力;科学问答数据集用于评估模型的多模态推理能力。
结果分析
多模态聊天机器人:LLaVA在多模态聊天机器人实验中表现出色,能够准确回答用户的问题,并提供详细的描述和复杂的推理。与BLIP-2和OpenFlamingo相比,LLaVA在对话、详细描述和复杂推理任务上的表现均优于对手。
科学问答数据集:在科学问答数据集上,LLaVA在无图像上下文的问题上达到了90.92%的准确率,接近当前最优方法MM-CoTBase的91.68%。通过与GPT-4的集成,LLaVA的最终准确率达到了92.53%,刷新了现有方法的记录。
二、LLaVA 1.5
LLaVA1.5版本在LLaVA的第一个版本基础上,主要进行了网络结构、数据集规模上的改进!!
论文简介
在本文中,首次系统研究了在LLaVA框架下,在受控设置中LMM的设计选择。
在LLaVA框架基础上进行简单的修改,使用带有MLP投影的CLIP-ViT-L-336px,并添加面向学术任务的VQA数据以及响应格式提示,建立更强的基线。
同时对LMMs中的开放问题进行了初步探索,包括扩展到更高分辨率输入、组合能力以及模型幻觉等。
引言
多模态大模型(MLLM)在视觉指令调优方面显示出令人鼓舞的进展。例如,LLaVA 和 MiniGPT-4 在自然指令跟随和视觉推理能力上展示了令人印象深刻的结果。
为了更好地理解LMMs的能力,提出了多个基准测试。最近的工作进一步通过扩大预训练数据、指令跟随数据、视觉编码器或语言模型来提高性能。
LLaVA架构也在不同的下游任务和领域得到了利用,包括区域级和像素级理解、生物医学助手、图像生成、对抗研究。
LLaVA1.5要解决的问题主要是如何在受控设置下设计多模态大模型(MLLM),并在LLaVA框架下进行视觉指令调优。具体来说,研究了如何通过简单的修改来提高LLaVA的性能,使其在各种基准测试中达到最先进的结果。
方法架构
该工作提出通过改进LLaVA的设计选择来解决大型多模态模型的训练问题。具体来说,
1、响应格式提示:为了解决模型在处理短形式答案和长形式答案之间的平衡问题,提出了一种单一的响应格式提示,明确指出输出格式。例如,在VQA问题上,提示为“使用一个单词或短语回答问题”。
2、MLP视觉语言连接器:受自监督学习中从线性投影到MLP改进性能的启发,提出使用两层MLP来提高LLaVA的多模态能力,而不是原始的线性投影。
3、学术任务导向数据:进一步包括了额外的学术任务导向的VQA数据集(如VQA-v2、OCR和区域级感知),以增强模型在各种任务上的能力。
4、高分辨率输入:通过将图像分割成网格并独立编码,提出了一种扩展LLaVA-1.5以支持更高分辨率输入的方法。这种方法允许模型扩展到任意分辨率,同时保持数据效率。
实验设计
数据收集:最终训练数据混合包含了多种数据集,包括VQA、OCR、区域级VQA、视觉对话和语言对话数据。具体数据集包括LLaVA、ShareGPT、VQA-v2、GQA、OKVQA、OCRVQA、A-OKVQA、TextCaps、RefCOCO和VG。
样本选择:对于每个数据集,QA对来自同一训练图像的被合并为一个对话。对于ShareGPT,过滤掉无效的对话,并将超过2048个token的长对话截断而不是分割成多个对话。
训练细节:使用最新的Vicuna v1.5作为基础LLM,LLaVA-1.5使用与原始LLaVA相同的超参数,除了预训练阶段的学习率减半,因为使用了MLP投影层而不是原始的线性投影层设计。
结果分析
基准测试:LLaVA-1.5在12个基准测试中取得了最佳的整体性能,尽管使用的预训练和指令调优数据比其他方法少得多。LLaVA-1.5在指令跟随LMM的所有基准测试中显著优于LLaVA。
高分辨率输入:当将图像分辨率扩展到448×448时,LLaVA-1.5-HD在所有基准测试上的整体性能进一步提高,特别是在需要图像细节感知任务上(如MM-Vet中的OCR)。
数据效率:随机下采样LLaVA-1.5的训练数据混合高达75%并不会显著降低模型性能,这表明可以进一步改进数据压缩策略以提高LLaVA的训练效率。
模型泛化能力:LLaVA-1.5在多语言视觉对话任务中表现出良好的泛化能力,尽管没有针对多语言多模态指令跟随进行微调。
三、LLaVA-NeXT(LLaVA-1.6)
简介
继LLaVA 1.5之后的又一版本,LLaVA-NeXT,具有改进的推理、OCR和世界知识,且在多项基准测试中超过了 Gemini Pro。
技术亮点:
SoTA性能:与CogVLM或Yi-VL等开源 LMM 相比,LLaVA-NeXT 实现了最佳性能。与商用产品相比,它在选定的基准测试中赶上 Gemini Pro 并优于Qwen-VL-Plus 。 零样本中文能力:LLaVA-NeXT 的中文能力是一种新兴的零样本能力(即仅考虑英文多模态数据)。 训练成本低:LLaVA-NeXT 使用 32 个 GPU 训练约 1 天,总共 130 万个数据样本。计算/训练数据成本比其他方法小 100-1000 倍。
详细的改进点:
与LLaVA-1.5相比,LLaVA-NeXT有几个改进:
将输入图像分辨率增加至 4 倍像素。这使得它能够掌握更多的视觉细节。它支持三种宽高比,最高可达672x672、336x1344、1344x336分辨率。 通过改进的视觉指令调优数据混合,提供更好的视觉推理和OCR功能。 更好的视觉对话,更多场景,覆盖不同应用,以及更好的世界知识和逻辑推理。 使用SGLang进行高效部署和推理。
1. 动态高分辨率
以高分辨率设计模型,旨在保持其数据效率。当提供高分辨率图像和保留这些细节的表示时,模型感知图像中复杂细节的能力会显着提高。它减少了面对低分辨率图像时猜测想象的视觉内容的模型幻觉。“AnyRes”技术旨在适应各种高分辨率的图像。采用网格配置 {2×2,1×{2,3,4},{2,3,4}×1} ,平衡性能效率与运营成本。
2. 数据混合
高质量的用户指令数据。对高质量视觉指令跟随数据的定义取决于两个主要标准:
任务指令的多样性,确保充分代表现实世界场景中可能遇到的广泛用户意图,特别是在模型部署阶段。 响应的优越性至关重要,目的是征求有利的用户反馈。
为了实现这一目标,作者考虑两个数据源:(1)现有的 GPT-V 数据:LAION-GPT-V和ShareGPT-4V 。(2) 为了进一步促进更多场景下更好的视觉对话,收集一个涵盖不同应用的小型 15K 视觉指令调优数据集。指令和图像来自LLaVA 演示,这是真实世界用户的请求。我们仔细过滤可能存在隐私问题或可能有害的样本,并使用 GPT-4V 生成响应。
多模式文档/图表数据。(1) 我们从训练数据中删除TextCaps ,因为我们意识到 TextCaps 使用与TextVQA相同的训练图像集。这使我们能够在开发过程中评估 TextVQA 时更好地了解模型的零样本 OCR 功能。为了保持并进一步提高模型的 OCR 能力,我们用 DocVQA 和 SynDog-EN 替换 TextCaps。(2) 在Qwen-VL-7B-Chat的推动下,我们进一步添加了 ChartQA、DVQA 和 AI2D,以更好地理解图表和图表。
3. 扩展LLM骨干
除了Vicuna-1.5( 7B和13B )之外,还考虑更多的LLMs ,包括Mistral-7B和Nous-Hermes-2-Yi-34B 。这些LLMs拥有良好的性质、灵活的商业使用条款、强大的双语支持和更大的语言模型容量。它让LLaVA能够支持社区更广泛的用户和更多的场景。LLaVA 适用于各种LLMs ,并且可以顺利扩展到 34B 的LLM 。
模型卡
测试结果
四、LLaVA-NeXT(Video)
简介
2024 年 1 月 30 日,发布 LLaVA-NeXT,这是一种开源多模态大模型,专门针对文本图像数据进行了训练。借助所提出的 AnyRes 技术,增强了推理、OCR和世界知识的能力,在一系列基于图像的多模态理解任务中展现了卓越的性能,甚至在多个图像基准(例如 MMMU 和 MathVista)上超过了 Gemini-Pro。
在2024年4月30日发布Video版本,作者深入研究了 LLaVA-NeXT 在视频理解任务领域的性能,发现 LLaVA-NeXT 在理解视频内容方面具有令人惊讶的强大性能。
技术亮点:
SoTA性能:在没有看到任何视频数据的情况下,LLaVA-Next 表现出了强大的零样本模态传输能力,优于所有现有的专门针对视频训练的开源 LMM(例如LLaMA-VID )。与专有的相比,它在 NextQA 和 ActivityNet-QA 上达到了与 Gemini Pro 相当的性能。 长度泛化能力强。尽管在 4096 个令牌限制的序列长度约束下进行训练,LLaVA-Next 仍表现出非凡的泛化到更长序列的能力。即使在处理超出原始令牌长度限制的长帧内容时,此功能也可确保稳健的性能。 DPO推动性能。 DPO 在视频上提供 AI 反馈,可显著提高性能。
详细的改进点:
1. AnyRes 的零镜头视频表示功能。AnyRes 技术自然地将高分辨率图像表示为预先训练的 ViT 能够消化的多个图像,并将它们形成串联序列。这种技术自然可以推广到表示视频(由多个帧组成),从而允许仅图像训练的 LLaVA-Next 模型在视频任务上表现出惊人的良好性能。值得注意的是,这是 LMM 第一次表现出强大的零样本模态迁移能力。
2. 长度泛化推理可以改进较长的视频。线性缩放技术实现了长度泛化,使LLaVA-NeXT能够有效地处理超出LLM “max_token_length”限制的长视频。
3. 较强的视频理解能力。 (1) LLaVA-Next-Image结合了上述两种技术,比在视频上调整的开源 LMM 具有更优越的零样本性能。(2) LLaVA-Next-Video ,对视频数据进一步有监督微调(SFT)LLaVA-Next-Image,与LLaVA-Next-Image相比,实现了更好的视频理解能力。(3) LLaVA-Next-Video-DPO ,它使用直接偏好优化 (DPO) 将模型响应与 AI 反馈保持一致,显示出显著的性能提升。
4. 使用SGLang进行高效部署和推理。**它可以将视频任务的推理速度提高 5 倍,从而实现更具可扩展性的服务,例如百万级视频字幕。请参阅我们的存储库中的说明。
技术细节:
AnyRes:从多补丁到多帧
LLaVA-NeXT 中引入的AnyRes算法在处理任何高分辨率图像时实现了性能效率和运营成本之间的最佳平衡。它将图像分割成具有各种配置的子图像网格,例如{2x2, 1x{2,3,4}, {2,3,4}x1}。
通过细微的代码调整,LLaVA-NeXT 可以处理排列在 {1xN} 网格中的N 个视频帧。假设每个帧包含 24x24 个令牌,则视频的总令牌计数将为 24x24xN。然而,考虑到LLM的“max_token_length”限制为 4096,确保 24x24xN + 文本标记数量 < 4096 至关重要,以避免无意义的输出。这需要在每帧的令牌和帧总数之间进行仔细的平衡。例如,应用步长为 2 的空间池化将每帧的标记从 24x24 减少到 12x12,最多可容纳 16 帧。
研究结果表明,跨 16 帧的 12x12 令牌配置可产生最佳性能。然而,16 帧可能不足以捕捉大多数视频的精髓。接下来,将重点关注使 LLaVA-NeXT 能够处理更多帧。
长度泛化:从多帧到长视频
受到LLMs中处理长序列的最新进展启发,例如在旋转位置嵌入 (RoPE) 中实现线性缩放,在 LLaVA-NeXT 中应用了类似的缩放方法。例如,通过引入 2 的缩放因子,有效地将模型的“max_token_length”容量加倍,使其能够处理多达 8192 个标记的序列。通过这项技术,LLaVA-NeXT 可以处理多达 56 帧,每帧标记计数为 12x12,从而显著扩展了模型在分析较长视频序列方面的适用性。
这种线性缩放的适应不仅有利于处理更多的帧,而且为LLaVA-NeXT在综合视频分析中的应用开辟了新的途径,为该领域的未来研究开创了先例。
AI反馈直接偏好优化
基于 人类反馈的强化学习 (RLHF) 的最新进展有效地指导LLMs生成更诚实、有用且无害的内容。它们在多式联运环境中的有效性仍然有限。关键的障碍在于(1)开发一个强大的奖励系统,能够区分偏好的响应和不太偏好的响应,以及(2)从人类那里获取高质量的偏好数据既昂贵又费力,特别是对于多帧的视频输入。作为一种经济高效的替代方案,我们最近的研究 LLaVA-Hound考虑了使用LLM奖励的人工智能反馈。DPO 用于基于LLM生成的偏好数据来训练 LMM,其中视频以其详细的字幕作为支持证据。按照相同的方法,基于更强的 SFT LMM LLaVA-NeXT-Video 探索 DPO,从而形成最终模型 LLaVA-NeXT-Video-DPO。
最后别忘了,帮忙点“在看”。
您的点赞,在看,是我创作的动力。
AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术。
长按扫描下面二维码,加入知识星球。