跳转至

MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training

会议: ECCV 2024
arXiv: 2403.09611
代码: 无(Apple 内部实现,使用 AXLearn 框架)
领域: 多模态VLM
关键词: 多模态大语言模型, 预训练, 消融实验, 视觉编码器, 数据配方, Mixture-of-Experts

一句话总结

Apple 系统性地消融了 MLLM 构建的三大轴(架构、数据、训练),得出关键设计准则:图像分辨率 > 模型大小 > 训练数据;VL 连接器类型影响甚微;caption/interleaved/text-only 三类数据的精细混合至关重要,最终构建了 3B-30B dense 和最高 64B MoE 的 MM1 模型族,在 few-shot 预训练评测上达到 SOTA。

研究背景与动机

现有 MLLM 的透明度严重不足:闭源模型(GPT-4V、Gemini)几乎不公开任何架构/数据细节;开源模型虽然发布权重,但鲜少揭示设计决策的过程——即为何选择某种架构、数据配比或训练策略。作者认为,提炼可复现的设计准则(design lessons)比任何具体组件实现都更有持久价值。

MM1 的核心贡献不是提出新架构,而是通过大规模系统消融回答三个关键问题: 1. 视觉编码器怎么选?分辨率、模型大小、预训练目标哪个更重要? 2. 如何将视觉特征接入 LLM?连接器架构 vs token 数量 vs 分辨率? 3. 预训练数据怎么配?caption、interleaved、text-only 各占多少?

方法详解

整体框架

MM1 采用标准 decoder-only MLLM 架构:图像编码器视觉-语言连接器(VL Connector)LLM 解码器。输入图像经编码器提取特征后,通过连接器映射为一组视觉 token,与文本 token 拼接后送入自回归 LLM。

消融基线配置: - 图像编码器:ViT-L/14(CLIP loss,DFN-5B + VeCap-300M,336×336) - VL 连接器:C-Abstractor,144 个 image token - 预训练数据:caption 45% + interleaved 45% + text-only 10% - LLM:1.2B transformer decoder

关键设计 1:图像编码器选择

作者对比了两类视觉编码器预训练目标(使用 2.9B LLM 确保足够容量):

对比学习(Contrastive,CLIP 系列):在大规模图文数据上训练,语义理解强,但密集预测弱。

重建损失(Reconstructive,AIM 系列):自回归重建损失,能捕获图像全局细节,理论上有利于 VQA 等需要精细理解的任务。

编码器 架构 分辨率 预训练数据 0-shot 4-shot 8-shot
AIM ViT/600M 224 DFN-2B 36.6 56.6 60.7
AIM ViT/1B 224 DFN-2B 37.9 59.5 63.3
AIM ViT/3B 224 DFN-2B 38.9 60.9 64.9
CLIP ViT-L 224 DFN-5B+VeCap 36.9 58.7 62.2
CLIP ViT-H 224 DFN-5B+VeCap 37.5 60.0 63.6
CLIP ViT-L 336 DFN-5B+VeCap 39.9 62.4 66.0
CLIP ViT-H 336 DFN-5B+VeCap 40.5 62.6 66.3
CLIP ViT-H 378 DFN-5B 40.9 62.5 66.4

编码器准则:图像分辨率影响最大(224→336 约 +3%),模型大小次之(ViT-L→ViT-H 仅 <1%),训练数据(加 VeCap 合成 caption)再次之(few-shot +1%~2%)。CLIP 与 AIM 在控制变量后差距不大,但 CLIP 整体略优。

关键设计 2:视觉-语言连接器

作者对比了三种 VL 连接器架构:

  • Average Pooling:n×n 平均池化 + 线性投影(类似 Emu2)
  • Attention Pooling:k 个可学习 query 做交叉注意力
  • C-Abstractor:基于 ResNet 块的卷积映射(Honeybee 提出),保留局部信息 + 自适应池化

在 64 和 144 token、224 和 336 分辨率四种设置下的完整消融表明:

连接器准则:视觉 token 数量和图像分辨率最重要,连接器架构类型影响甚微。三种架构在 336px/144 token 设置下性能几乎相同。这与 Honeybee 论文的结论相矛盾——在更大规模训练下,连接器架构差异被抹平。最终选择 C-Abstractor 仅因为它在某些设置下略好。

关键设计 3:预训练数据配方

作者使用三类数据,总结了四条关键数据准则:

数据类型 数据源 规模
Captioned Images CC3M, CC12M, HQIPT-204M, COYO, Web Image-Text-1B 20 亿图文对
Synthetic Captions VeCap 3 亿图文对
Interleaved Image-Text OBELICS + 内部数据 6 亿文档
Text-only 网页、代码、社交媒体、百科、数学 2T tokens

