Skip to content

大模型②:多模态大模型

核心路径 — 大模型的世界从不止于文本。多模态大模型(MLLM)将 LLM 与视觉、音频等编码器连接,让 AI 真正"看见"和"理解"世界。本讲覆盖 MLLM 的核心架构、训练策略和代表性模型。

学习目标

完成本讲后,你应该能够:

  1. 解释 MLLM = LLM + 多模态编码器的基本架构范式
  2. 列举 连接视觉编码器到 LLM 的主要方法(Adapter / Q-Former / 投影层)
  3. 描述 MLLM 的三阶段训练流程:预训练 → 指令微调 → RLHF
  4. 比较 LLaVA、Flamingo、GPT-4V、Qwen-VL 的设计差异
  5. 分析 数据质量与数据量在多模态训练中的权衡关系

一、MLLM 的基本架构

什么是多模态大模型?

多模态大模型(Multimodal Large Language Model, MLLM)是在 [[04-大模型/04-01-大模型基础|LLM]] 基础上扩展多模态感知能力的模型。其核心范式为:

MLLM = 多模态编码器 + 连接器(Connector) + 大语言模型(LLM)

架构总览

                    ┌──────────────────────────────────────┐
                    │           输出文本 / 动作              │
                    └────────────────┬─────────────────────┘

                    ┌────────────────┴─────────────────────┐
                    │         大语言模型 (LLM)               │
                    │   (LLaMA / Vicuna / Qwen / GPT)       │
                    └────────────────┬─────────────────────┘

                    ┌────────────────┴─────────────────────┐
                    │        连接器 (Connector)              │
                    │  (线性投影 / Q-Former / Cross-Attn)    │
                    └────────────────┬─────────────────────┘

              ┌───────────────────────┼───────────────────────┐
              │                       │                       │
    ┌─────────┴──────────┐  ┌────────┴───────┐  ┌───────────┴────┐
    │  视觉编码器 (ViT)   │  │  音频编码器     │  │  其他编码器     │
    │  (CLIP / SigLIP)   │  │  (Whisper)     │  │  (传感器等)     │
    └────────────────────┘  └────────────────┘  └────────────────┘
              ▲                       ▲
         ┌────┴────┐            ┌────┴────┐
         │  图像/视频 │            │  音频   │
         └─────────┘            └─────────┘

三种连接策略

策略代表模型实现方式计算成本跨模态交互深度
线性投影LLaVA单层/两层 MLP 映射视觉特征到文本嵌入空间极低浅(简单对齐)
Q-FormerBLIP-2Transformer 编码器通过可学习 Query 提取视觉信息中(特征压缩)
交叉注意力FlamingoLLM 层间插入门控交叉注意力层深(逐层交互)

二、连接器详解

2.1 线性投影 (Linear Projection)

LLaVA 采用最简单的连接方式:将视觉编码器输出的特征用可训练的线性层投影到 LLM 的词嵌入空间。

图像 → CLIP ViT → 图像特征 (patch tokens)

                线性投影 Wx + b  (维度: d_vision → d_llm)

                视觉 token 序列 + 文本 token → LLM

核心直觉: 如果视觉编码器的特征空间和 LLM 的文本嵌入空间已经语义上对齐(via CLIP 对比学习),一个简单的线性投影就足以桥接两者。

优势: 极简、高效、仅增加少量参数 局限: 视觉信息不做二次处理,细节可能丢失

2.2 Q-Former (Query Transformer)

BLIP-2 提出的 Q-Former 是介于视觉编码器和 LLM 之间的轻量 Transformer,通过一组可学习的 Query 向量来"提取"视觉编码器输出的相关信息:

图像 → ViT → 图像特征 (固定)

      交叉注意力 ← 可学习 Query (32个)

         Q-Former 自注意力

         压缩后的视觉 token (32个)

          线性投影 → LLM

