大模型多模态深入理解:从原理到实践的全面指南
2026/6/17 8:25:22 网站建设 项目流程

目录

  1. 多模态基础概念
  2. 原生多模态 vs 后挂式多模态:核心区别
  3. 后挂式多模态架构详解
  4. 原生多模态架构详解
  5. 关键模型架构对比
  6. 视觉编码器(Vision Encoder)深度解析
  7. 多模态融合策略
  8. 训练流程与数据策略
  9. 多模态推理与能力评估
  10. 前沿进展与未来趋势
  11. 附录:术语表与参考文献

1. 多模态基础概念

1.1 什么是模态(Modality)

模态是指信息的存在形式或感知通道。在人工智能领域,常见的模态包括:

模态类型示例
文本(Text)自然语言句子、段落、文档
图像(Image)照片、图表、截图
视频(Video)连续帧图像序列
音频(Audio)语音、音乐、环境音
3D 数据点云、网格、体素
传感器数据温度、压力、加速度

1.2 什么是多模态大模型(Multimodal LLM)

多模态大模型是指能够同时理解和/或生成多种模态信息的大规模神经网络模型。与纯文本的 LLM(如早期 GPT 系列)不同,多模态模型可以:

  • 理解:接收文本+图像等输入,进行跨模态推理(如图片问答、文档理解)
  • 生成:输出不同模态的内容(如文生图、文生视频、语音合成)
  • 理解+生成:既能接收多模态输入,也能产生多模态输出(如 GPT-4o)

1.3 多模态的核心挑战

  1. 表示(Representation):不同模态的数据具有完全不同的结构,如何在统一的向量空间中表示它们?
  2. 对齐(Alignment):如何让模型理解「一只猫的图片」和「a cat」在语义上是等价的?
  3. 融合(Fusion):在什么阶段、以什么方式将不同模态的信息结合在一起?
  4. 迁移(Transfer):一个模态上学到的知识能否迁移到另一个模态?
  5. 生成(Generation):如何从一种模态生成另一种模态的内容?

2. 原生多模态 vs 后挂式多模态:核心区别

这是理解当前多模态 LLM 技术路线差异的最关键问题

2.1 后挂式多模态(Post-hoc / Plugin-style Multimodal)

核心思想:先有一个强大的纯文本 LLM,然后通过外挂视觉编码器等模块,"教会"它看图。

通俗比喻:就像给一个只会读文字的人戴上了一副"智能眼镜",这副眼镜能把看到的东西翻译成文字描述,然后这个人再基于文字描述来理解和回答问题。

典型代表

  • LLaVA 系列(LLaVA, LLaVA-1.5, LLaVA-NeXT)
  • Qwen-VL / Qwen2-VL
  • InternVL 系列
  • CogVLM / CogVLM2(GLM 系列多模态)
  • DeepSeek-VL / DeepSeek-VL2
  • MiniGPT-4
  • mPLUG-Owl

架构特征

输入图像 → 视觉编码器(ViT) → 投影层(MLP/Q-Former) → [拼接到文本token序列中] → 已训练好的LLM → 输出

训练策略(通常是两阶段或三阶段):

  1. 第一阶段:预训练视觉编码器(如 CLIP),或者使用已预训练好的视觉编码器
  2. 第二阶段:对齐训练(Alignment/Pretraining)—— 训练投影层,将视觉特征映射到 LLM 的文本嵌入空间
  3. 第三阶段:指令微调(Instruction Tuning)—— 在多模态指令数据上微调整个模型

关键特点

  • LLM 主体在第二阶段之前已经是"成型"的,多模态能力是"后天添加"的
  • 视觉编码器通常是独立预训练的(如 CLIP ViT),与 LLM 的训练是分离的
  • 投影层是连接两个"独立系统"的桥梁
  • LLM 的原始文本能力基本不受影响(或影响很小)

2.2 原生多模态(Natively Multimodal / Native Multimodal)

核心思想:从模型设计之初就将多种模态作为统一的输入输出,模型在预训练阶段就同时学习多种模态的表示和它们之间的关系。

通俗比喻:就像一个天生就能看、能听、能读的孩子,所有感官能力是在成长过程中同时发展起来的,而不是后天装上去的。

典型代表

  • Gemini 系列(Gemini 1.0, Gemini 1.5, Gemini 2.0)—— 目前最典型的原生多模态模型
  • GPT-4o(OpenAI 声称是原生多模态)
  • Fuyu(Adept AI,较早期的原生多模态尝试)
  • Chameleon(Meta,早期融合的原生多模态模型)

架构特征

多种模态输入 → 统一的 Tokenizer → [混合token序列] → 统一的 Transformer → 多模态输出