数据准则 1:Interleaved 数据对 few-shot 和纯文本性能"不可或缺",caption 数据提升 zero-shot。caption 占比从 0%→100%,zero-shot 从 25.8%→39.3%;但 interleaved 低于 50% 时,8-shot 从 61% 骤降至 45%。

数据准则 2:Text-only 数据辅助 few-shot 和文本理解。caption + text-only 组合显著提升 few-shot;interleaved + text-only 组合提升幅度较小但保持文本能力。

数据准则 3:精细混合可兼顾多模态和文本性能。最优比例为 caption:interleaved:text = 45:45:10(约 5:5:1)。

数据准则 4:合成 caption 数据(VeCap)虽仅占 7%,但对 few-shot 贡献显著(+2.4%~4%)。

训练策略

预训练配置: - 所有参数完全解冻(图像编码器 + LLM) - 序列长度 4096,每序列最多 16 张图(378×378),batch size 512 - 训练 200k 步(约 100B tokens) - 学习率通过小模型(9M→1.2B)grid search + log 空间线性回归外推 - 外推公式:\(\eta = \exp(-0.4214 \ln(N) - 0.5535)\) - 权重衰减:\(\lambda = 0.1\eta\) - Cosine decay,warmup 2000 步,衰减到峰值的 10% - 最终 3B/7B/30B 实际 LR:6e-5 / 4e-5 / 2e-5

MoE 扩展: - 3B-MoE:64 experts,每隔 2 层替换,总参数 64B - 7B-MoE:32 experts,每隔 4 层替换,总参数 47B - Top-2 gating + load balance loss (0.01) + router z-loss (0.001) - 仅替换 LLM decoder 的 FFN 层,图像编码器和 VL 连接器不变

SFT 配置: - 约 145 万条样本(LLaVA-Conv/Complex、ShareGPT-4V、学术 VL 数据集等) - 10k 步,batch size 256,序列长度 2048 - AdaFactor,LR 1e-5,cosine decay - 图像编码器和 LLM 均解冻 - 高分辨率:位置 embedding 插值 + 子图分解(SPHINX 方法) - 默认 SFT 分辨率 1344×1344(5 张 672×672 子图,共 720 tokens/image)

实验关键数据

预训练主结果(few-shot SOTA)

模型 Shot COCO NoCaps TextCaps VQAv2 TextVQA VizWiz OKVQA
Flamingo-3B 0 73.0 49.2 30.1 28.9 41.2
Flamingo-3B 8 90.6 55.4 32.4 38.4 44.6
MM1-3B 0 73.5 55.6 63.3 46.2 29.4 15.6 26.1
MM1-3B 8 114.6 104.7 88.8 63.6 44.6 46.4 48.4
Flamingo-9B 8 99.0 58.0 33.6 39.4 50.0
Emu2-14B 8 59.0 43.9
MM1-7B 8 116.3 106.6 88.2 63.6 46.3 45.3 51.4
Flamingo-80B 8 108.8 65.6 37.3 44.8 57.5
IDEFICS-80B 8 114.3 105.7 77.6 64.8 35.7 46.1 55.1
Emu2-37B 8 67.8 49.3 54.7 54.1
MM1-30B 8 123.1 111.6 92.9 70.9 49.4 49.9 58.3

MM1 在所有对比中 few-shot 性能领先。注意 MM1-30B 比 Flamingo-80B(2.7倍参数)和 IDEFICS-80B 表现更好。

SFT 主结果(12 个 benchmark)

模型 VQAv2 TextVQA SQA-I MMMU (v/t) MathV MME-P MME-C MMB SEED POPE LLaVA-W MM-Vet
MM1-3B-Chat 82.0 71.9 69.4 33.9/33.7 32.0 1482 279 67.8 63.0/68.8 87.4 72.1 43.7
MM1-3B-MoE 82.5 72.9 76.1 38.6/35.7 32.6 1469 303 70.8 63.9/69.4 87.6 76.8 42.2
LLaVA-1.5-7B 78.5 58.2 66.8 –/– 1511 316 64.3 58.6/66.1 85.9 63.4 31.1
LLaVA-NeXT-7B 81.8 64.9 70.1 35.8/– 34.6 1519 332 67.4 –/70.2 86.5 81.6 43.9
MM1-7B-Chat 82.8 72.8 72.6 37.0/35.6 35.9 1529 329 72.3 64.0/69.9 86.6 81.5 42.1
MM1-7B-MoE 83.4 73.8 74.4 40.9/37.9 40.9 1597 395 72.7 65.5/70.9 87.8 84.7 45.2
MM1-30B-Chat 83.7 73.5 81.0 44.7/40.3 39.4 1638 431 75.1 65.9/72.1 87.6 89.3 48.7