设计关键:

  • 可学习 Query(通常 32 个)作为"信息提取的入口",通过交叉注意力从图像特征中收集信息
  • Q-Former 自身是一个 Transformer 编码器,包含自注意力和交叉注意力层
  • 将视觉信息的空间维度(如 256 个 patch)压缩为固定数量的 token(如 32 个),显著降低 LLM 的计算开销

两阶段预训练:

  1. 表示学习阶段:Q-Former + 视觉编码器联合训练,使用对比损失 + 图文匹配损失 + 图像描述生成损失
  2. 生成学习阶段:Q-Former + LLM 通过全连接层连接,冻结 LLM 训练 Q-Former

2.3 门控交叉注意力 (Gated Cross-Attention)

Flamingo 采用了更深入的融合方式——在 LLM 的每一层中插入门控交叉注意力层,让 LLM 的文本表示在每层都能"看向"视觉特征:

Flamingo Block (在 LLM 每层插入):
    ┌───────────────────────┐
    │  文本输入              │
    │      ↓                │
    │  LLM 自注意力层 (冻结)   │
    │      ↓                │
    │  门控交叉注意力 ←── 视觉特征 │  ← 新增模块
    │      ↓                │
    │  FFN (冻结)            │
    │      ↓                │
    │  文本输出              │
    └───────────────────────┘

门控机制: $\text{GatedXAttn}(x, v) = x + \alpha \cdot \text{CrossAttn}(x, v)$

其中 $\alpha$ 是可学习的门控参数,初始化为 0(意味着新增模块开始时不影响 LLM 输出),训练中逐渐激活。这种设计保护了 LLM 的预训练知识不被灾难性遗忘。


三、训练策略

MLLM 的训练通常遵循三阶段流程

阶段 1:多模态预训练

目标: 建立视觉特征与 LLM 文本空间之间的基本对齐,让 LLM 学会"看"。

训练数据: 大规模图文对(如 LAION-5B、CC12M、SBU Captions),通常 1-10 亿对

训练方式:

  • 冻结视觉编码器和 LLM,只训练连接器(投影层 / Q-Former)
  • 或冻结视觉编码器,微调连接器 + LLM(LoRA)
  • 损失函数:语言建模损失(next token prediction)

数据规模 vs. 连接器类型:

连接器所需数据量对齐程度训练速度
线性投影~600K 对够用最快
Q-Former~1.29 亿对更好中等
交叉注意力取决于 LLM 规模最深入最慢

阶段 2:多模态指令微调

目标: 让 MLLM 遵循视觉-语言指令,执行对话、问答、推理等任务。

训练数据: 多模态指令数据集(LLaVA-Instruct-150K 等),通常由 GPT-4/VLM 自动生成

关键发现(LLaVA):

  • 仅需 150K 指令数据(由 GPT-4 生成),就能让 MLLM 具备有意义的视觉对话能力
  • 数据质量远重要于数量
  • 相比预训练阶段,指令微调阶段使用更小的学习率更多的 epoch

指令数据的数据类型:

类型格式示例来源
单轮问答图像 + 问题 → 答案"图中有几只猫?" → "3只"GPT-4 基于 caption 生成
多轮对话图像 + 多轮对话"描述这张图" → ... "怎么修?" → ...GPT-4 模拟助手行为
推理链图像 + 推理 → 答案"逐渐分析..."思维链提示生成
详述图像 → 详细描述结构化医学报告GPT-4 结构化输出

阶段 3:RLHF / 偏好对齐

目标: 使 MLLM 的输出与人类偏好对齐——更真实、更有帮助、更安全。

方法:

  • RLHF-V:利用人类对 MLLM 输出的偏好标注训练奖励模型,再用 PPO 优化
  • DPO:直接偏好优化,不需要奖励模型
  • 针对多模态的挑战:幻觉问题(hallucination)在 MLLM 中更为严重——模型可能"看到"图像中不存在的物体

重要观察: MLLM 的 RLHF 比纯文本 LLM 的 RLHF 更难,因为人类反馈需要同时考虑视觉准确性和语言质量。


四、代表性 MLLM 对比

