
Contrastive Language-Image Pre-training —— CLIP对比学习
系统讲解CLIP的核心原理与技术演进:从双塔架构出发,推导InfoNCE损失函数的数学本质及其与交叉熵的等价性;剖析WIT-400M大规模图文对预训练的工程挑战;深入解读零样本分类的工作原理;并介绍SigLIP如何通过Sigmoid损失替代Softmax归一化,实现更优的小批次训练效率与灵活性。
阅读文章ZHY's Blog
A UNIVERSE OF IDEAS · BY ZHANG HAOYI
让好奇心 点亮知识宇宙
在代码、模型与思想之间自由漫游。这里持续记录人工智能、机器学习、软件工程与成长实践,让每次阅读都成为一次新的发现。
ARTICLE NOTE
Note
视觉语言模型(Vision-Language Model, VLM)是能够同时处理和理解图像与文本的多模态人工智能模型。如果说大语言模型(LLM)是“读书人”,那VLM就是既能“读书”又能“看图”,还能把两者结合起来综合理解的“智能体”。
VLM的典型任务包括:
绝大多数VLM遵循一个经典的三段式架构:视觉编码器 → 连接器(投影器)→ 大语言模型。下面逐一深入剖析每个模块。
一个最根本的问题:语言模型本身并不天然理解像素。原始图像是二维像素网格,每个像素包含RGB值,空间结构强、冗余高,与文本token的统计结构完全不同。如果直接把整张图片展平后送进LLM,会面临三个问题:
因此,图像必须先经过视觉编码器完成一层转换——把像素空间里的视觉信息,压缩成语言模型可以继续处理的语义表示。
目前主流的视觉编码器几乎都基于Vision Transformer(ViT) 。ViT的工作原理如下:
第一步:图像分块(Patch Embedding) 将输入图像切分成固定大小的Patch(图像块),通常是14×14或16×16像素。每个Patch被展平并通过线性投影映射为一个向量,称为Patch Embedding。
第二步:位置编码 由于Transformer本身不具备位置感知能力,ViT为每个Patch Embedding添加位置编码,让模型知道每个Patch在图像中的空间位置。
第三步:Transformer编码 所有Patch Embedding(外加一个特殊的[CLS] token)通过多层Transformer编码器进行自注意力计算,最终输出一序列视觉特征向量。
以一张224×224的图像、14×14的Patch大小为例,ViT会产生(224/14)×(224/14)=16×16=256个Patch tokens——这就是进入后续模块的视觉token数量。
单纯的ViT只能提取视觉特征,但这些特征与文本不在同一个语义空间,无法直接与语言模型对接。CLIP(Contrastive Language-Image Pre-training) 解决了这个问题。
CLIP采用双塔架构:一个图像编码器(基于ViT或ResNet)和一个文本编码器。通过对比学习在大规模(4亿)图像-文本对上进行训练——让匹配的图文对在特征空间中靠近,不匹配的图文对远离。训练完成后,CLIP的视觉编码器输出的特征已经与文本特征对齐到同一语义空间,可以直接作为VLM的视觉编码器使用。
SigLIP是CLIP的改进版,使用Sigmoid损失函数替代了CLIP的对比损失,具有更好的数据效率。近年来,InternViT-6B等更大规模的视觉编码器也被用于顶级VLM中。
即使使用了CLIP这样的对齐视觉编码器,视觉特征和语言模型的词向量仍然存在维度不匹配和语义粒度差异。连接器的核心任务就是将视觉特征投影到语言模型的嵌入空间,让LLM能够“读懂”视觉信息。
2026年的VLM架构中,连接器主要有三种设计方案:
方案一:MLP投影器(Projection-based Connector)
这是最简单、最高效的方案。一个两层MLP(多层感知机) 将每个Patch的视觉特征向量直接映射到LLM的词嵌入维度。
MLP投影器是目前最主流的方案,因为其简单高效,在数据和算力充足的情况下表现优异。
方案二:Q-Former(Query-based Connector)
Q-Former由BLIP-2提出,是一个轻量级Transformer,引入一组可学习的Query向量(如32个或64个)。这些Query通过交叉注意力(Cross-Attention) 从ViT输出的所有Patch特征中提取信息,最终输出固定数量的视觉token。
Q-Former在近年来的新模型中逐渐被淘汰,因为其复杂度带来的收益不足以弥补训练成本。
方案三:交叉注意力(Cross-Attention)
LLM的每一层通过交叉注意力机制直接“查询”视觉特征,而不是先将视觉特征投影后拼接。
三种方案对比总结:
| 方案 | 代表模型 | 输出token数 | 复杂度 | 当前趋势 |
|---|---|---|---|---|
| MLP投影器 | LLaVA, Qwen-VL | 取决于Patch数 | 低 | ✅ 最主流 |
| Q-Former | BLIP-2 | 固定(如32) | 高 | ⬇️ 逐渐淘汰 |
| 交叉注意力 | Flamingo | 固定 | 高 | 特定场景使用 |
LLM是VLM的推理核心,负责接收融合后的图文向量序列,自回归地生成文本输出。常用的基座包括Qwen、Llama、Mistral等。
VLM的推理分为两个阶段:
VLM的训练通常分为两个核心阶段:
预训练阶段的核心目标是对齐视觉与语言模态——让模型理解图像内容与文本描述之间的对应关系。
这个阶段让模型学会“图像里的内容对应什么文字描述”,建立起跨模态的基础对应关系。
预训练完成后,模型能理解图像-文本对应关系,但还不会遵循人类的指令回答问题。指令微调解决这个问题。
经过指令微调后,VLM才能真正像ChatGPT那样与用户进行自然的多模态对话。
VLM的架构设计在短短五年内经历了三个 distinct 时代:
设计思路:冻结的视觉编码器 + 冻结的语言模型 + 可学习的连接器
代表模型:CLIP、BLIP、Flamingo
特点:视觉和语言独立编码,通过连接器桥接。简单有效,但模态融合不够深入。
设计思路:预训练的LLM作为主干,视觉作为“适配器”接入
代表模型:LLaVA、Qwen2.5-VL、GPT-4V
特点:LLM承担所有推理任务,MLP/Resampler将视觉token投影到LLM的词向量空间。这是目前最主流的架构范式。
设计思路:彻底抛弃“桥接”概念,从头训练单一Transformer处理混合模态数据
Era 3a — 原生多模态输入 → 文本输出:图像、视频、音频与文本共享统一的tokenizer/嵌入空间,通过单一Transformer处理,但输出仍然是自回归文本。代表模型:Qwen3.5/Gemma 4/Gemini 3/GPT-5.4。
Era 3b — 全模态统一输入输出:在融合主干之上增加专门的图像解码器(VAE/MMDiT)和音频解码器,模型可以原生输出文本、图像和语音。代表模型:BAGEL、Qwen3.5-Omni、Emu3。
Qwen3-VL是阿里Qwen团队推出的最强视觉语言模型。在架构层面,Qwen3-VL引入了三项核心技术升级:
解决的问题:传统RoPE(旋转位置编码)主要针对一维文本序列设计,而图像是二维的(宽×高),视频更是三维的(宽×高×时间)。直接用文本位置编码处理图像,模型无法准确感知物体的空间位置和视频中的时序关系。
Qwen3-VL的方案:Interleaved-MRoPE(多模态旋转位置编码)将位置信息拆解为时间、宽度、高度三个独立维度,通过鲁棒的位置嵌入实现全频段分配。这意味着模型可以同时捕捉:
这显著增强了模型在长视频推理中的表现。
解决的问题:标准的ViT视觉编码器有多层Transformer,不同层捕捉不同粒度的视觉信息——浅层关注边缘、纹理等低级特征,深层关注物体、场景等高级语义。传统做法通常只取最后一层的输出,浪费了浅层的有用信息。
Qwen3-VL的方案:DeepStack集成方案有效利用多层ViT特征进行融合。通过将不同层级的视觉特征以堆叠方式整合,模型能够同时获得细粒度的局部细节(来自浅层)和全局语义(来自深层),从而收紧视觉与语言之间的对齐。
形象理解:传统方法只看“结论”(最后一层),而DeepStack让模型既看“论据”(浅层细节)又看“结论”(深层语义),理解自然更全面、更准确。
解决的问题:视频理解的关键挑战之一是时间定位——模型需要知道某个事件发生在视频的哪一帧、持续了多久。早期方案T-RoPE通过旋转位置编码隐式编码时间信息,但精度有限。
Qwen3-VL的方案:从T-RoPE演进为显式的文本化时间戳对齐。模型不再隐式地“感受”时间,而是将时间信息显式地转化为文本形式的时间戳与视觉内容对齐。
举例:当模型处理一段“一个人在3分15秒开始跑步”的视频时,文本化时间戳对齐让模型能够精确地将“3分15秒”这个时间点与对应的视频帧建立关联,实现更精确的时序定位。
从VLM的通用架构到Qwen3-VL的具体实现,可以看到一条清晰的技术演进脉络:
从“拼接”到“融合” :早期VLM只是简单地将视觉特征拼接到文本序列前,而Qwen3-VL通过DeepStack实现了多层次、深度的视觉-语言对齐。
从“静态”到“动态” :Interleaved-MRoPE让模型能够处理动态的视频输入,而不仅仅是静态图像。
从“隐式”到“显式” :文本化时间戳对齐将时间信息从隐式的位置编码变为显式的文本表达,大幅提升了可解释性和精度。
从“专用”到“通用” :Qwen3-VL不仅擅长多模态任务,纯文本能力也媲美同规模LLM,真正实现了“一专多能”。
对于希望深入学习VLM的读者,建议从理解三大模块(视觉编码器、连接器、语言模型) 的各自职责入手,再逐步深入到位置编码、特征融合、训练策略等细节。Qwen3-VL的技术报告和开源代码是极佳的学习材料。
按顺序完成这组文章,循序渐进地掌握主题
发现错误、内容过时或有改进想法?欢迎告诉我
根据本文分类与标签,为你推荐可能感兴趣的内容