MoE 模型在几乎所有 benchmark 上均优于对应 dense 模型,展现 MoE 在 MLLM 中的巨大潜力。

关键发现汇总

  1. 分辨率 >> 模型大小 >> 训练数据:编码器选择的优先级明确
  2. 连接器类型无关紧要:Average Pooling、Attention Pooling、C-Abstractor 效果几乎相同
  3. token 数量很重要:64 → 144 tokens 带来显著提升
  4. Interleaved 数据是 few-shot 能力的关键来源:其结构天然类似 few-shot 输入
  5. 预训练时长直接影响 SFT 性能:更多预训练 step → 更好的下游表现(Figure 7c)
  6. SFT 高分辨率的收益递减:1344px 最优,1792px 反而轻微下降
  7. 预训练准则可迁移到 SFT:caption-only 预训练提升 SFT zero-shot;连接器差异在 SFT 后同样消失
  8. SFT 后仍保留 few-shot 能力:MM1-30B-Chat 在 MathVista 上 0-shot 39.4 → 4-shot 41.9 → 8-shot(混合分辨率)44.4

亮点与洞察

  • 系统性消融的价值:MM1 最大贡献不是模型本身,而是可复用的设计准则。这种"recipe paper"对社区的价值可能超过任何单一 SOTA
  • "连接器不重要"的颠覆性发现:直接挑战了 Honeybee、BLIP-2 等工作对 VL connector 的重视,说明在足够大规模训练下,简单方法足矣
  • 数据配方的精细平衡:45:45:10 的比例并非随意选择,而是通过系统消融得出的最优解。这暗示多模态预训练中数据工程的重要性被严重低估
  • MoE 的高效扩展:3B-MoE(64B 总参数)在仅激活少量参数的情况下接近甚至超越 7B dense 模型,为 MLLM 的高效部署提供了方向
  • 混合分辨率 few-shot:子图分解在 few-shot 场景下 token 开销巨大,提出的混合分辨率策略(仅最后 N 个样本高分辨率)是实用的工程创新

局限与展望

  1. 消融规模受限:架构消融使用 1.2B/2.9B LLM,数据消融 200k 步——更大规模下准则是否仍然成立存疑
  2. 编码器对比不完全公平:AIM 的训练数据量不到 CLIP 的一半,结论需谨慎解读
  3. 闭源数据依赖:Web Image-Text-1B、内部 interleaved 数据等不可复现
  4. 无视频/音频模态:仅限图文多模态,未涉及更通用的多模态场景
  5. SFT 数据较传统:主要沿用 LLaVA-1.5 的 SFT 配方,未深入探索 SFT 数据的消融
  6. 每张图仅 144 tokens:相比 LLaVA-NeXT 的 2880 tokens 显著更少,细粒度理解可能不足
  7. 未探索 RLHF/DPO:仅有 SFT 阶段,缺少偏好对齐训练

相关工作与启发

  • Flamingo:最早的大规模 interleaved 预训练 MLLM,MM1 的直接对比对象和灵感来源
  • IDEFICS/OpenFlamingo:Flamingo 的开源复现尝试,但缺少设计消融
  • LLaVA-1.5/NeXT:SFT 配方的主要参考,MM1 的 SFT 数据混合直接沿用
  • VILA:同样研究预训练组件,但未提供优化细节和预训练评测
  • Emu2:提供预训练细节但缺少消融,MM1 在 few-shot 上全面超越
  • Honeybee:提出 C-Abstractor,但 MM1 证明其优势在大规模下消失

对后续工作的启发:MM1 的消融方法论具有通用参考价值——在小规模消融确定组件后外推到大规模训练。学习率外推公式是一个可直接复用的实用工具。

评分

维度 分数 (1-5) 说明
创新性 3.5 架构无新意,但系统消融方法论和设计准则有创新价值
实验充分性 5 极其充分,三轴消融 + 多尺度验证 + SFT 迁移验证
工程价值 5 数据配方、LR 外推公式、混合分辨率策略均可直接复用
写作质量 4.5 结构清晰,准则总结简明,附录信息丰富
综合推荐 ⭐⭐⭐⭐⭐ MLLM 领域必读 recipe paper,消融结论的参考价值远超模型本身

相关论文