资讯详情

多模态预训练VLP全解读:基础、进展与工程落地

📅 2026/10/10 4:42:40 | 华诺云谱 👁 阅读
多模态预训练VLP全解读:基础、进展与工程落地
多模态预训练这个词儿这两年几乎是AI社区绕不开的热词。微信团队放出的《视觉语言预训练基础、最新进展和未来趋势》这份102页综述我前后精读了两遍第一遍快速通读脉络第二遍逐节抠细节确实值得拿出来好好聊聊。它把VLPVision-Language Pretraining视觉语言预训练从萌芽期到现在的技术演进按基础、最新进展、未来趋势三条线拆得很干净而且不是那种简单罗列论文的综述更像是一张带选型视角的技术地图。这份材料适合三类人一是正在做多模态算法研发的工程师想找技术选型依据和对比基准二是做搜索、推荐、内容理解相关业务的从业者想看看视觉语言模型能怎么接进自己的系统三是刚入门的研究生或者打算转岗做多模态方向的同学需要一个体系化的知识框架而不是零散刷论文。我在这里把收获拆开讲同时结合自己实际复现和落地VLP时踩过的坑尽量让不同基础的读者都能接得住。1. 为什么VLP值得专门花102页去讲1.1 VLP到底在解决什么问题先说清楚VLP解决的痛点。过去很长一段时间CV和NLP是两个几乎不相往来的领域图像分类、目标检测用CNN那一套文本理解靠RNN、Transformer那一套。但真实世界里的信息天然是跨模态的一张商品图配一段描述一条视频配一条弹幕一个朋友圈九宫格配几句文案。传统做法是把图像打标签、把文本做关键词然后在标签和关键词层面做匹配但这种方式一旦遇到“穿着红色裙子的狗”“夕阳下的海边公路”这类语义组合查询基本就失效了。VLP的核心目标是让模型在统一的表征空间里同时理解视觉和语言学到跨模态的对齐关系。模型看过几亿对图文数据之后能够做到给一张图知道该配什么文字给一句话能召回最相关的图像甚至完全没见过某个类别也能靠文本描述做Zero-shot分类。典型任务包括图文检索Image-Text Retrieval、视觉问答VQA、图像描述Captioning、Zero-shot分类等。微信团队出这份综述其实也贴合他们自己的业务土壤。公众号文章、视频号、朋友圈这些场景里有大量自然产生的图文内容和视频内容多模态模型在内容理解、搜索推荐、审核分发上都有直接的用武之地。工业场景的强需求正好是多模态技术最好的试金石这也是为什么他们愿意花力气整理这样一份102页的体系化综述。1.2 综述的定位与结构拆解102页听起来挺吓人但结构其实非常清爽大体上是三段式基础篇、进展篇、趋势篇。基础篇讲的是Transformer架构如何在CV和NLP两条线合流预训练范式怎么从单模态迁移到多模态进展篇按时间线梳理了CLIP、ALIGN、BEiT、SimVLM、CoCa、Flamingo、BLIP、BLIP-2等几代代表工作每一代解决什么问题、代价是什么、留下了什么遗产趋势篇则聚焦多模态大模型、视频语言理解、统一接口、评测体系这些正在发生的变化。我读下来的感受是这份综述更接近“产业视角的技术地图”。它不是把论文摘要抄一遍就完事而是会告诉你某个模型适合做检索但因为双塔结构牺牲了深度交互某个模型理解能力强但生成能力弱某个模型效果好但训练成本高到中小团队无法复现。读者可以作为“投资报告”来读关注每条技术路线背后的取舍逻辑而不是只记论文名字。我见过不少同学把CLIP和BLIP当成同一种东西其实它们在任务范式、架构形态、适用场景上的差别非常大这份综述对这类混淆有很好的纠偏作用。2. VLP的技术底座任务、架构、数据三条线2.1 预训练任务的三代变迁VLP的演进本质上可以看成预训练任务设计的演进。第一代是对比学习范式代表工作是CLIP和ALIGN。设计思路很直接给定一批图文对图像编码器和文本编码器把各自输入映射到同一个向量空间然后让匹配的图文对在空间里距离更近不匹配的距离更远。训练损失通常用InfoNCE核心是算一个batch内所有图像和文本两两之间的相似度矩阵对角线是正样本其余是负样本然后对行和列分别做softmax交叉熵。我最初看对比损失总觉得有点玄后来用一句话给自己解释明白了它本质上是在做一个超大分类问题每一张图要从batch里的文本中找到唯一正确的那一句。所以batch size对对比学习极其重要CLIP原始实验里batch size拉到三万级别就是因为负样本越多模型越能学到细粒度的语义差别。代码层面核心逻辑其实很简洁import torch import torch.nn.functional as F def contrastive_loss(image_embeds, text_embeds, temperature0.07): # image_embeds: [batch, dim] 图像编码器输出 # text_embeds: [batch, dim] 文本编码器输出 # 归一化到单位向量空间 image_embeds F.normalize(image_embeds, dim-1) text_embeds F.normalize(text_embeds, dim-1) logits image_embeds text_embeds.T / temperature # [batch, batch] labels torch.arange(logits.shape[0], devicelogits.device) # 图像侧损失 文本侧损失两边都约束 loss_i F.cross_entropy(logits, labels) loss_t F.cross_entropy(logits.T, labels) return (loss_i loss_t) / 2第二代是掩码重建和生成范式代表工作是VLMo、METER、SimVLM。思路从BERT那里借来的把输入图像的一部分patch遮住或者把文本token遮住让模型根据可见部分还原被遮掉的内容。这种任务能让模型学到更深层的细粒度关联而不是像对比学习那样只关注全局匹配。SimVLM更进一步直接把预训练任务统一成了prefix language modeling让模型自己生成被掩码的文本序列相当于把多模态预训练接到了生成式框架里来。第三代是统一生成范式代表工作是CoCa和BEIIT-3。它们把对比学习和生成式目标捏进同一个模型一个视觉编码器接两个头一个头做对比学习用于检索一个头做生成用于描述或问答。这个方向的本质是既然检索和生成在实际业务里都要用何必训练两套模型。用一个模型多个任务头共享底层表征效果不仅没降反而因为多任务学习的正则在很多下游任务上表现更好。2.2 单流与双流架构的取舍预训练任务定完之后下一个关键决策是模型架构选单流还是双流。这个选择题直接决定你的模型适合什么下游任务不能拍脑袋。双流架构的代表是CLIP。图像和文本各自走独立的编码器只在最后算相似度时做一次交互。优点非常明显两个编码器可以独立产出特征并提前索引在线推理时文本特征预计算好图像特征实时抽取然后交给向量检索系统吞吐量很高。适合大规模图文检索、相似度计算、召回场景。缺点也明显文本和图像的交互太浅模型能回答“这俩像不像”但回答不了“图里那只狗是什么颜色”因为细粒度推理需要视觉和文本在token级别深层交互。单流架构的代表是VisualBERT、ViLT这类模型。图像token和文本token拼接后一起送进同一个Transformer encoder做多层自注意力交互图文之间的信息可以充分融合。在VQA、视觉推理这类细粒度任务上优势明显。代价是每次推理都要把图文对拼一起重新算一遍前向不太好做向量化预计算计算成本高不适合海量候选的召回场景。后来逐渐出现混合架构。BLIP的MED架构值得单独说它设计了三个功能不同的encoder一个负责理解、一个负责检索、一个负责生成但共享大部分参数。Flamingo则走另一条路用Perceiver重采样器压缩图像特征再插入到语言模型的交叉注意力层里相当于给纯文本大模型装了一双可以随时睁开的眼睛。这类架构的巧思在于不改变原有语言模型的结构只通过外围模块注入视觉信息所以能直接借用语言模型强大的推理和生成能力。读综述时看到这里我的感受是架构层面的争议已经不再是单流还是双流而是怎么在效率和交互深度之间找平衡点。2.3 数据工程才是VLP的隐形护城河大量文章讲VLP会聚焦在模型结构上但我自己实际做下来最大的感受是数据工程才是真正的隐形护城河。CLIP用了4亿图文对ALIGN更是拉到18亿很多人以为这就是“爬得多”实际上数据清洗策略才是拉开差距的关键。工业界一个很常见的数据清洗流水线是先做文本语言过滤只保留目标语言内容再通过OCR抽取图像中的文字剔除那些“图里全是字但文本描述对不上”的样本接着用CLIP或者其他模型算一遍图文相似度把相似度过低的噪声样本直接丢掉最后做近似去重。每一步都会淘汰大量数据最终留下来高质量子集可能只有原始数据的30%左右。数据质量对下游zero-shot效果的影响经常比模型参数规模还大我在实际项目中把同样的模型换到清洗前后的两版数据上训练zero-shot准确率可以差出七八个点这个差距不是靠调参能追回来的。训练细节上还有几个容易被忽略的地方。分辨率会影响图像编码器提取细节的能力CLIP训练时用了数据增强和随机裁剪后来很多工作发现固定分辨率到224或者336各有利弊。温度系数也值得单独说对比损失里的temperature控制了相似度分布的平滑程度温度太高区分度不够温度太低训练容易震荡通常从0.07附近开始调。优化器、学习率调度、梯度裁剪这些细节综述里没有展开讲但实际复现时往往就是这些地方决定你能否训出可用的模型。对于中小团队我不建议一上来就冲几十亿数据。先把开源数据利用好CC3M、CC12M、LAION-400M这些组合起来足够验证方案。关键是把清洗流程建起来把数据配比调好等方案跑通再考虑扩大数据规模。这个路线我走过踩过不少坑后面实操部分细说。3. 从综述到落地怎么把VLP思路用到自己的场景3.1 落地先定范式你需要的到底是哪种能力读完整份综述之后回到自己的业务场景第一个动作不是打开代码仓库而是先回答一个问题我的场景需要哪种能力这个问题的答案直接决定模型选型方向。我习惯把VLP落地场景粗分成四类。检索匹配类例如商品图搜同款、素材库图文检索需要的是对比式双流模型CLIP或其改进版本是最稳妥的选择。分类识别类例如图片自动打标、违规内容粗筛这类用zero-shot分类就能覆盖大部分需求同样适合CLIP体系必要时下游微调。细粒度理解类例如视觉问答、版面分析、图像中的关系抽取这类需要单流或者像BLIP-2这样的混合架构因为模型必须看到视觉细节和语言上下文之间的深层关系。内容生成类例如图像描述、多模态对话需要生成式架构CoCa这类统一模型或者接入Flamingo风格的模型是合理选择。把需求对应到范式之后再考虑工程约束。显存大小决定你能加载什么规模的模型在线服务延迟要求决定能不能上几十亿参数的大家伙数据是否允许出域决定要不要用开源预训练权重还是必须自己从头训。这些约束很多时候比模型效果优先级更高。业务需求场景推荐范式代表模型关键工程注意点大规模图文检索召回双流对比式CLIP、ALIGN特征向量化后接索引注意向量检索库的选型和召回率评估图片分类/打标/内容粗筛对比式Zero-shotCLIP系列类别文本模板设计影响效果需要构建候选类别提示词集合视觉问答/细粒度关系理解单流融合式ViLT、BLIP推理代价高优先评估吞吐量是否满足业务SLA图文生成/多模态对话生成式统一模型CoCa、BLIP-2关注生成质量、幻觉控制需要设计评估集持续观测视频-语言任务视频-语言预训练VideoCLIP、InternVideo时序建模开销大先抽帧特征再融合是常见降本方案3.2 上手实操用开源VLP模型做一个Zero-shot分类小工具我分享一个可以直接跑的实操示例假设场景是给一批商品图做粗粒度分类类目有服装、数码、食品、家居四类。用open_clip加载预训练权重几行代码就能完成import torch from PIL import Image import open_clip model, _, preprocess open_clip.create_model_and_transforms( ViT-B-32, pretrainedlaion2b_s34b_b79k ) tokenizer open_clip.get_tokenizer(ViT-B-32) # 候选类别文本要写得让模型容易理解 class_names [clothing, digital products, food, home furniture] prompts [fa photo of {name} for name in class_names] image preprocess(Image.open(demo.jpg)).unsqueeze(0) with torch.no_grad(): image_features model.encode_image(image) text_features model.encode_text(tokenizer(prompts)) image_features / image_features.norm(dim-1, keepdimTrue) text_features / text_features.norm(dim-1, keepdimTrue) logits 100.0 * image_features text_features.T probs torch.softmax(logits, dim-1) print(dict(zip(class_names, probs.tolist()[0])))这个示例里有几个小细节值得展开。第一类别文本模板不是随便写的模板措辞会影响结果如果模型预训练数据里常见“a photo of something”这种句式文本侧写成这个模板通常比直接写类名更稳。第二相似度乘的100相当于温度0.01属于经验值范围实际使用时要看特征分布的尺度微调。第三如果类目很多比如上百个建议先把文本特征批量算好存起来在线推理时只跑图像编码器一次再做一个矩阵乘延迟完全可控。分类场景要微调的话我试过一个相对稳的方案冻结图像编码器只微调文本编码器或者投影层用很小的学习率大概1e-5量级配合类别不均衡采样。最忌讳的是上来就全参数微调小数据量下非常容易过拟合而且破坏预训练学到的语义对齐能力我在早期项目里就吃过这个亏微调完zero-shot能力肉眼可见地退化。3.3 我踩过的坑数据配比、评测和部署这部分是综述里不会写、但实操中一定会遇到的东西。第一个大坑是数据配比。混合数据集训练时不同来源的图文对质量差异很大简单的做法是按数据量比例采样但这样会让低质量的大数据集压制高质量的小数据集。我后来按“每个数据源单独设定采样权重”来处理权重和该数据源质量正相关同时限制每个batch里单一数据源占比不超过40%效果明显稳定很多。第二个坑是评测指标被污染。图文检索任务常用RecallK但如果你用很大batch的同一批次图文对做评测模型可能会记住统计规律导致指标虚高。更隐蔽的问题是Coco这类经典数据集已经被刷得太狠直接做参考意义在减弱。建议业务场景里构建一份贴合实际分布的评测集哪怕只有几百条人工标注样本也比直接套用学术benchmark更能反映真实效果。第三个坑是部署阶段的特征漂移。线下验证时模型效果不错上线后发现线上输入图像和训练数据分布差异大尤其是电商场景商品图底色、角度、遮挡情况都和自然图片差很多。我的处理办法是灰度阶段持续监控图像特征的分布和检索点击率用KL散度对比线上特征和线下验证集特征的差异超过阈值就触发告警。这类能力现在很多特征平台都有但很多人落地时压根没做这一层。4. 最新进展与我对未来趋势的判断4.1 评测体系正在从“刷榜”走向“考逻辑”综述最后一部分让我印象最深的是评测视角的变化。早期的VLP评测主要看ImageNet zero-shot准确率、COCO Caption的CIDEr分数、Flickr30K检索Recall这些指标很快被刷到接近饱和区分度越来越低。最近一年多的趋势是综合评测集的出现比如多模态大模型之后涌现的MMMU、MMBench、SEED-Bench这类benchmark开始考察模型的细粒度感知、多步推理、领域知识、中文理解等维度。这类评测的价值不在于排名而是逼着从业者思考一个问题你的模型是真的理解了图文关系还是仅仅在统计共现举个例子早期一些标题生成模型看到“沙滩”就生成“度假”看到“领带”就生成“商务”本质是在套语言先验根本没有细看图片。新评测把这类错误暴露得很彻底。对工业界的启发是不要只盯单一指标要构建多维度评测集把感知、认知、推理分开测才能知道模型的长板和短板。4.2 统一多模态大模型是下一站从一个更宏观的视角看VLP正在被吸入一个更大的趋势里或者说VLP作为独立研究方向其边界正在被多模态大模型吞并。传统VLP关注的是“如何让视觉特征和文本特征对齐”而现在的多模态大模型关心的是“如何让模型基于视觉输入进行复杂推理并生成动作”典型代表就是LLaVA、Qwen-VL、GPT-4V这些路线。这种路线的核心做法是用一个轻量视觉编码器抽取图像特征通过投影层接入一个强大的LLM让LLM学会理解视觉token并生成自然语言回答。相比经典VLP模型这类模型的最大突破是继承了LLM的推理能力、世界知识和对话能力。代价是部署成本高幻觉问题需要额外机制压制。结合微信团队综述里对未来趋势的研判我认为后续的竞争点会聚焦在三件事上视觉token的高效压缩跨模态融合层的轻量化设计以及评估体系能否跟上模型能力的发展。视频-语言方向也值得重视。视频多了一维时间结构任务从静态图文匹配扩展到时序理解、事件推理、音视频联合建模。目前视频语言模型还处在相对早期的阶段计算开销大、公开高质量数据集少、时间建模方案没有统一答案。如果业务场景涉及视频号和短视频这类富媒体内容这个方向值得提前布局。4.3 读102页综述的私藏方法最后分享一个我自己的阅读方法论。这类长综述不建议一上来就从头到尾逐字读。我推荐三轮法第一轮花半小时把所有图表、对比表格、架构图过一遍建立全局坐标系第二轮挑和自己工作相关的章节精读比如我做检索场景就重点读对比学习、双流架构、数据清洗这几块第三轮回到趋势部分标记出和自己判断不一致的地方再有针对性地找原论文对照读。读的时候我会在手边放一个空白的表格文件每读到一个模型就记三行它的核心思路是什么、它的失效场景是什么、如果我要用它会牺牲什么。这三行笔记的价值远大于一堆摘要。遇到不理解的模块比如Flamingo的Perceiver重采样器就去翻原论文的实现部分而不是停留在综述的概括描述里。综述的价值是帮你快速定位关键信息但替代不了原论文的细节。一些收尾的心里话这份综述我前后读了两遍每次收获不一样。第一次读的时候满脑子是模型和指标第二遍再读注意力全在那些“为什么这么选”的取舍逻辑上。我个人在实际项目里的体会是多模态预训练这个领域更新极快但底层的几根柱子没有变过——对比学习、生成式预训练、数据质量、架构上的交互深度设计。把这四件事想扎实后面无论出现多少新模型你都能快速看懂它到底做了什么改动、值不值得跟进。实操上的一个小建议是如果团队刚起步做多模态不要贪多贪新先用一个开源的双流模型把图文检索或zero-shot分类的链路跑通把数据清洗、特征存储、评测回流这套基础设施建好再逐步尝试更复杂的大模型方案。基础设施的复利效应非常大而模型本身是可以随时替换的。《视觉语言预训练》这102页与其说是一份综述不如说是一个阶段的快照。每过半年回看一次对照自己的理解和实践就会知道在这个快速变化的领域里你是真在往前走还是只是在原地刷论文。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