多模态模型这几年火得一塌糊涂从图文对读到视频生成几乎天天都有新论文刷屏。但真把“多模态理解与生成”这摊子事从头捋一遍你会发现市面上大多数科普文章都停留在“某模型能干什么”的层面很少有人把底层的任务分类和架构血统讲清楚。这篇综述我计划用几篇的篇幅来拆今天先聊第一部分前言、任务分类以及架构演进的主线逻辑。先说个背景我在今年的项目实践中被问得最多的一类问题就是同样的框架为什么有人调出来就是能跨模态泛化有人调出来就是单模态过拟合这背后其实不是炼丹玄学而是对问题分类和架构选择的底层理解差异。所以这一篇我尽量把思路理顺少堆术语多讲因果让刚入坑的读者能照着图索骥也让有经验的同行能快速定位自己的方法在研究版图里的坐标。1. 多模态先分清概念再谈技术1.1 “多模态”到底在说什么严格来说多模态Multimodal指的是模型同时处理多种信息形式——文本、图像、音频、视频、结构化数据、传感器信号等。但这里有几个经常被混用的概念必须掰开多模态、跨模态Cross-modal、多模态级联Multimodal Cascade。打个比方多模态像是同一个人同时听懂中文和英文跨模态像是把一份中文文件翻译成英文再给别人看而级联是“先语音识别成文字再让文本模型去理解”这种流水线作业。这三者在工程上的含义差异巨大一个真正多模态融合的模型和两三个单模态模型串联出来的系统哪怕任务指标差不多其鲁棒性、迁移能力和可解释性完全是两回事。1.2 理解与生成两条技术路线分岔口多模态的任务体系可以粗分成两大阵营理解类任务目标是“看明白”或“听明白”典型如图文匹配Image-Text Matching、视觉问答VQA、视觉蕴含Visual Entailment、指代定位Referring Expression Grounding。这类任务的输出通常是分类标签、句子判断或一组坐标本质是对语义空间做判别或对齐。生成类任务目标是“造出来”典型如图像描述Image Captioning、文本到图像生成Text-to-Image、音频到视觉生成、视频摘要等。输出的不仅是语义判断而是要和输入模态保持高一致性、高保真度的新模态内容。这个分野极其重要因为它直接决定架构设计的两个核心变量表征空间的构建方式和损失函数的选择偏好。理解任务往往需要把不同模态拉进一个共享空间做“距离度量”而生成任务则需要一个条件概率模型在保证模态一致性的前提下完成跨模态解码。2. 任务谱系从对齐、预测到创造2.1 对齐类任务Alignment——练基本功对齐是多模态理解里最基础也最关键的能力。它要求模型能建立不同模态片段之间的对应关系比如一张猫的图片与“猫”这个词对应。对齐任务里有个著名的做法是CLIP式的双塔结构把图像和文本分别编码进同一空间然后让匹配对的相似度高于不匹配对。这个任务看似简单却撑起了后来无数多模态模型的地基。为什么对齐这么重要因为跨模态理解的第一性问题就是“两个模态说的是不是同一件事”。如果你连这个映射关系都学不准后面所有复杂任务都是空中楼阁。实践中我见过很多团队跳过对齐直接上跨模态生成结果生成的图像和文本描述常有“驴唇不对马嘴”的问题根因就在这里。2.2 判别类任务Discrimination——审题与判断判别类任务是在对齐基础上加决策能力。VQA是最典型的例子给一张图问“这个场景发生在室内还是室外”模型不仅要构建图片区域与问题词Token的对应关系还要综合全局语义做判断。GAN早期的人脸属性分类也可归入此类。这类任务对模型的需求不是一个固定的输出标签而是对给定条件下的答案分布建模。深层模型结构往往要引入跨模态注意力让视觉特征和问题特征充分交互才能获得接近人类水平的判断力。2.3 生成类任务Generation——从评判到创造生成是难度跃迁最大的方向。它要求模型不仅要“懂”输入模态还要能以另一个模态的形式重构出内容。比如图文生成输入文本生成相关的图像、视频图像描述输入图像生成文本语音到表情/姿态输入人声生成说话人的面部表情生成任务和前两类最大的区别在于它里面嵌着一个模态转换的信息瓶颈。比如文生图输入“一只戴帽子的柴犬在雨天街头散步”这个句子本身只有十几个Token但要输出的图像有几十万像素。模型需要自动脑补大量细节——帽子的形状、狗毛的颜色层次、雨滴打在石板路上的反射——这些信息不存在于输入文本中模型必须依赖在大规模数据上学到的先验来做“合理想象”。这个先验质量的优劣直接被架构和训练数据分布决定。3. 架构演进主线从拼接、双塔到融合3.1 早期拼接式架构简单粗暴但天花板低最早的做法是把各模态特征向量拼起来输入给后面的全连接或浅层网络。例如把图像的CNN特征和文本的RNN/GloVe特征拼接后过个多层感知器MLP做分类。这类做法在2015-2017年间非常常见优点是实现简单、训练容易缺点是模态间的交互只发生在拼接后的高维空间中而且一旦某一模态的特征表达力更强另一个模态就很容易被淹没。我当时做过一个实验用拼接式架构做图文匹配发现模型几乎完全依赖文本特征做决策图像特征的贡献趋近于零。原因是训练数据里文本特征的方差天然比图像特征高SGD更新梯度时很容易将图像特征压到无效区间。这也是为什么后来的工作都强调“早期融合”或“深层融合”——拼接本质是晚期且浅层的交互信息在融合前已被压缩再想找回就难了。3.2 双塔对比式架构CLIP把这条路冲到极致轮子重新发明了一次先说结论CLIP式的对比式双塔结构可以说是当前多模态预训练里工程可落地性最强的方案。它的架构极简一个文本编码器把句子编码为向量一个图像编码器把图片编码为向量用对比损失例如InfoNCE拉近正样本对、推远负样本对它的核心贡献不是多新鲜的机制而是把“大规模弱监督图文对齐”这条路跑通了用数亿级别的图文pair学到了非常强的通用视觉表征。这套架构在后来的各种多模态模型中几乎成了标配组件生成模型中用它做文本-图像对齐约束理解模型中用它做跨模态检索。但双塔结构有个众所周知的短板模态交互的深度不足。图像和文本只在最后的向量层面做点积中间没有任何Token级的交互。这让它在细粒度对齐上比如指代定位、视觉推理表现不如融合式架构。所以你会发现几乎所有后来的多模态理解模型在做微调时都引入了跨模态注意力层来弥补这个缺陷。3.3 融合编码器架构让模态真正对话融合编码器架构是多模态理解方向的绝对主流。核心思路是把文本Token和图像区域各自编码后送入同一个Transformer的Self-Attention层里做充分交互。典型的做法是文本经Tokenizer转为Token序列图像经视觉编码器分块成Patch Embedding两者拼接成一个长序列送入跨模态编码器这就在每一层Self-Attention里实现了Token级别的跨模态交互图像Patch可以与文本Token相互Attention语义对齐的粒度细腻得多。代价也很直接计算量随序列长度平方增长长视频或高分辨率图像下直接爆炸。我实测过一个经典的中量级融合模型处理一张224×224的图像加128个文本Token在一次前向里要跑几十万次注意力计算推理速度虽然比双塔架构慢一个数量级但在细粒度任务上的精度收益却肉眼可见。实践里的折中方案是用双塔做粗筛再用融合编码器做精排或者干脆训练一个双层检索架构。3.4 统一生成式架构万物皆Token2020年后生成式架构开始反向吞并理解任务。这种思路本质是把各类模态都统一为“离散Token序列”然后训练一个纯自回归或前缀自回归Transformer来预测下一个Token。输入图像变成视觉Token序列输入文本变成文本Token序列目标可以是文本Token、视觉Token或混合序列。这套思路继承了GPT式建模的简洁与Scaling Law红利只要数据够多参数够大任务边界可以被“下一个Token预测”统一吸收。当然问题也很明显——视觉Token基于离散编码如VQGAN信息损失难以避免自回归生成图像比扩散方法慢多模态序列长度会成倍放大算力消耗。而目前业界更主流的方案是“组合大礼包”用对比双塔做对齐约束用融合编码器做理解任务再用扩散式或自回归式生成头做生成任务由一个统一的预训练框架串联起来。这种架构的工程复杂度极高但对任务覆盖率和效果上限的追求让团队宁可选它。4. 架构选型的实操心法4.1 按任务谱系选底座综合我实践中的判断我给出一个选型参考表供刚起步的团队快速对齐任务类型推荐架构关键理由图文粗粒度检索双塔对比式速度快、便于海量向量索引细粒度图文匹配融合编码器Token级交互捕获局部语义VQA/视觉推理融合编码器 跨模态注意力需深层推理和指代关联基础文生图扩散模型 文本编码器生成质量高、可控性强高级视频生成统一生成式/扩散式扩展时间维度和跨模态一致性是关键这个表不是教条如果你资源充足、数据丰富完全可以尝试融合式统一架构去覆盖所有任务。但资源有限时按表走能少走一大段弯路。4.2 双塔和融合如何协同其实很多人忽略了“先双塔、再融合”的级联思想。以检索为例双塔模型把所有候选集编码成向量库用余弦相似度召回Top-100。随后融合编码器逐一处理这100个候选做精排打分。这个方案兼顾了速度和精度在多模态问答系统里非常实用。我在一个资讯类问答Demo里实践过这套最终线上表现是pipeline延迟低于300ms检索精度比纯双塔高了8%人工评测的Top-1准确率。如果一上来就只用融合编码器处理全库匹配哪怕库里就5万条延迟也分分钟过秒级。所以不要迷信架构先进性工程中往往是简单组合拳更可靠。4.3 表征对齐里的损失函数配置实践中对比损失的温度参数Temperature极其敏感。温度太小负样本压力过大训练震荡明显温度太大正负样本差异模糊学出来的表征接近均匀分布。经验值上小规模数据用0.07左右起步大规模数据可以放宽到0.1-0.2但要监控正样本相似度分布的变化趋势。我自己踩过一次坑某次配对数据只有20万条把温度设为0.05训练到一半时loss突然暴涨排查半天才发现是正负样本相似度分布过度重叠温度太低导致难负样本主导了梯度方向。办法是退回0.1再把梯度裁剪打开训练瞬间稳定下来。这种细节型的坑不跑过一遍根本防不住。5. 常见问题与暗坑实录5.1 模态数据规模不均衡怎么办实践中极少有数据集能保证各模态数据量均衡。中文社区里的公开图文数据本来就比英文少一个量级而音频或视频数据通常更稀缺。直接混合训练时数据量大的模态容易主导表征空间的分布。我的处理办法是多阶段训练先用数据量大的模态对如图文做基础对齐预训练再用稀缺模态对做轻量微调微调时给稀缺模态更高的学习率并冻结主模态编码器的底层。这避免了稀缺模态在联合训练中直接被淹没。5.2 评估指标要分层看多模态模型的评估绝对不要只盯一个指标。图文检索要看R1/R5/R10生成任务要看FID/CLIP-Score/人工评估VQA要看准确率但也要看答案分布的多样性。指标的客观性各有局限多保留几组指标更好对照。比如经典指标CLIP-Score对生成的图像和文本一致性敏感但它本质奖励“与CLIP表征空间近”而CLIP表征空间本身是数据集偏见的产物。我在生成项目里常发现CLIP-Score好看、但人类觉得图像风格高度趋同于是后加上手工设计的“多样性指数”来辅助评估。5.3 跨模态生成的幻觉问题生成式多模态最大的暗坑是幻觉Hallucination模型生成了输入中并不存在的实体或属性。比如你说“穿蓝色衬衫的男人在室内”模型可能会生成街景。根因是训练数据里视觉先验过强文本条件弱化时模型倾向填充自己最“熟悉”的视觉场景。缓解办法是在训练数据上做对抗过滤——筛掉描述与图像内容不匹配的样本同时推理时提高文本条件的引导权重Guidance Scale让条件信息更强地约束生成过程。但引导权重也不是越高越好过高会出现色彩饱和、构图僵硬的artifact我常用的区间是7-12按任务调整。6. 我看多模态未来的三条判断先说清楚这不是行业预测那种空话而是基于一线实践对研究方向的几个直觉判断。第一个判断对比式对齐与生成式预训练会持续融合。当前的趋势已经很明显纯双塔越来越少独立出现更多是作为生成模型的对齐约束器存在。而纯生成架构也意识到没有对比层的表征规整生成质量会有明显塌陷。两条路不是二选一而是不同训练阶段中交替使用的两种力量。第二个判断音频与视频的跨模态建模会显著拉开下一波差距。目前行业内成熟的多模态系统普遍是图文两模态音频和视频的加入会把数据量和计算复杂度再次放大一个量级但也正是当前技术溢价最高的方向。谁先在这个维度上跑通可靠的长度泛化谁就能在数字人、具身智能等应用里抢占身位。第三个判断评估体系将被迫跟上架构演进的步伐。现有指标很难区分“真理解”和“模仿式输出”很多高指标模型被人类挑出低级错误。后势一定会有更强调跨模态因果推理、模态缺失鲁棒性、反事实判断的评估集出现而不是只在静态配对数据上打分类分数。写在后面一点实操体会我从零搭过多模态底座也救过不少半途崩坏的训练流程最大的体会有两点一是任务谱系先分清再动手二是架构选型别只看论文卖点要多算自己数据规模和算力约束下的账。如果你决定入坑多模态我建议先用公开数据集比如几十万量级的图文对完整跑一遍双塔对比融合微调的整个链路摸透每个环节的显存占用、IO瓶颈和指标涨跌规律再上数据、上参数。先把小而全的闭环走通比直接在超大模型上盲目复现可靠得多。下一篇我会详细拆解跨模态注意力机制的内部设计包括几种主流变体在推理能力上的对比和一些我自己做过的消融实验结论。篇幅会比较长但里面每个数字都是跑过多次的真实结果值得蹲一等。
阅读完成 · 觉得有帮助?