系统讲解CLIP的核心原理与技术演进:从双塔架构出发,推导InfoNCE损失函数的数学本质及其与交叉熵的等价性;剖析WIT-400M大规模图文对预训练的工程挑战;深入解读零样本分类的工作原理;并介绍SigLIP如何通过Sigmoid损失替代Softmax归一化,实现更优的小批次训练效率与灵活性。
阅读文章
系统讲解视频理解与生成、音频处理的核心技术:从视频的时空维度出发,剖析3D卷积与时空注意力如何建模动态信息;深入解读VideoMAE的视频Tube掩码策略与90-95%超高掩码比例的时空自监督预训练;剖析Sora视频扩散模型的核心组件及其灵活处理任意分辨率/时长视频的能力;梳理音频处理基础与Whisper的编码器-解码器架构,并介绍VALL-E将语音合成建模为条件语言模型的新范式。
阅读文章
系统讲解具身智能中视觉-语言-动作模型(VLA)的核心技术:从RT-2的“动作即文本”范式出发,剖析动作Token化与Co-Fine-Tuning联合微调策略的数学原理;深入解读动作分块如何通过一次性预测未来K步动作解决时序不一致性问题;推导扩散策略中条件去噪扩散过程的噪声预测损失及其与动作分块的天作之合;并通过三维对比揭示各自优势与融合趋势。
阅读文章请使用微信扫描二维码分享
当前文章会保持在原页面