模型时间视觉编码器连接器LLM 基座训练数据关键特性
Flamingo2022.04NFNet / ViT门控交叉注意力Chinchilla 70B2.1B 图文对 + 27M 视频冻结 LLM、小样本学习
BLIP-22023.01ViT-g (EVA-CLIP)Q-FormerVicuna 7/13B129M 图文对Query 压缩、高效冻结训练
LLaVA2023.04CLIP ViT-L/14线性投影 (MLP)Vicuna 7/13B600K 图文 + 150K 指令极简架构、GPT-4 数据蒸馏
LLaVA-1.52023.10CLIP ViT-L/14两层 MLPVicuna 7/13B改进数据 + 视觉微调简单改进即达 SOTA
Qwen-VL2023.08ViT-bigG (CLIP)单层 CR + Q-Former-likeQwen-7B1.4B 图文 + 50M grounding 数据中文优化、细粒度定位
CogVLM2023.10ViT (EVA-CLIP)深层交叉注意力(视觉专家)Vicuna 7B1.5B 图文视觉 token 每层交互
GPT-4V2023.09未公开未公开GPT-4未公开多模态推理、细节理解
InternVL2024.01InternViT-6B动态分辨率 + 像素对齐InternLM公开 + 大规模私有数据6B 超大视觉编码器

关键洞察

  1. LLaVA 的简单性是一种设计胜利:线性投影 + 冻结 ViT + Vicuna 就能达到惊人效果,说明 CLIP 的视觉特征已经高度对齐到语义空间
  2. Qwen-VL 是中文多模态的代表:从基座模型(Qwen)到训练数据(中文占比高)都针对中文场景优化,支持中英文混合输入
  3. GPT-4V 是"黑盒天花板":虽然细节未公开,但其在复杂多模态推理上的表现代表了当时的最高水平
  4. InternVL 挑战"小视觉编码器"假设:将视觉编码器扩展到 6B 参数后,视觉理解能力显著提升

五、数据质量 vs. 数据量

核心争议

MLLM 训练中一直存在一个关键问题:更多的数据总是更好吗?

LLaVA 的启示

LLaVA 仅使用 600K 的 CC3M 子集进行预训练对齐 + 150K GPT-4 生成的指令数据,就实现了强大的视觉-语言能力。相比之下,Flamingo 使用了 2.1B 图文对。

维度大而杂的数据小而精的数据
视觉概念覆盖广有限
对齐质量噪声大高度对齐
训练成本极高
下游表现饱和后增益递减质量陷阱

数据质量的维度

  1. 图文相关性(Image-Text Alignment):图像和文本描述是否真正匹配?LAION-5B 中大量图文对噪声严重
  2. 语言多样性:描述是否涵盖多种表达方式?过于模板化的描述(如 "Photo of...")不利于泛化
  3. 视觉多样性:是否覆盖不同场景、风格、文化背景?
  4. 指令复杂性:指令是否涉及推理、空间关系、计数等多维能力?

实际指导原则

数据筛选优先级(从高到低):
1. 高相关性图文对(CLIP score 过滤) ← 最重要
2. 多样化指令覆盖(推理 / 空间 / 计数)
3. 多轮对话数据(提升交互深度)
4. 数据量扩展(在质量达标的基础上)

核心经验: 数据质量优先于数据量。好的图文对 > 1亿对有噪声的图文对。但在质量有保障的条件下,更多数据仍然可以提升泛化性——两者不是非此即彼,而是质量先行,数量随后


六、挑战与前沿方向

6.1 幻觉问题

MLLM 在视觉描述中可能"编造"图像中不存在的内容。这是目前最突出的问题之一:

  • 物体幻觉:描述不存在的物体("图片里有一只狗"但实际没有)
  • 属性幻觉:错误描述物体属性("红车"但实际是蓝车)
  • 关系幻觉:错误描述物体间关系("猫在椅子上面"但实际在下面)

6.2 高分辨率视觉理解