训练策略

  • 从预训练阶段开始就使用多模态数据进行训练
  • 不区分"文本预训练"和"多模态对齐"阶段
  • 模型在学习语言的同时就学习了视觉、音频等模态的表示
  • 所有模态共享同一个 Transformer 主干网络

关键特点

  • 模型从"出生"就具备多模态理解能力
  • 不需要单独的对齐阶段,因为模态间的对齐是在预训练过程中自然学习的
  • 通常使用统一的 tokenizer,将所有模态都转化为离散 token
  • 理论上具有更强的跨模态推理能力

2.3 核心区别对比表

维度后挂式多模态原生多模态
模型诞生方式先有文本LLM,后加视觉能力从一开始就多模态训练
训练流程分阶段(预训练→对齐→微调)端到端统一训练
视觉编码器通常独立预训练(如CLIP)与语言模型一起训练或使用统一编码器
模态连接需要投影层/适配器连接天然统一在同一架构中
跨模态理解深度较浅,依赖文本中间表示较深,原生跨模态表示
可扩展性受限于已有LLM架构天然支持新模态扩展
训练成本相对较低(可复用已有LLM)很高(需要从头多模态预训练)
典型代表LLaVA, Qwen-VL, InternVLGemini, GPT-4o, Chameleon

3. 后挂式多模态架构详解

3.1 整体架构

后挂式多模态的架构可以用一个公式概括:

多模态LLM = 视觉编码器 + 投影层/适配器 + 预训练LLM \text{多模态LLM} = \text{视觉编码器} + \text{投影层/适配器} + \text{预训练LLM}多模态LLM=视觉编码器+投影层/适配器+预训练LLM

┌─────────────┐ ┌──────────────┐ ┌─────────────┐ │ 图像输入 │────▶│ 视觉编码器 │────▶│ 投影层 │ │ │ │ (ViT/CLIP) │ │ (MLP/QFormer)│ └─────────────┘ └──────────────┘ └──────┬──────┘ │ ▼ (视觉token拼接到文本token) ┌─────────────┐ ┌──────────────────────────────────────┐ │ 文本输入 │────▶│ 预训练 LLM (frozen/partial) │────▶ 文本输出 │ │ │ │ └─────────────┘ └──────────────────────────────────────┘

3.2 视觉编码器(Vision Encoder)

作用:将输入图像转化为一系列视觉特征向量(visual tokens)。

主流选择

  1. CLIP ViT(Contrastive Language-Image Pre-training)

    • 由 OpenAI 在 2021 年提出
    • 使用对比学习在 4 亿图文对上训练
    • 产生的视觉特征天然与文本对齐
    • 常用规格:ViT-L/14 (224/336), ViT-bigG/14
    • 是绝大多数后挂式多模态模型的首选
  2. SigLIP

    • Google 提出,使用 Sigmoid Loss 替代 CLIP 的 Softmax Loss
    • 训练更稳定,效果更好
    • 被 PaliGemma、InternVL2 等采用
  3. EVA-CLIP

    • 对 CLIP 的改进,使用 Masked Image Modeling 进行额外预训练
    • 被 InternVL 等采用
  4. DINOv2

    • Meta 提出的自监督视觉模型
    • 不依赖文本配对数据训练
    • 在某些细粒度理解任务上表现更好
  5. InternViT

    • InternLM 团队自研的大规模视觉编码器
    • InternVL 系列使用,参数量达 6B

关键参数

  • Patch Size:图像被切分为多大的小块(通常 14×14 或 16×16)
  • 分辨率:输入图像的尺寸(224×224, 336×336, 448×448 等)
  • 输出 token 数量:对于 336×336 的输入,patch size 为 14 时,输出 24×24=576 个视觉 token

3.3 投影层 / 适配器(Projection Layer / Adapter)

核心问题:视觉编码器输出的特征空间与 LLM 的文本嵌入空间是不同的,投影层负责将视觉特征"翻译"成 LLM 能理解的语言。

主要方案

3.3.1 线性投影(Linear Projection)

最简单的方案,用一个线性层将视觉特征映射到 LLM 的维度:

h v i s u a l = W ⋅ f v i s i o n + b \mathbf{h}_{visual} = W \cdot \mathbf{f}_{vision} + bhvisual=Wfvision+b

  • 代表:LLaVA v1
  • 优点:简单高效
  • 缺点:表达能力有限
3.3.2 MLP 投影(Multi-Layer Perceptron)

使用多层感知机进行更复杂的映射:

h v i s u a l = MLP ( f v i s i o n ) \mathbf{h}_{visual} = \text{MLP}(\mathbf{f}_{vision})hvisual=MLP(fvision

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询