多模态这个方向,2024 年之前大家聊的还是"怎么把图像特征和文本特征对齐",到了 2024 年下半年之后,话题明显变了——变成了"怎么让模型像人一样,看着图、听着声音、读着文字,然后自己推理出结论"。这个转变不是小修小补,而是整个研究范式的迁移。我从 2023 年底开始系统跟踪这个方向的论文,到 2026 年初回头看,发现从 Fusion 到 Reasoning Agent 再到 World Model 这条线其实非常清晰,只是大部分综述要么只讲 Fusion 的老套路,要么只盯着某个具体模型讲,缺少一条贯穿的主线。这篇内容就是把我这两年读论文、复现代码、踩坑填坑的经验串起来,给正在入门或者想快速建立全局认知的朋友一个参考框架。
不管你是做多模态大模型(MLLM)的算法工程师,还是刚进组要选方向的研究生,或者是从 CV/NLP 单模态转过来的开发者,下面这些内容应该都能帮你省掉至少两三个月的盲目摸索时间。我会从 Fusion 的基础范式讲起,一路推到 Reasoning Agent 和 World Model,中间穿插关键论文的核心思路、代码复现的坑、以及我自己在选型和实验设计上的一些判断。
1. 为什么 2024 年是多模态研究的分水岭
1.1 从"对齐"到"推理"的范式迁移
2024 年之前,多模态研究的核心命题是表征对齐。CLIP 用对比学习把图像和文本映射到同一个语义空间,BLIP-2 用 Q-Former 做跨模态桥接,LLaVA 用简单的线性投影把视觉特征喂给 LLM。这些工作的共同逻辑是:先把不同模态的特征拉到一起,再让语言模型去"理解"。
但 2024 年之后,事情起了变化。大家发现,光对齐不够用了。你给模型一张图,问它"这个场景里如果下雨了,地面会怎样",纯对齐模型只能描述图中已有的内容,没法做反事实推理。于是研究重心开始往多模态推理转移——模型不仅要看懂,还要能想、能推、能规划。
这个转变的标志性事件是 2024 年中一批 Reasoning Agent 相关工作的集中爆发。它们不再满足于 VQA(视觉问答)的准确率提升,而是开始构建"感知-推理-行动"的闭环。到 2025 年,World Model 的概念被重新激活,大家开始尝试让多模态模型在内部构建一个可预测、可模拟的世界表征。
1.2 三个阶段的划分依据
我把 2024-2026 这个时间段切成三段,依据是模型能力的质变节点,而不是简单的时间均分:
| 阶段 | 时间范围 | 核心能力 | 代表方向 |
|---|---|---|---|
| Fusion 深化期 | 2024 上半年 | 跨模态特征高效融合 | 动态融合、稀疏融合、统一 tokenizer |
| Reasoning Agent 爆发期 | 2024 下半年-2025 | 多步推理、工具调用、规划 | 多模态 CoT、视觉 Agent、GUI Agent |
| World Model 探索期 | 2025-2026 | 内部世界模拟、预测、反事实 | 视频世界模型、具身世界模型 |
这个划分不是绝对的,三个阶段之间有重叠,但每个阶段的核心问题确实不同。Fusion 阶段问的是"怎么融",Reasoning 阶段问的是"怎么想",World Model 阶段问的是"怎么模拟"。
1.3 为什么现在必须建立全局视角
我见过太多人一头扎进某个具体模型,比如花两个月复现 LLaVA 的某个变体,结果发现这个变体已经被新的融合范式取代了。多模态这个领域现在的迭代速度是月级别的,没有全局视角,很容易做无用功。
建立全局视角的好处是:你知道当前工作在整个技术图谱中的位置,知道它的上游依赖什么、下游被什么取代、边界在哪里。这样选方向、读论文、做实验都会更有针对性。
2. Fusion 的底层逻辑:不只是"拼接"
2.1 早期融合、晚期融合与中间融合的本质区别
多模态融合按融合发生的阶段,传统上分三类:
- 早期融合(Early Fusion):在输入层就把不同模态拼在一起。比如把图像 patch 和文本 token 拼成一个长序列,一起送进 Transformer。优点是模态间交互充分,缺点是计算量大,而且不同模态的采样率差异会导致对齐困难。
- 晚期融合(Late Fusion):各模态独立编码,最后在决策层融合。比如图像走 CNN、文本走 BERT,最后拼接特征做分类。优点是灵活、易并行,缺点是模态间细粒度交互丢失。
- 中间融合(Intermediate Fusion):在编码器的中间层做跨模态交互。这是目前主流 MLLM 采用的方式,典型代表是 Flamingo 的 cross-attention 和 LLaVA 的投影层。
但到了 2024 年,这个分类已经不够用了。因为出现了动态融合和稀疏融合等新范式,融合不再是静态的、固定的,而是根据输入内容自适应调整。
2.2 动态融合与稀疏融合的工程取舍
动态融合的核心思想是:不是所有 token 都需要跨模态交互。比如一张图里大部分区域是背景,只有少数区域和问题相关,那就只对这些相关区域做融合。
我复现过一个基于门控的动态融合方案,核心代码如下:
class DynamicFusionGate(nn.Module): def __init__(self, dim, num_modalities=2): super().__init__() self.gate = nn.Sequential( nn.Linear(dim * num_modalities, dim), nn.Sigmoid() ) def forward(self, modality_features): # modality_features: list of [B, N, D] concat = torch.cat(modality_features, dim=-1) gate_weight = self.gate(concat) # [B, N, D] fused = sum(gate_weight * f for f in modality_features) return fused这个方案实测下来,在 VQA 任务上能省 30%-40% 的计算量,精度损失在 1% 以内。但坑在于:门控网络本身需要额外训练,如果训练数据不够,门控会退化成均匀权重,动态融合就变成了静态平均。
稀疏融合更激进,直接对注意力矩阵做稀疏化。我试过用 Top-K 注意力,只保留每个 token 最相关的 K 个跨模态连接。K=8 的时候,计算量降到原来的 1/4,但精度在细粒度任务(如 OCR-based VQA)上掉了 3-5 个点。所以稀疏融合适合粗粒度任务,细粒度任务还是得用稠密融合。
2.3 统一 tokenizer:融合的终极形态?
2025 年出现了一个趋势:统一 tokenizer。不再区分图像 tokenizer 和文本 tokenizer,而是用一个统一的离散化方案把所有模态都变成 token 序列。代表工作是 Chameleon 和它的后续变体。
统一 tokenizer 的好处是架构极度简洁——就是一个自回归 Transformer,什么模态进来都是 token,什么模态出去也是 token。但难点在于:图像的连续性和文本的离散性本质上是冲突的。图像 tokenizer 要做到高保真,码本就得很大,码本大了训练就不稳定。
我实测过一个基于 VQ-VAE 的统一 tokenizer,码本大小 8192,图像重建 PSNR 只有 28dB 左右,细节丢失明显。码本加到 16384,PSNR 到 32dB,但训练时出现了码本坍缩——大部分 token 只用了少数几个码字。后来用了 EMA 更新码本 + 重启死码字,才勉强稳住。
提示:统一 tokenizer 目前更适合生成任务,理解任务上还是分离式 tokenizer + 投影层更稳。选型时先明确你的任务是理解还是生成。
3. Reasoning Agent:多模态模型怎么"想"
3.1 多模态 CoT 和纯文本 CoT 的关键差异
Chain-of-Thought(CoT)在纯文本 LLM 上已经很成熟了,但搬到多模态上,问题完全不一样。
纯文本 CoT 的推理链是线性的:前提 A → 推导 B → 结论 C。但多模态 CoT 的推理链是图状的:视觉证据、文本证据、常识知识三者交织,推理路径不是一条线,而是一张网。
举个例子,给一张厨房照片,问"这个人下一步最可能做什么"。纯文本 CoT 会写:"他在切菜 → 切完菜可能要炒 → 所以下一步是开火"。但多模态 CoT 需要同时考虑:砧板上的食材状态(视觉)、灶台是否已经有锅(视觉)、当前时间是否是饭点(常识)、这个人的动作朝向(视觉)。这些证据的权重不是固定的,而是动态变化的。
我复现过一个多模态 CoT 方案,核心是在每个推理步都做一次视觉注意力重聚焦:
def multimodal_cot_step(image_feats, text_context, step_idx): # 根据当前文本上下文,重新计算视觉注意力 attn_weights = compute_cross_attention(text_context, image_feats) focused_visual = attn_weights @ image_feats # 生成当前步的推理文本 reasoning_step = llm.generate(text_context, focused_visual) return reasoning_step, focused_visual这个方案在 ScienceQA 上比单步推理提升了 8 个点,但推理延迟增加了 3 倍。所以实际部署时需要在精度和延迟之间做权衡。
3.2 工具调用型 Agent 的架构设计
2025 年最火的多模态 Agent 形态是工具调用型。模型不自己完成所有推理,而是学会在合适的时候调用外部工具——比如调用 OCR 工具读文字、调用检测器找物体、调用计算器做算术。
这种架构的核心是工具选择策略。我试过两种方案:
- 基于 prompt 的工具选择:在 system prompt 里列出所有工具的描述,让模型自己决定调哪个。优点是灵活,缺点是模型经常选错工具,尤其是工具描述相似的时候。
- 基于分类器的工具选择:单独训练一个小分类器,根据当前上下文预测该调哪个工具。优点是准确率高,缺点是需要标注数据,而且新工具加入时要重新训练。
实测下来,混合方案最稳:先用分类器缩小候选工具范围,再用 prompt 让模型在候选里选。这样既保证了准确率,又保留了灵活性。
3.3 视觉 Agent 在 GUI 场景的落地经验
GUI Agent 是 Reasoning Agent 里落地最成功的场景之一。模型看着屏幕截图,决定点哪里、输入什么。
我参与过一个 GUI Agent 项目,踩过的坑包括:
- 分辨率问题:屏幕截图分辨率太高,直接送进模型会爆显存。我们的方案是先做区域检测,只把相关区域裁剪出来送进模型。但区域检测本身会漏,漏了之后 Agent 就瞎点。
- 坐标映射:模型输出的是归一化坐标,映射回实际屏幕坐标时,如果屏幕有缩放或双屏,映射会错位。后来我们统一用绝对坐标 + 屏幕 ID 才解决。
- 动作空间设计:一开始动作空间设计得太细(点击、双击、右键、拖拽、滚动……),模型学不会。后来简化成 click、type、scroll 三类,准确率立刻上去了。
注意:GUI Agent 的评测不能只看单步准确率,要看任务完成率。单步准确率 90% 的 Agent,10 步任务的完成率可能只有 35%。
4. World Model:多模态的下一站
4.1 World Model 和传统多模态模型的本质区别
传统多模态模型是判别式的:给输入,出输出。World Model 是生成式 + 预测式的:它不仅理解当前状态,还能预测未来状态,甚至能模拟"如果做了某个动作,世界会怎样"。
这个区别听起来抽象,举个例子就清楚了。传统 VQA 模型看到"一个球在桌上",问"球会掉下来吗",它只能根据训练数据里的统计规律回答。World Model 则会内部模拟:球的位置、桌子的边缘、重力方向,然后推演"球如果继续往边缘滚,会掉下来"。
2025 年的 World Model 工作主要集中在视频预测和具身模拟两个方向。视频预测是给定前几帧,预测后几帧;具身模拟是给定当前观测和动作,预测下一时刻的观测。
4.2 视频世界模型的训练难点
我复现过一个基于 Diffusion 的视频世界模型,训练过程中的主要难点:
- 时序一致性:Diffusion 模型逐帧生成时,帧与帧之间容易闪烁。解决方案是在去噪过程中加入时序注意力,让相邻帧共享信息。
- 长程预测漂移:预测 10 帧还行,预测 50 帧之后画面就糊了。根本原因是误差累积。后来用了 teacher forcing + scheduled sampling,让模型在训练时逐渐适应自己的预测误差,才有所缓解。
- 计算成本:视频世界模型的训练成本是图像模型的 10 倍以上。一张 A100 跑一个中等规模的视频世界模型,收敛需要 2-3 周。
4.3 具身场景下 World Model 的评估指标
具身场景的 World Model 评估和视频预测不一样,不能只看 PSNR/SSIM。更重要的指标是:
| 指标 | 含义 | 为什么重要 |
|---|---|---|
| 任务成功率 | 基于预测做规划后的实际完成率 | 直接反映 World Model 的可用性 |
| 预测一致性 | 多步预测后状态是否自洽 | 反映模型是否真的学到了物理规律 |
| 反事实准确率 | 对未执行动作的预测准确度 | 反映模型是否能用于规划 |
| 样本效率 | 达到目标性能所需的交互次数 | 反映模型在真实场景的可行性 |
我实测下来,反事实准确率是最难提升的。因为训练数据里只有"实际执行了的动作"的结果,没有"没执行的动作"的结果。要提升这个指标,要么做大量随机探索采集数据,要么用模型自身生成反事实数据做自训练。
5. 从 Fusion 到 World Model 的工程落地路线
5.1 不同阶段的选型建议
如果你现在要启动一个多模态项目,选型取决于你的目标阶段:
- 做理解类任务(VQA、图像描述、文档理解):直接用成熟的 MLLM(如 Qwen-VL、InternVL 系列),在 Fusion 层面做微调即可。不要自己从头训,成本太高。
- 做推理类任务(多步问答、Agent):在 MLLM 基础上加 CoT 和工具调用框架。重点是 prompt 工程和工具设计,模型本身微调量不大。
- 做预测类任务(视频预测、具身规划):需要专门的 World Model 架构,建议从开源视频生成模型出发做适配,不要从零开始。
5.2 数据管线的搭建要点
多模态项目的数据管线比单模态复杂得多,核心难点是对齐和清洗。
对齐方面,图像-文本对的时间戳、空间位置、语义粒度都要对齐。我见过一个项目,图像是 1fps 采的,文本是事件级别的,两者时间粒度差了两个数量级,导致训练时模型学到的都是噪声。
清洗方面,多模态数据的噪声来源更多:图像模糊、文本错位、模态缺失、标注不一致。我的经验是,清洗管线要分三级:粗筛(去掉明显坏的)、精筛(用模型打分过滤)、人工抽检(每个批次抽 1% 人工看)。三级下来,数据质量能提升一个档次。
5.3 评测体系的搭建
多模态评测不能只看一个指标。我的建议是建一个分层评测体系:
- 底层:感知指标(检测 mAP、OCR 准确率、检索 Recall)
- 中层:理解指标(VQA 准确率、描述 BLEU/CIDEr)
- 上层:推理指标(多步任务成功率、Agent 完成率)
- 顶层:应用指标(端到端业务指标)
每一层都要有对应的测试集,而且测试集要定期更新,防止过拟合。
6. 我踩过的几个典型坑
6.1 模态缺失时的鲁棒性
实际部署中,模态缺失是常态——摄像头坏了、麦克风没开、文本描述为空。我一开始没考虑这个,模型遇到缺失模态直接崩。后来加了模态 dropout 训练,随机在训练时丢掉某个模态,模型才学会在缺失情况下做推理。
但 dropout 比例很关键。丢太多,模型学不到跨模态关联;丢太少,鲁棒性不够。我实测下来,每个模态的 dropout 概率设在 0.1-0.2 之间比较合适。
6.2 跨模态对齐的隐式偏差
多模态模型容易学到模态间的虚假相关。比如训练数据里"厨房"总是和"女性"一起出现,模型就会把这两个概念绑定。这个问题在 2024 年之后被反复讨论,但至今没有完美的解决方案。
我的做法是在数据层面做去偏:统计各模态的共现频率,对高频共现做降采样。同时在损失函数里加一个正则项,惩罚模态间的过度依赖。效果有限,但比什么都不做强。
6.3 推理延迟的优化
多模态模型的推理延迟是单模态的 3-5 倍,因为视觉编码本身就很耗时。优化手段包括:
- 视觉 token 压缩:用 Q-Former 或 Perceiver 把视觉 token 从几百个压到几十个
- 早退机制:简单问题在浅层就输出,复杂问题才走完全部层
- 量化:视觉编码器用 INT8,LLM 部分用 INT4
我实测下来,视觉 token 压缩的性价比最高,能把延迟降 40% 左右,精度损失控制在 2% 以内。
7. 2026 年之后可能的方向
7.1 统一世界模型的可能性
现在 Fusion、Reasoning、World Model 还是三个相对独立的方向,但 2026 年之后可能会出现统一世界模型——一个模型同时具备融合、推理、预测能力。这个方向目前还在早期,主要难点是训练目标和架构的统一。
7.2 多模态 Agent 的自我进化
现在的 Agent 还需要人工设计工具和 prompt,未来可能会走向自我进化——Agent 自己发现需要什么工具,自己生成训练数据,自己迭代。这个方向 2025 年底已经有了一些初步工作,但离实用还有距离。
7.3 评测范式的革新
现在的评测还是以静态测试集为主,但 Agent 和 World Model 是动态的、交互式的,静态评测根本测不出真实能力。未来可能会出现交互式评测——让模型在模拟环境里跑任务,根据任务完成情况打分。这个方向需要大量的环境建设工作,但可能是最有价值的。
我在实际读论文和做项目的过程中最大的体会是:多模态这个领域,跟风容易,扎根难。每年都有新概念出来,但真正能沉淀下来的,都是那些把底层问题想清楚了的工作。Fusion 的底层是表征学习,Reasoning 的底层是搜索和规划,World Model 的底层是动力学建模。把这三个底层搞明白,上面怎么变都不慌。
最后分享一个小技巧:读多模态论文时,先看它的 Fusion 策略,再看它的推理框架,最后看它的评测方式。这三块看懂了,这篇论文的核心贡献基本就抓住了。如果三块里有一块说不清楚,那这篇论文大概率是灌水。