资讯动态

多模态预训练的物理规律:知识流动、模态协同与训练配方

发布时间:2026/8/28 6:40:18 来源:尧图企业网站定制
最近在阅读多模态预训练方向的最新论文时能明显感受到一个趋势研究者不再满足于报出一个更高的 Accuracy 或者 CIDEr 分数而是开始像物理学家一样追问“这套预训练系统为什么有效、知识在系统内部怎样流动、哪些设计对最终效果是本质性的”。这正是 Towards Physics of Multimodal Pretraining: Knowledge Flow, Modality Synergy, Early Unification, and Recipes 这类标题想要表达的态度。它并不是要真的把物理公式引入多模态而是希望把多模态预训练从“经验调参”逐步推向“规律可归纳、配方可复制”的工程科学。这类文章最适合两类读者。一类是算法工程师日常会用到 CLIP、BLIP、BEiT 等预训练模型但不太清楚双塔结构、融合结构、早期统一结构之间到底差在哪里另一类是准备进入多模态预训练方向的同学想理解跨模态知识为什么会从图像流到文本、又会因为什么原因失灵。围绕标题中的四个关键词本文会梳理多模态预训练的概念边界、架构演进和知识流动机制并结合可复现的配置与训练代码片段给出一个偏向工程落地的“Recipe 思路”。学习建议本文不是一篇只讲宏观概念的科普而是把论文标题拆成四个具体问题对应四个可以操作的观察维度。建议你带着“如果我要复现这套预训练方案需要在哪些位置做决定”这个问题去读。文章会先拆概念再讲架构演进然后深入到知识流动机制最后给出一套可以照着写的训练配方后文会不断回到这个视角。1. 背景为什么要研究多模态预训练的“物理规律”1.1 多模态预训练为什么值得琢磨多模态预训练简单说就是让一个模型在海量图文配对、视频音频配对或其他跨模态数据上先学一遍通用表示之后再迁移到下游任务。常见做法是把图片、文本、语音等原始信号交给各自的编码器处理然后通过对比学习、掩码重建、生成式损失等目标让模型学会“图像里的内容”与“句子里的描述”之间的对应关系。从专业角度看多模态预训练的核心问题是模态对齐Modality Alignment与表示融合Modality Fusion。对齐负责回答“图像里的一辆车”和“文本中的 a car”是否指向同一个语义实体融合负责回答“两部分信息应该如何组合才能支持下游推理”。预训练阶段如果处理不好后续接入视觉问答、图文检索、视频理解等任务时都会出现瓶颈。这里说的“对齐”并不是要把两种模态压成完全相同而是要找到一种共享的语义空间让两种模态的表示既可比、又互补。1.2 论文标题里的四个关键词其实就是一套研究路线标题中 Knowledge Flow、Modality Synergy、Early Unification、Recipes 这四个词拆开看分别对应四个问题知识是怎么在模态之间流动的多模态是否真的产生了协同而不是干扰应该从哪一层开始统一模态输入整套训练方案能否被清晰复现把这四个问题连起来其实就是一套完整的多模态预训练研究路线先理解知识如何流动再判断模态是否协同接着选用合适的统一架构最后用可复现的配方把实验固化。这四个关键词并不是互相独立的。比如 Early Unification 会直接影响 Knowledge Flow 的路径Knowledge Flow 是否顺畅又决定了 Modality Synergy 能否出现而 Recipes 则是把前三者落地的工程手段。理解它们之间的关系比单独记某个模型的效果更重要。这种“找规律”的思路就是标题里 Physics 一词想表达的意思不只关心“这个模型跑出了多少分”更关心“在多模态这种多变量系统里哪些规律是稳定的哪些现象是偶然的”。1.3 这篇文章你能带走什么读完本文后你应该能回答几个问题。第一多模态预训练主流的三种架构路线分别是什么它们在知识流动上的差异在哪里。第二对比学习、掩码重建和生成式目标分别以什么方式让知识跨模态流动什么情况下这些流动会失败。第三早统一结构的设计细节和适用边界是什么。第四一份可落地的多模态预训练 Recipe 应该包含哪些组成部分以及如何通过配置和监控发现问题。最后我会给出一个常见的训练问题排查清单和一些工程建议方便你直接对照使用。2. 核心概念拆解先理解这四个关键词2.1 什么是多模态预训练多模态预训练的核心目标是让模型能够同时接收并理解多种输入方式例如图像与文本、音频与视频。预训练阶段通常使用大规模对齐数据通过设计合理的自监督或弱监督目标让模型学到与具体下游任务无关的通用表示。训练完成后这套表示可以迁移到图文检索、视觉问答、图文生成、多模态对话等任务上省去从零训练的成本。与单模态预训练相比多模态预训练的难点在于“如何对齐”和“如何融合”。单模态只需要学习一个模态内部的分布而多模态需要处理两种甚至多种分布之间的对应关系这意味着模型要同时具备模态专有表示和跨模态共享表示。早期方法往往把这两种表示混在一个网络里导致训练不稳定后来逐渐形成双塔、融合、早期统一三种不同的解决思路后文会逐一展开。2.2 Knowledge Flow知识如何在模态间流动Knowledge Flow 一词语感上很像知识图谱里的“知识流动”但在多模态预训练语境下它更强调的是模态间的信息转移过程。比如一张图片里包含了颜色、形状、纹理、物体关系对应的文本描述里包含了语义标签、语法结构、常识关系。预训练的目标之一就是让文本编码器学到的一部分语义知识“流向”视觉表示同时也让视觉表示中的细节知识反哺文本表示。这种流动并不总是顺畅的。如果图像分支和文本分支参数完全隔离只在最后的对比头里做一次点积交互那么知识流动路径就比较窄如果使用早期统一结构让两种模态在同一个 Transformer 内不断做自注意力交互知识流动路径就会更深。观察知识流动是否发生最直接的方式是看单模态输入情况下模型是否依然能保留跨模态常识比如只给一张图片模型能否在零样本分类中输出正确的语义类别这本质上是文本知识是否成功流入视觉表示的检验。2.3 Modality Synergy模态协同的效果与依赖Modality Synergy 描述的是多模态模型是否产生了“112”的效果。理想情况下图文联合预训练后模型在下游视觉任务上即使只用单模态输入也能比单模态预训练模型表现得更好这种效果说明知识确实从文本侧流动到了视觉侧。协同效果依赖几个条件第一两种模态的数据要存在足够的互信息如果图片和文本只在表面层面弱相关协同效果有限第二模型容量要足够容纳双模态信息过小的骨干网络很容易把两种信息压成一个次优折中第三训练目标的权重需要平衡如果对比损失长期主导模型可能只学会全局对齐而没有学会细粒度的语义细节。现实中很多多模态模型的“协同”其实是假象。模型可能在某个 benchmark 上分数很高但当你只输入图像、屏蔽文本时性能就会大幅下降这说明模型实际上没有学会从图像中提取足够丰富的语义只是在利用训练分布里的浅层相关性。真正可靠的协同应该经得起“单模态探测”也就是把另一种模态输入调成空或随机噪声模型依然能保留大部分单模态能力。2.4 Early Unification从输入层开始统一Early Unification 指的不是简单的“早融合”而是强调在输入层就完成统一。过去很多多模态模型的做法是图像分支用 ViT 出 patch token文本分支用 BERT 出 word token然后在最后几层做 cross-attention。Early Unification 更进一步把图像 patch、文本 token甚至音频帧都映射到同一个离散词表空间形成一条可以串行处理的 Unified Token Sequence再交给同一个 Transformer 骨干网络。这样设计的收益很明显骨干网络只维护一套自注意力参数模态间的交互从第 1 层就开始发生不需要单独设计 two-stream cross-attention。代价是输入空间高度统一后跨模态数据可能会互相干扰需要更精细的 Mask 策略和训练配比来保证各模态都能学到有效表示。同时因为序列长度等于图像 token 与文本 token 之和计算开销也会明显增加不是所有场景都适合这种结构。2.5 Recipe可复现的训练配方最后一个关键词 Recipes 在英文论文里很常见意思很直白把数据、模型、优化器、调度器、损失权重、评估方式等训练要素像食谱一样列出来让其他人可以照着复现。很多实验结果差一点就复现不了往往不是模型结构的问题而是“配方”中某个成分没有写清楚比如温度系数初始化、数据过滤规则、正负样本采样比例、学习率预热步数。在编程社区里Recipe 也被称为“配方”或“配置脚本”。它和普通配置文件最大的区别是配方强调“可复现性”。一份完整的配方不仅要写清楚模型有多少层还要写清楚数据是怎么清洗和采样的、优化器在每个阶段的具体参数、评估指标怎么算、以及出现异常时怎么回退。本文第 7 节会给出一套实际可参考的 Recipe 配置它不是某个框架的唯一标准而是一种通用思路把训练流程拆成数据、模型、优化、评估四个子配方每个子配方都定义清晰的默认值和调参方向这样既能保证实验可控也能在模型出现异常时快速定位是哪一味“调料”出了问题。3. 架构演进的三个主要流派3.1 双塔结构以 CLIP、ALIGN 为代表的晚交互双塔结构是最容易理解的一类多模态预训练架构。图像编码器和文本编码器分别独立提取特征最后用对比损失拉近正样本对、推远负样本对。训练完成后下游检索任务可以直接用点积相似度排序代价很小、扩展性很好。CLIP 和 ALIGN 是这条路线最具代表性的工作它们在数亿规模的图文对上做对比学习获得了很强的零样本图像分类能力。这类架构的特点可以概括为“晚交互”两种模态在前向传播过程中完全隔离知识流动只发生在最后对比头的相似度计算阶段。优点是不会让视觉特征过多“污染”文本特征训练稳定性好缺点是细粒度对齐能力弱难以完成需要深度推理的视觉问答任务。如果你只需要做一个快速的图文检索系统双塔结构几乎总是性价比最高的起点因为它支持把图库向量全部离线建好线上只需要编码查询文本。3.2 融合结构UNITER、ViLBERT 的深层交互融合结构在双塔基础上增加了交互层。通常做法是保留单模态编码器但把两个模态的输出特征送入一个跨模态 Transformer通过交叉注意力或拼接注意力完成深度融合。这类模型在 VQA、指代理解等任务上通常优于双塔模型因为模型可以在更底层位置共享上下文信息。UNITER 把多个掩码目标放到一个模型里同时恢复文本、图像区域和图文对齐关系就是一种典型的融合结构。但深度融合也有代价训练显存占用高、推理速度慢而且经常需要为不同任务设计不同的头部结构。另外如果只做预训练时不考虑下游任务形式融合层学出的交互模式未必能迁移到所有任务。实际工程中融合结构通常更适合离线批量推理而不是高并发在线服务尤其是在需要同时加载图像和文本上下文的场景序列越长推理压力越大。3.3 早期统一结构BEiT v3、ViLT 的统一输入空间早期统一结构把视觉和文本在输入层面变成同一种表示。以 BEiT v3 为代表的方案会引入一个统一 Tokenizer将图像块、文本词元、深度图等输入编码成共享词表里的离散 TokenViLT 则在更早阶段把图像 patch 与文本 word embedding 直接拼接送入同一个 ViT 骨干。这样骨干网络天然具备跨模态信息交换能力。这种思想的优势是架构极度简洁一套 Transformer、一套注意力不需要再区分单模态编码器和跨模态交互层。预训练目标也更容易统一比如都用掩码恢复。但早期统一非常依赖数据质量和配比一旦某一个模态在训练中占绝对主导另一个模态的特征可能会被抑制出现模态塌缩。因此在早期统一结构中“如何分配 token 数量”和“如何设计掩码”是两个比损失函数更关键的设计决策需要提前想清楚。3.4 三条路线对知识流动的影响如果从 Knowledge Flow 视角重新看三条路线可以这样概括双塔结构是“窄而深”的知识流动只在最终相似度层发生一次全局交互融合结构是“分层交互”单模态编码器保留模态专有特征跨模态层逐步融合早期统一结构是“从第 1 层就开始混合”模态差异只能靠位置编码和 Token 类型来区分。没有哪条路线绝对更好关键是看数据规模、可用算力和下游任务类型。大规模数据下双塔的简单性很有优势需要细粒度推理时融合或早期统一往往更合适。从工程实践来看三种结构之间的选择也不只是一个精度问题。双塔可以离线做向量检索融合结构需要在线做跨模态注意力早期统一结构对显存和计算密度的要求更高。很多团队在业务落地时通常会先在双塔结构上跑通流程再根据业务是否需要细粒度交互来决定是否升级到融合或早期统一结构这是比较稳妥的路径。4. Knowledge Flow 的机制拆解4.1 信息瓶颈视角下的知识流动信息瓶颈Information Bottleneck是理解知识流动的有用工具。它把模型每一层看成一个信息通道模型希望保留与任务相关的信息同时压缩掉无关信息。在多模态预训练里跨模态知识流到某一层后如果被过度压缩就会损失细节。例如在双塔结构里图像分支最终只需要输出一个固定维度的全局向量那么大量物体位置、空间关系等局部信息在池化时就被丢掉了文本分支同样会把长度可变的句子压成单个向量长尾知识很容易在压缩过程中丢失。理解信息瓶颈带来的启示是设计多模态预训练目标时要意识到“压缩是有代价的”。掩码重建这类目标可以强迫模型在中间层保留更多局部细节因为模型需要恢复被遮盖的 token就必须把局部信息保留到能支持预测的位置而对比目标更擅长保留模态间的全局语义因为它只要求正样本对整体相似度高。两者结合往往比单独使用一种目标更合理。4.2 对比学习中的知识流动对比学习是 CLIP、ALIGN 等模型的核心目标。它的思想很简单给定一个 batch 的图文对让模型把匹配的图文对相似度拉高把不匹配的图文对相似度压低。此时知识流动的载体就是相似度矩阵温度系数则决定了这个矩阵的软硬程度。温度系数越大分布越平滑负样本对模型的影响更温和知识流动会偏向全局粗粒度温度系数越小模型越关注最困难的负样本知识流动会偏向细节但训练容易不稳定。CLIP 把温度系数设计成可学习参数初始值常用 0.07训练过程中模型会自动调整到合适温度。实际复现时如果对比损失一直不下降优先检查温度系数和数据增强实现是否正确。另一个容易被忽视的因素是 batch size。对比学习的效果非常依赖有效负样本数量batch size 太小会导致负样本不足模型很容易只学到简单的共现模式无法形成真正稳定的跨模态表示。4.3 掩码与生成式训练中的知识流动掩码语言建模MLM让知识流动以另一种方式发生模型看到被 mask 掉的文本片段需要借助图像上下文来还原。这个过程强迫视觉信息渗入文本表示反之亦然。多模态掩码目标一般会覆盖多种情况只遮文本、只遮图像 patch、同时遮两者、或者用图像遮文本、用文本遮图像。不同掩码比例直接决定了知识流动的方向和强度训练日志里应该分别记录两类掩码的恢复准确率方便判断哪种方向的知识流动更强。生成式训练是另一种选择比如让模型以图像为条件自回归生成文本。这类目标的知识流动路径是单向的从图像流向文本。如果下游任务是图文双向理解通常需要搭配双向注意力或额外的对比目标避免只学到单向映射。相反如果业务本身就是图文生成比如图片描述或视觉对话生成式目标就更合适。理解知识流动的单向与双向差异能帮助你在选择预训练目标时更有针对性地做取舍。4.4 知识流动受阻的典型现象实际训练中知识流动受阻通常表现为三类现象。第一模态退化某个模态的表示在训练后期几乎不再更新下游测试时该模态的输入对结果影响很小。第二负迁移增加另一种模态后单模态任务表现反而下降说明跨模态知识不仅没帮助还干扰了原有特征。第三过度对齐模型只记住了图文之间浅层的共现关系一旦遇到分布外数据zero-shot 能力迅速崩溃。遇到这些现象时不能只调学习率需要回到数据配比、掩码策略和模型容量这三个位置去找原因。以模态退化为例子它出现的原因是梯度分配不均。如果文本损失下降很快模型会倾向于把越来越多能力集中在文本分支图像分支拿到的有效梯度减少最终视觉表示逐渐退化成一个只有统计均值作用的向量。解决办法通常是降低文本数据的采样权重或者给图像分支单独设置一个稍高的学习率保证两条分支都能获得足够多的优化信号。4.5 对比损失代码示例下面给出一段用于理解对比学习中知识流动量的最小代码。它实现的是标准的 InfoNCE 图文对比损失在 PyTorch 中可以直接运行。实际工程中这段损失函数通常会放到分布式训练包装器内部配合跨卡梯度同步使用但它的核心逻辑不变一个相似度矩阵、一组对角标签、两个方向的交叉熵。import torch import torch.nn.functional as F def info_nce_loss(image_emb, text_emb, temperature0.07): image_emb, text_emb: [batch, dim]已经做了 L2 归一化 返回对称的 InfoNCE 损失数值越小表示图文匹配越好。 logits image_emb text_emb.T / temperature batch_size logits.size(0) labels torch.arange(batch_size, devicelogits.device) loss_image F.cross_entropy(logits, labels) loss_text F.cross_entropy(logits.T, labels) return (loss_image loss_text) / 2说明这段代码里temperature是超参数也可以改成nn.Parameter让模型自动学习。核心操作是image_emb text_emb.T它计算所有图文对的相似度矩阵矩阵对角线是正样本其它位置是负样本。知识流动正是在这个矩阵的梯度回传中发生的模型发现某个难负样本和正样本相似度接近时会同时调整两个模态编码器让它们在深层空间划开边界。如果你在分布式或多卡环境下训练要保证参与相似度计算的 embedding 来自同一个全局 batch否则负样本数量会被人为缩小。5. Modality Synergy模态协同从原理到失效5.1 协同的前提对齐与互补模态协同不会自动发生它至少需要两个前提对齐度和互补性。对齐度要求视觉和文本表示在语义空间里具有可比投影互补性要求两种模态确实提供了各自独特的信息。如果图像里物体和文本描述高度重合模型可能只是学会了复制信息真正有效的协同是文本补充了图像中看不出来的抽象语义图像补充了文本中写不出来的细节结构。实际工程里可以通过简单实验检验互补性只训练图像分支、只训练文本分支、训练完整多模态模型对比三个版本在下游任务上的差异。如果完整模型明显优于两个单模态版本说明协同有效如果只是接近较优的单模态版本说明协同没有真正发生。这个实验并不需要专门构建复杂体系只要在下游数据集上各跑一次即可但它能非常直观地揭示模型到底是不是真的在用多模态信息。5.2 怎么判断协同是否发生多模态协同很难用一个指标完全度量实践中推荐组合多个观察信号。第一对齐度指标计算正样本对相似度与负样本对相似度之间的间隔间隔

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价