当前 MLLM 通常将图像缩放到固定大小(如 224×224),丢失了细节信息。解决方案:

  • 动态分辨率(Qwen-VL / InternVL):根据输入图像比例动态分配 token
  • 双编码器:一个低分辨率编码器捕捉全局,一个高分辨率编码器捕捉细节
  • 滑动窗口:将大图切分为多个 patch 分别处理

6.3 多模态扩展

超越视觉 + 文本,融合更多模态:

  • 视频理解:时间维度的建模(Video-LLaMA、VideoChat)
  • 音频理解:声音 + 图像的联合推理(ImageBind、AnyMAL)
  • 具身 MLLM:连接机器人的传感器输入(PaLM-E 延续)
  • 文档理解:混合文字、表格、图表的复杂页面理解(DocLLM)

6.4 评估困境

挑战描述尝试方案
多模态基准不足大多数基准只测单一能力MME、MMBench、SEED-Bench
GPT-4V 评估偏差用 GPT-4V 作为评判者可能偏向 GPT-4-like 模型多样化评审、人工验证
幻觉标准不统一什么是"幻觉"的定义不统一POPE、CHAIR 等自动指标

七、未来展望

  1. 统一架构:一个模型无缝处理文本、图像、视频、音频乃至 3D 和传感器数据
  2. 延展推理:MLLM 在复杂视觉推理(数学、编程、科学)上的能力将远超纯文本模型
  3. 世界模型雏形:多模态理解 → 物理世界建模 → 因果关系推理
  4. 端上部署:MLLM 的小型化(小视觉编码器 + 小 LLM)将使手机、AR 眼镜等设备具备视觉理解能力

这些方向紧密连接着 [[03-多模态/03-01-连接与对齐|多模态对齐]] 的基础理论和 [[03-多模态/03-03-跨模态迁移|跨模态迁移]] 的学习范式。


关键概念

概念定义
多模态大模型 (MLLM)在 LLM 基础上扩展视觉等多种模态感知能力的大模型
连接器 (Connector)将多模态编码器输出映射到 LLM 嵌入空间的桥梁模块
Q-FormerBLIP-2 提出的可学习 Query Transformer,用于提取视觉相关信息
门控交叉注意力Flamingo 使用的在 LLM 层间插入的新增注意力机制
视觉指令微调利用 GPT-4 等模型生成多模态指令数据来微调 MLLM
幻觉 (Hallucination)MLLM 描述视觉内容时"编造"不存在的物体/属性/关系的现象
动态分辨率根据输入图像的比例和大小动态调整视觉 token 数量的策略

讨论问题

  1. LLaVA 使用极简单的线性投影连接器,性能却与更复杂的架构相近。你认为"简单性原则"在多模态大模型中是否普遍成立?什么场景下复杂连接器是必须的?
  2. MLLM 的幻觉问题是否比纯文本 LLM 更严重?为什么多模态场景下的"事实性"更难保证?
  3. 如果让你设计一个支持文本+图像+音频+传感器数据的统一 MLLM,你会选择 Q-Former 还是交叉注意力作为连接策略?为什么?
  4. GPT-4V 的训练细节未公开,但性能远超开源 MLLM。你认为"秘方"是数据、架构还是训练策略?
  5. 数据质量 vs. 数据量的争议——你如何设计一个实验来定量验证数据质量在 MLLM 训练中的价值?

延伸阅读

相关笔记

  • [[04-大模型/04-01-大模型基础|大模型基础]] — LLM 的核心原理与规模法则
  • [[03-多模态/03-01-连接与对齐|连接与对齐]] — 多模态对齐的对比学习与 CLIP 基础
  • [[03-多模态/03-03-跨模态迁移|跨模态迁移]] — 跨模态学习的三大范式
  • [[03-多模态/03-02-交互与融合|交互与融合]] — 多模态 Transformer 融合架构
  • [[04-大模型/04-05-本周阅读|第8-11周阅读]] — 必读和扩展阅读列表
  • [[讨论课/讨论04-多模态大模型|讨论04:多模态大模型]]
  • [[MOC-如何AI一切|🗺️ 返回内容地图]]

基于 MIT MAS.S60 How to AI (Almost) Anything 翻译改编