从 CLIP 到 LLaVA:一文读懂视觉语言模型(VLM)的演进与核心数学公式
前言 大语言模型(Large Language Model,LLM) 很会处理文字。它能把一段指令拆成 token,按概率逐字生成回复。但把它和一张图片放到一起,它就没了用武之地。给它一张图片的像素数据,它不知道画面上是一只猫还是一栋楼。它只能看文字。(注意:这里的大模型我们指的是早期的文本大模型,这个时候还没有出现 MLLM(多模态大模型),因此先不考虑现在的大模型所具备的图像识别和理解功能。但事实上,我们接下来要介绍的 VLM,概念上是属于 MLLM 的范畴。) 视觉语言模型(Vision-Language Model,VLM) 要补上的正是这一块。它同时理解图像与文本,能做跨模态推理。给它一张照片,它回答照片里有什么;给它一张图纸,它照着图纸说明步骤。这类能力的基础,是把图像和文本两套数据放进同一个表示空间,让模型能比较、能融合、能推理。这个过程的正式名称是模态对齐(Modality Alignment)。 图像和文本的数据结构完全不同。图像是连续的像素矩阵,一个像素是三个通道上的数值,整体是高维连续张量。文本是离散的符号序列,每个词元来自一张有限的词表。一个连续,一个离散,两者天然不在同一个空间里。VLM 的核心工作,就是找到一种方式把两者对齐。 围绕"怎么对齐",VLM 演化出三条技术路线。本文先讲 VLM 的骨架,再逐一拆解三条路线的数学原理,最后把训练流程串起来。 三大核心组件 一个 VLM 通常由三个部分组成。 视觉编码器(Vision Encoder)。负责把图像变成特征向量。以 Vision Transformer(ViT)为代表,先把图像切成固定大小的方块(Patch),每个方块展平并线性映射成嵌入,再送入多层 Transformer,输出一组图像特征。特征里压缩了图像的语义信息,是后续所有对齐操作的基础。 语言模型(LLM / Text Encoder)。负责理解文本语义并生成回复,常见的有 Llama、Qwen 等。在 VLM 中,它是推理与输出的核心。 模态连接器(Adapter / Projector)。这是 VLM 特有的枢纽。视觉编码器输出的特征和词向量不在同一个空间,连接器负责把图像特征映射成语言模型认识的词向量,通常是一个可学习的线性层或小型 Transformer。线性投影层(Linear Projector)和 Q-Former 都属于连接器。 flowchart LR IMG["图像"] --> VE["视觉编码器 ViT"] VE --> PR["模态连接器 Projector"] PR --> LLM["语言模型 LLM"] LLM --> OUT["文本回复"] 流派一:对比学习与模态对齐(CLIP) CLIP(Contrastive Language-Image Pre-training)由 OpenAI 在 2021 年提出。它的思路不要求模型把图像"说出来",只要求模型判断一对图文是否匹配。思想可以概括为,让配对的图像与文本在向量空间里互相靠近,不配对的互相远离。 ...