LLaVA-NeXT 至 Cambrian-1:SOTA 多模态大模型架构设计最佳实践
本文聚焦 2024 年以来学术界和产业界的 SOTA 多模态大模型 (Multimodal Large Language Models, MLLM),分享架构设计中的深刻见解与最佳实践。最新流行的 MLLM 架构大多采用类 LLaVA 的 ViT+MLP+LLM 范式。得益于 LLaVA 的精简设计、数据和训练高效性、更强的 baseline 性能,LLaVA 架构建立起了良好的应用生态。国内也涌现出了高质量的 MLLM,InternVL 拉近了开源模型与 GPT-4V 的差距,具备 4K 高分辨率处理能力,而 MiniCPM-V 实现了高效端侧部署。最新的 Cambrian-1 则是鼓励研究者跳出当前 MLLM 的思维定式,不断探索视觉表征更多的可能性。
01 LLaVA-NeXT 系列
LLaVA-1.5
23 年 10 月,LLaVA-1.5 发布,通过在视觉和语言模态间添加简单的 MLP 层实现了训练样本高效性,为多模态大模型在低数据业务场景的落地提供了可能。
LLaVA-NeXT
24 年 1 月,LLaVA-NeXT(1.6) 发布,在 1.5 的基础上保持了精简的设计和数据高效性,支持更高的分辨率、更强的视觉推理和 OCR 能力、更广泛场景的视觉对话。模型分为两阶段训练:阶段 1 预训练只训练连接层,阶段 2 指令微调训练整个模型。
- 动态高分辨率 AnyRes:为了让模型能感知高分辨率图像的复杂细节,对图像进行网格划分。比如,对于 672x672 的图像,一方面按 2x2 的网格切分为 4 张 336px 的输入图像送给 ViT 编码成特征,另一方面将图像直接 resize 到 336px 进行编码,最后将两部分特征合并输入到 LLM 中,这样模型具备了全局和局部的视觉推理能力。
- 指令数据混合:一方面保证指令数据具有高质量、多样性,反映真实场景的广泛用户意图;另一方面,补充文档和表格数据,提升模型的 OCR 和图表理解能力。
- 扩大 LLM 尺寸:考虑了 7B、13B、34B 的 LLM。
24 年 5 月,团队发布基于更强 LLM 的 LLaVA-NeXT 版本,支持 LLaMA3(8B) 和 Qwen1.5(72B/110B)。更大的 LLM 提供更好的视觉世界知识和逻辑推理能力,最大的模型接近 GPT-4V 的性能,同时保证了训练高效性。
LLaVA-NeXT-Video
24 年 4 月,LLaVA-NeXT-Video 发布,展现出强大的 zero-shot 视频理解能力。LLaVA-NeXT 中的高分辨率图像动态划分可以很自然地迁移到视频模态用来表示视频的多帧,使得只在图文模态上训练的 LLaVA-NeXT 能在视频任务上泛化。此外,推理时的长度泛化用于有效处理超出 LLM 最大长度的长视频输入。基于 LLaVA-NeXT-Image 模型,作者发布了在视频数据上监督微调的 LLaVA-NeXT-Video,以及在 AI 反馈的监督下使用 DPO 偏好对齐的 LLaVA-NeXT-Video-DPO。使用 SGLang 部署和推理,支持可扩展的大规模视频推理。
- AnyRes:可以将 N 帧视频看作 {1xN} 的网格,而 LLM 的最大长度限制了可以处理的帧数,很自然地会考虑对图像进行下采样减少每帧 token 数,但作者发现为保证效果仍只能处理 16 帧。
- 长度泛化:基于 LLM 的长度外推技术(RoPE 的线性扩展),推理时扩展 2 倍,从之前的 16 帧扩展到 56 帧,大大提升了模型分析长视频序列的能力。
- 基于 LLM 反馈的 DPO 偏好优化:偏好数据由 LLM 生成,视频表示为详细的说明文字,带来了很大的性能增益。
- 视频数据微调 Ablation Study:(1) 在 LLaVA-NeXT 图像级指令微调后,继续在视频级指令上增量微调;(2) 在 LLaVA-NeXT 图像级预训练后,在图像级和视频级数据联合微调,每个 batch 数据包含一种类型或者混合两种类型,实验表明混合图像和视频模态数据效果最佳。
指令微调 Ablation Study
团队还分享了视觉指令微调过程中除数据之外的因素的 ablation study,从模型架构、视觉表征、训练策略角度进行分析。
- 模型架构:扩展 LLM 比扩展视觉编码器更有效,视觉输入配置(分辨率、token 数)比视觉编码器大小更关键。
- 学习率:为了训练更稳定,视觉编码器的学习率通常应该比 LLM 学习率小 10 倍~5 倍,更大的 LLM 需要更小的学习率,尽量避免 loss 跑飞。
- 视觉编码器:相较于模型大小,基于分辨率、token 数的视觉特征支持编码更多的视觉细节,预训练数据支持编码更多的视觉知识,作用更重要。
- 视觉表征:分辨率、特征空间视觉 token 数都重要,相对来说扩展分辨率更有效,建议使用 AnyRes 时下采样。
- 对于更高分辨率图像或者更长的视频,AnyRes 需要更多的格子。比如,对于超过 768x768 的图像,以前的方案首先 resize 到 768x768 会导致细节丢失。这里考虑划分成更多的格子,然后对编码的特征进行双线性插值(下采样)到更小的特征,以防止视觉 token 数过多。
- 训练策略:在互联网级低质数据上大规模预训练后,指令微调前,增加一个阶段,使用一些高质量合成数据增强知识。
LLaVA-NeXT-Interleave
24 年 6 月,LLaVA-NeXT-Interleave 发布,提出图文交错格式可以作为通用模版统一不同的视觉模态,比如单图像 (multi-patch)、多图像 (multi-image)、视频 (multi-frame)、3D(multi-view)。在保证 LLaVA-NeXT 单图像输入的性能下,可以提高其它模态任务的性能,而且在不同模态任务上具有初步的迁移能力。这种大一统的模型支持更广泛真实场景的应用,比如多页 PPT 的总结和问答、生成图像编辑的提示词、多文档的汇总和比较。
作者在训练策略上进行了 ablation study:
- 从 LLaVA-NeXT 单图像模型继续训练,从 stage2 单图像指令微调后的模型开始训练效果更好,可以继承单图像任务的指令遵循能力。
- 两种组织格式:将所有图像 token 放在最前面,在文本中使用特殊 token 指代图像 (in-the-front),将图像 token 放在其原来的位置,与文本交错 (interleaved)。实验表明,在训练阶段混合两种格式有助于在推理阶段这两种格式都取得更好的性能。
02 InternVL 系列
InternVL-1.0
23 年 12 月,上海 AI Lab @OpenGVLab 发布 InternVL。该工作在模态对齐中视觉编码器和 LLM 之间在参数规模和特征表征能力上存在较大的差距,自然地提出扩大视觉端的参数量到 6B (InternViT-6B),然后使用不同质量的图文数据逐渐与 LLM 对齐。此外,连接层的参数量也扩大了,类似 Q-Former,这里设计了一个 8B 的语言中间件 QLLaMA,使用 Chinese-LLaMA 的参数初始化增强其跨语言理解能力,新增 96 个可学习 query token 和 cross-attention 层 (1B),实现视觉和语言模态进一步对齐。
InternVL 训练的多阶段性赋予其内在的多功能性,通过灵活组合不同模块,可以支持各种视觉 - 语言任务。
这里值得讨论的一个点在于,InternVL 为了让视觉端和语言端参数量平衡,对视觉端和连接层都进行了 scale up。一个很自然的问题是,视觉端真的需要这么 heavy 的参数量吗?因为当前最新的 LLaVA-NeXT 仍然使用约 300M 的 ViT 和轻量的 MLP 连接层,仅通过扩展 LLM 提升多模态任务性能。我的个人拙见是,视觉理解包括感知和推理,感知部分可能并不需要那么大的参数量,而推理部分作用于 high-level 的视觉特征,通过微调 LLM 赋予其理解推理视觉模态的能力,所以为了性能、效率和稳定性的平衡,似乎这里 scale up 必要性不是很强,当然这里值得深入实验的验证和讨论。
InternVL-1.5
24 年 4 月,InternVL-1.5 发布,综合性能更强,且支持推理时高达 4K 的分辨率。
上图展示了模型整体架构,采用了类 LLaVA 的 ViT+MLP+LLM 范式,结合了增强的 InternViT-6B-448px-V1.5 和中英双语 InternLM2-Chat-20B,总体参数约 26B。相比于 InternVL-1.0,在输入端支持了动态高分辨率,连接层改为轻量的 MLP,使用 pixel shuffle 操作将输出的视觉 token 数减为 1/4。训练分为两阶段,预训练阶段训练 InternViT 和 MLP 映射,随后微调整个模型。
这里不再使用 Q-Former 作为连接层的原因,大致意思是说相比于 MLP,Q-Former 参数量大收敛更慢,数据量小的场景无法达到 LLaVA-1.5 这样的性能,而且提高数据量和计算量,Q-Former 也没有明显的性能优势。
这里的 pixel shuffle 操作来源于 16 年的一篇论文,本质是对特征元素进行重排列,将()的特征变换为(),对特征进行了空间维度的上采样,但通道维度缩小为原来的 。这里输出的视觉 token 数可以理解为通道数,主要目的是通过提升特征维度换取更少的 token 数,从而可以支持更高的图像分辨率。这样,448x448 的输入图像,patch size=14,总共有 32x32=1024 个 token,设置上采样系数 r=2,则该图像可以表示为 256 个 token。
接着我们来看 InternVL-1.5 的三个重要改进:
- InternViT 增强:V1.2 版本去掉了模型的最后 3 层,将分辨率扩展为固定 448x448,而 V1.5 进一步扩展为动态 448x448,即每张训练图像可分块,每块大小为 448x448,支持 1~12 个块。此外,还增强了数据规模、质量和多样性,提高了 OCR 和高分辨率处理能力。
- 动态高分辨率:基于图像的分辨率和纵横比,将图像切分为 448x448 的分块,训练阶段最多 12 块,测试阶段可以外推到 40 块,即 4K 分辨率,这样模型训练和推理能适应多种分辨率和纵横比,避免了强行 resize 带来的失真和细节丢失。具体来说,对于一张 800x1300 的图像,从预定义的纵横比中匹配一个最接近的纵横比 2:3,然后将图像 resize 到 896x1344,并切分为多个 448x448 的图像块,再添加一个缩略视图 (直接 resize 到 448x448) 用于图像全局理解。
- 高质量中英双语数据集:包含自然场景、图表、文档、对话等多样化的数据,借助 LLM 实现数据集英文到中文的转换。
翻译的 prompt 值得我们学习:
System:
You are a translator proficient in English and {language}. Your task is to translate the following English text into {language}, focusing on a natural and fluent result that avoids "translationese." Please consider these points:
1. Keep proper nouns, brands, and geographical names in English.
2. Retain technical terms or jargon in English, but feel free to explain in {language} if necessary.
3. Use {language} idiomatic expressions for English idioms or proverbs to ensure cultural relevance.
4. Ensure quotes or direct speech sound natural in {language}, maintaining the original's tone.
5. For acronyms, provide the full form in {language} with the English acronym in parentheses.
User:
Text for translation: {text}
Assistant:
{translation results}
作者在 ablation study 部分研究了更大的 LLM 是否需要更大的视觉编码器,实际上是针对我们上面对 InternVL-1.0 视觉端参数量的问题的实验。实验对比了 LLaVA-NeXT 和 InternVL-1.2,两者都使用 34B 的 LLM,在尽量保证对比公平的条件下,实验证明更大的视觉模型能提供模型解决多模态任务的整体性能。团队后续也发布了蒸馏版的视觉模型 InternViT-300M-448px,与 LLaVA-NeXT 的视觉端保持了同等规模。
03 MiniCPM-V 系列
MiniCPM-V 是面壁智能发布的一系列支持高效端侧部署的多模态 LLM。
MiniCPM-V 2.0
24 年 4 月,MiniCPM-V 2.0 发布,仅有 2.8B 参数,整体性能超过了 Yi-VL 34B、CogVLM-Chat 17B、Qwen-VL-Chat 10B 等更大的开源模型,OCR 能力突出,支持中英双语对话,部分指标接近 Gemini Pro。
视觉编码器使用 SigLIP SO400M/14-384px,LLM 使用 MiniCPM-2.4B,连接层使用 Flamingo 中的 Perceiver Resampler (类似 Q-Former 使用可学习 query 提取显著视觉信息,但不以输入文本为条件)。基于自研的 RLHF-V 实现可信行为对齐,在缓解多模态幻觉问题上接近 GPT-4V。基于自研的 LLaVA-UHD 支持高达 1344x1344 的分辨率和任意纵横比输入。基于自研的 VisCPM 实现跨语言的多模态能力泛化,进而有良好的中英双语能力。此外,该模型在端侧部署内存开销较小、速度较快,即便是处理高分辨率的图像。官方还提供了安卓端部署的 mlc-MiniCPM 示例。
MiniCPM-Llama3-V 2.5
24 年 5 月,MiniCPM-Llama3-V 2.5 发布,总共 8B 参数,整体性能超过了 GPT-4V-1106、Gemini Pro、Qwen-VL-Max、Claude 3 等闭源模型,OCR 和指令遵循能力进一步增强 (增强了全文本 OCR 提取、表格到 Markdown 转换等功能),支持超过 30 种语言对话,在量化、编译优化、高效推理等加持下,同样可以在端侧高效部署。
在 MiniCPM-V 2.0 基础上,LLM 替换为 Llama3-8B-Instruct,基于更新的 RLAIF-V 进一步降低幻觉率。当前,官方支持了 llama.cpp 和 ollama 的高效 CPU 推理、GGUF 16-bit 量化、LoRA 微调等实用功能。
04 VILA1.5
24 年 5 月,NVIDIA 发布 VILA1.5,提供视频理解能力,开源了 3B/8B/13B/40B 的模型,位于当前开源榜单 MMMU 和 Video-MME 前列。VILA 在大规模交错图文数据上预训练,从而具有多图理解能力,作者通过实验发现:(1) 图文交错排布比较关键;(2) 交错图文预训练过程中微调 LLM 能赋予其上下文学习的能力;(3) 混合只有文本的指令数据有助于提升性能;(4) 压缩视觉 token 可以扩展视频帧数。
05 CogVLM2
24 年 5 月,智谱@GLM 大模型发布 CogVLM2,随后发布了 GLM-4V。CogVLM2 基于 Llama3-8B-Instruct,支持 8K 上下文、1344x1344 分辨率、中英双语对话。GLM-4V-9B 替换为 GLM-4-9B 语言模型,采取同样的数据和训练策略,去除 CogVLM 原有的视觉专家,将模型大小减为 13B。
06 Cambrian-1
24 年 6 月,LeCun&谢赛宁团队发布 Cambrian-1,关注以视觉为中心的多模态 LLM,开源了 8B/13B/34B 的模型。当前多模态 LLM 仍存在较大的视觉缺陷,需要增强视觉表征以更好地和语言模态交互,赋予模型在真实场景更强的感知定位能力。这项研究的一大意义在于影响多模态 LLM 的工作开始重视视觉表征质量的提升,而非一直 scale up LLM。
如上图,该工作围绕多模态 LLM 的 5 个核心设计要素展开研究,分别是:视觉表征、连接器设计、指令微调数据、指令微调策略、评估基准。
1. 视觉表征
作者评估了多种视觉编码器及其组合,下图表明以语言监督的 CLIP 模型优势较强,但自监督方法在提供充足数据和适当微调的情况下性能也能接近。而且,结合多种类型的视觉编码器有助于提升多模态 LLM 的性能,尤其是以视觉为中心的任务。注意到,高分辨率的编码器大大增强了图表和以视觉为中心任务的性能,而基于 ConvNet 的架构适合处理这类任务。
2. 连接器设计
提出 Spatial Vision Aggregator (SVA),一个动态的、具备空间感知的连接器,以将 (来自多个视觉编码器的) 视觉特征与 LLM 深度融合。该方法设置一些可学习的 latent query tokens,通过 cross-attention 与多个视觉特征交互 (视觉特征作为 key/value)。SVA 的设计有两点要素:(1) 通过显式定义每个 query token 对应的视觉特征图子区域,引入空间 inductive bias,便于模型在处理视觉信息时保留对空间结构的理解,更准确地定位和整合局部特征;(2) 在 LLM 的多层聚合视觉特征,让模型在不同层级特征上反复利用视觉信息,增强模型对视觉内容的深入推理能力。该方法可以有效减少需要的视觉 token 数,例如相比于 Mini-Gemini 和 LLaVA-NeXT,Cambrian-1 的视觉 token 数是其 20%。
3. 指令微调数据
作者发布了指令微调数据集 Cambrian-10M,综合了 OCR、通用 VQA、纯语言等指令数据,还筛选了质量更高的 7M 版本。不同类型的视觉指令数据能赋予模型不同的能力,因此数据配比的平衡性也很关键,实验结果表明,平衡 OCR、通用数据和语言数据的比例很重要。此外,在实验中作者发现,训练好的多模态 LLM 可能在基准测试上指标表现好,但实际对话能力弱,回复简短。因此,作者在训练期间引入了额外的系统提示,鼓励模型输出更长的回答和思维链推理,增强数学推理等任务的表现。
4. 指令微调策略
作者遵循 LLaVA 的两阶段训练策略,先使用适配数据只微调中间的 MLP 连接层,再打开 LLM 和连接器微调。结果表明,第一阶段对连接器的预训练可以提高性能,而使用更多的适配数据可以进一步增强。此外,作者对比了是否微调视觉编码器带来的性能影响,表明微调视觉编码器能增强性能,尤其对自监督预训练的视觉编码器 (如 DINO v2、MoCo v3、MAE 等),在以视觉为中心的测试上提升明显。
5. 以视觉为中心的基准 CV-Bench
现有多数 benchmark 无法正确评估模型的视觉感知定位能力,而且相应的样本数量有限。CV-Bench 重新利用现有视觉 benchmark 中的样本,包含 2638 个以视觉为中心的 VQA 问题,涉及 2D 的空间位置关系和物体计数、3D 的深度次序和相对距离。
总结
从 LLaVA-NeXT 到 Cambrian-1,多模态大模型的发展呈现出从单纯依赖 LLM 扩展向视觉表征与连接器协同优化的转变。LLaVA-NeXT 确立了高分辨率与视频理解的基线,InternVL 探索了视觉端参数扩展与动态分辨率的可行性,MiniCPM-V 证明了小模型在端侧部署的潜力,而 Cambrian-1 则强调了视觉中心主义的重要性。未来架构设计需在视觉感知精度、Token 效率与推理成本之间寻找更优平衡。