多模态论文学习路线:视觉、图文对齐、多模态大模型渐进演变
从 ViT 到 PaliGemma:视觉与多模态大模型论文学习路线总结

1. 前言
最近一段时间系统阅读了一批视觉 Transformer、自监督学习以及多模态相关论文。
回过头看,这些论文并不是相互独立的。
从 ViT、DINO,到 CLIP、SigLIP,再到 BLIP-2、PaliGemma,本质上是在逐步解决下面几个问题:
图片如何进入 Transformer?
↓
如何不依赖人工标签学习视觉表示?
↓
如何让图像和语言进入同一个语义空间?
↓
如何让模型不仅“理解图像”,还能生成语言?
↓
如何把视觉 Encoder 接入 LLM?
↓
最终形成 Vision-Language Model / Multimodal LLM
因此,我目前把自己的多模态论文学习路线划分成五个阶段:
阶段一:视觉 Transformer
ViT
↓
Swin Transformer
阶段二:自监督视觉表征
DINO
↓
iBOT
↓
DINOv2
↓
DINOv3
阶段三:Vision-Language Alignment
CLIP
↓
SigLIP
↓
LocCa
↓
SigLIP2
阶段四:Vision-Language Pretraining
BLIP
↓
BLIP-2
阶段五:Vision + LLM
PaliGemma
↓
LLaVA / InstructBLIP
↓
Qwen2-VL / InternVL / 更现代的 MLLM
一句话概括这条路线:
ViT 解决视觉 Token 化,DINO 系列解决视觉表示学习,CLIP/SigLIP 解决视觉语言对齐,BLIP/BLIP-2 解决视觉语言理解与生成,而 PaliGemma 开始真正把成熟视觉 Encoder 与 LLM 组合成完整 VLM。
2. 第一阶段:首先理解视觉 Transformer
2.1 ViT:An Image is Worth 16×16 Words
ViT 解决的问题
Transformer 原本处理的是:
word1
word2
word3
...
那么图片能不能也变成一个序列?
ViT 给出的答案非常简单:
把图片切成 Patch,把 Patch 当成视觉 Token。
假设输入:
224 × 224 × 3
Patch Size:
16 × 16
那么图片会被切成:
14 × 14 = 196 patches
每个 Patch:
16 × 16 × 3
↓
Flatten
↓
768维
↓
Linear Projection
↓
Patch Embedding
最终:
Image
↓
Patchify
↓
Patch Embedding
↓
+ Position Embedding
↓
Transformer Encoder
↓
CLS Token
↓
Classification
ViT 最重要的意义不是某一个具体模块,而是证明:
CNN 并不是视觉模型必须存在的结构,纯 Transformer 也可以学习强大的视觉表示。
在足够大规模的数据预训练后,ViT 可以获得非常强的视觉迁移能力。
需要重点理解的知识
1. Patch Embedding
它相当于 NLP 中的 Token Embedding:
Word
↓
Embedding
对应
Image Patch
↓
Embedding
2. Position Embedding
Transformer 本身不知道:
左上
右上
左下
右下
所以需要 Position Embedding 保留空间位置信息。
3. CLS Token
最终利用 CLS Token 聚合整张图片的信息:
Patch Tokens
↓
Self Attention
↓
CLS
↓
Global Representation
后面 DINO、CLIP 等大量模型都会继续围绕:
global feature
patch feature
这两个概念展开。
ViT 的局限
最大的一个问题是:
Attention Complexity ≈ O(N²)
图像分辨率越高,Patch 数量越多,计算量增长非常快。
这就直接引出了 Swin Transformer。
2.2 Swin Transformer:让 Transformer 真正成为视觉 Backbone
ViT 更像:
所有 Patch
↓
Global Attention
而 Swin Transformer 改成:
Image
↓
Local Window Attention
↓
Shifted Window
↓
Hierarchical Feature
核心有两个。
Window Attention
不再让整张图片所有 Token 两两 Attention,而是在局部窗口内部计算。
例如:
┌────┬────┐
│ W1 │ W2 │
├────┼────┤
│ W3 │ W4 │
└────┴────┘
每个窗口内部计算 Self-Attention。
这样计算复杂度从随图像 Token 数量近似二次增长,变成对图像大小更友好的形式。
Shifted Window
如果窗口永远固定:
W1 和 W2
之间就缺少信息交流。
所以 Swin 下一层把 Window 平移:
Layer N:
|----|----|
| W1 | W2 |
|----|----|
Layer N+1:
|----|----|
| W1 | W2 |
|----|----|
这样不同窗口之间的信息可以逐层交换。
Hierarchical Feature
这一点非常重要。
CNN 通常存在:
Stage1 → 高分辨率
Stage2
Stage3
Stage4 → 低分辨率、高语义
Swin 通过 Patch Merging 构造类似的多尺度结构,因此天然更适合:
Detection
Segmentation
Dense Prediction
Swin 的核心就是 Hierarchical Transformer + Shifted Windows,目标是让 Transformer 成为真正通用的视觉 Backbone。
3. 第二阶段:自监督视觉学习
如果 ViT 回答的是:
Transformer 怎么看图片?
那么 DINO 系列回答的是:
如果没有人工 Label,Transformer 能不能自己学会理解图片?
这一条路线非常重要:
DINO
↓
iBOT
↓
DINOv2
↓
DINOv3
也是我认为理解现代 Vision Foundation Model 最重要的一条路线。
3.1 DINO:Self-Distillation with No Labels
DINO 全称可以理解为:
Self-Distillation with No Labels
最大的特点是:
没有人工标签
没有传统分类目标
只有:
Teacher
Student
DINO 基本训练逻辑
同一张图片做不同的数据增强:
Image
/ \
Crop A Crop B
↓ ↓
Student Teacher
↓ ↓
Prediction Prediction
\ /
\ /
↓
Match Output
Teacher 不是通过梯度直接优化,而是 Student 参数的 EMA:
θ_teacher = m θ_teacher + (1-m) θ_student
于是形成:
Student不断学习
↓
Teacher缓慢更新
↓
Teacher产生更稳定Target
↓
Student继续学习
再配合:
Multi-Crop
Centering
Sharpening
Momentum Teacher
避免模型 Collapse。
DINO 一个非常惊艳的现象是:
ViT 在没有任何分割 Label 的情况下,Attention 和 Patch Feature 中会自然出现明显的物体和区域结构。
论文特别强调了自监督 ViT 所产生的这种 emergent semantic segmentation property。
DINO 最值得记住的东西
不是某个 Loss。
而是:
自监督训练可以让 Transformer 自己产生 Object-level Semantic Representation。
也就是说:
Image
↓
ViT
↓
不是单纯学“这是什么类别”
↓
而是在学习
对象 / 部件 / 区域 / 语义结构
这为后来的:
Segmentation
Detection
Dense Feature
Foundation Model
提供了基础。
3.2 iBOT:从 CLS Token 进一步学习 Patch Token
理解 iBOT 最简单的方法是:
DINO 更关注图像级语义,而 iBOT 希望进一步把 Patch-level 表示学好。
它借鉴了 NLP 中的 BERT。
BERT:
I love [MASK]
↓
apple
iBOT:
Image
↓
Mask部分Patch
↓
Student
↓
预测被Mask Patch的语义表示
但是问题来了:
文本有:
Tokenizer
可以把文本映射到稳定的 Token ID。
图片没有天然的:
dog ear token
car wheel token
human face token
所以 iBOT 提出:
Online Tokenizer
直接让 Teacher 网络充当动态视觉 Tokenizer。
Image
↓
Teacher
↓
Visual Target
↑
Student(masked image)
也就是说:
Teacher告诉Student:
这个被遮住的位置
“应该具有怎样的视觉语义表示”
iBOT 同时在 CLS token 上做 self-distillation,又在 masked patch token 上进行预测,因此加强了局部视觉语义。
DINO → iBOT 的关键变化
可以粗略理解:
DINO主要强调
Image-level Representation
CLS Token
Global Semantic
↓
iBOT加入
Patch-level Representation
Masked Image Modeling
Local Semantic
这一步对后来 Dense Feature 很重要。
3.3 DINOv2:从 Self-Supervised Method 到 Vision Foundation Model
到了 DINOv2,研究重点发生了一个变化。
DINO 更像在证明:
Self-Supervised ViT
真的能学到非常好的表示
DINOv2 则开始问:
能不能训练一个真正通用的视觉 Foundation Model?
也就是希望:
一个 Encoder
↓
Classification
Detection
Segmentation
Depth
Retrieval
...
而且:
不需要针对每个任务重新预训练
DINOv2 的一个核心思想是:
好的算法 + 大规模且经过精心筛选的数据 + 大模型 Scale,能够产生通用视觉特征。
论文特别强调自动化的数据筛选与构建流程,并将训练扩展到约 1B 参数级 ViT,再通过蒸馏获得不同尺寸的模型。
DINOv2 可以理解成
DINO
+
iBOT式 Patch Learning
+
更稳定的大规模训练Recipe
+
Massive Curated Dataset
+
Knowledge Distillation
DINOv2 相比 DINO,我认为最应该记住的是:
创新不再只是某个 Loss,而是 Vision Foundation Model 的整套 Recipe。
这与现代 LLM 的思路已经非常接近:
Architecture
+
Objective
+
Data
+
Scale
+
Training Recipe
共同决定模型能力。
3.4 DINOv3:继续 Scale,但开始解决 Dense Feature 退化
DINOv3 是这条路线继续 Scale 后的结果。
一个非常关键的问题是:
模型训练越来越久之后,Global Representation 可能继续变好,但 Dense Feature 不一定同步变好。
这对于:
Classification
可能影响没有那么明显。
但是对于:
Segmentation
Depth
Detection
Correspondence
Dense Prediction
非常关键。
DINOv3 为此提出:
Gram Anchoring
目的就是改善长时间、大规模训练过程中出现的 Dense Feature degradation。
除此之外,DINOv3 继续扩大数据与模型规模,并增加高分辨率适配以及模型尺寸、分辨率、文本对齐等 post-hoc 策略。
所以我认为:
DINO
↓
证明SSL ViT会自然产生语义
iBOT
↓
加强Patch-level Semantic
DINOv2
↓
将SSL扩展为Vision Foundation Model
DINOv3
↓
继续Scale并重点解决Dense Feature质量
这是最重要的演化逻辑。
4. 第三阶段:从视觉走向 Vision-Language
到这里为止:
ViT
DINO
DINOv2
DINOv3
本质上还是:
Image → Visual Representation
接下来出现一个重大变化:
Image
+
Text
开始进入同一个模型体系。
4.1 CLIP:图像和文本进入同一个 Embedding Space
CLIP 是理解现代多模态模型最重要的论文之一。
它的结构其实非常简单:
Image
↓
Image Encoder
↓
Image Embedding
↘
Similarity
↗
Text Embedding
↑
Text Encoder
↑
Text
核心思想:
匹配的 Image-Text Embedding 应该接近,不匹配的应该远离。
CLIP Training
一个 Batch 中:
I1 ↔ T1
I2 ↔ T2
I3 ↔ T3
...
IN ↔ TN
计算:
N × N Similarity Matrix
其中:
Diagonal = Positive Pair
Other = Negative Pair
然后进行双向 Contrastive Learning:
Image → Text
Text → Image
CLIP 在大规模图文对上进行这种自然语言监督训练,从而得到可迁移的视觉表示和 zero-shot 分类能力。citeturn192991academia40
为什么 CLIP 极其重要?
因为传统分类器是:
Image
↓
Classifier
↓
1000 predefined classes
CLIP 变成:
Image
↓
Visual Embedding
"dog"
"cat"
"car"
"medical image"
"red nail"
...
↓
Text Embedding
计算相似度即可。
于是:
Class → Language
分类器第一次从:
固定类别空间
变成:
开放自然语言空间
这就是 Zero-Shot Classification 的基础。
4.2 SigLIP:CLIP 最核心的改进之一来自 Loss
CLIP 使用的是:
Softmax Contrastive Loss
SigLIP 提出:
Sigmoid Loss
最大的思想区别在于:
CLIP 会考虑:
整个 Batch 的 Similarity Matrix
SigLIP 则把每个:
(image, text)
看成一个二分类问题:
匹配:y = +1
不匹配:y = -1
然后:
Sigmoid(image_embedding · text_embedding)
为什么这个变化重要?
因为 CLIP 的 Softmax:
一个 Pair 的 Loss
依赖 Batch 中其他 Sample。
SigLIP:
Pair-wise Loss
不需要全局 Softmax normalization,因此在大规模分布式训练时更容易扩展,而且并不是只有超大 Batch 才能工作好。
所以可以记成:
CLIP
Softmax Contrastive Learning
↓
SigLIP
Pair-wise Sigmoid Learning
SigLIP 并没有彻底改变 CLIP 的双塔思想。
它更多是在问:
Image-Text Alignment 的 Objective 能不能设计得更简单、更 scalable?
4.3 LocCa:Global Alignment 还不够,我们需要 Localization
CLIP / SigLIP 很擅长:
Image ↔ Text
但是它们更加偏向:
Global Representation
例如:
这张图是“一只狗”
但是:
狗在哪里?
狗的耳朵在哪里?
红色球在哪里?
图中的某个区域是什么?
这种区域级理解就不一定很好。
LocCa 的核心思想因此非常直接:
在 Caption Pretraining 中加入 Location 信息。
它统一设计了类似:
Image → Caption
Image + Text → Bounding Box
Image + Bounding Box → Caption
这样的任务。
也就是说开始让视觉 Encoder 学:
What
+
Where
LocCa 表明,location-aware captioning 可以显著提升 localization downstream tasks,同时保持整体视觉任务的能力。
这篇论文对理解 SigLIP2 非常重要。
4.4 SigLIP2:CLIP-style Encoder 开始吸收 Self-Supervised Learning
SigLIP2 是我认为非常值得深入理解的一篇论文。
因为它出现了一件非常有意思的事情:
之前我们似乎有两条路线。
路线 A
DINO
iBOT
DINOv2
追求:
Visual Representation
Dense Feature
Patch Feature
路线 B
CLIP
SigLIP
追求:
Image-Text Alignment
Zero-shot
Retrieval
到了 SigLIP2:
两条路线开始融合。
其训练 Recipe 在 SigLIP 的 sigmoid image-text objective 上进一步加入了:
Captioning-based Pretraining
+
Self-Distillation
+
Masked Prediction
+
Online Data Curation
+
Multilingual Data
部分版本还支持:
Native Aspect Ratio
Variable Resolution
也就是 NaFlex。
SigLIP2 最重要的思想
我认为不是简单记:
SigLIP2 > SigLIP
而应该记成:
Vision-Language Encoder 已经不能只学 Global Image-Text Alignment,还必须学习 Local Feature、Dense Feature、Spatial Understanding。
于是:
CLIP / SigLIP
+
DINO / iBOT式Self-Supervised Learning
+
LocCa式Caption / Localization
↓
SigLIP2
这也是为什么 SigLIP2 不只是:
Zero-shot Classification Encoder
而越来越适合作为:
VLM Vision Encoder
论文中的实验也显示 SigLIP2 相比 SigLIP 在 localization 和 dense prediction 等任务上有明显提升。
5. 第四阶段:从“对齐”走向“生成”
CLIP / SigLIP 本质还是 Encoder:
Image → Embedding
Text → Embedding
模型本身不会真正回答:
这张图片里发生了什么?
因为:
Embedding ≠ Language Generation
因此接下来进入:
BLIP
BLIP-2
5.1 BLIP:同时做 Understanding 和 Generation
BLIP 想解决两个问题。
第一:
很多模型:
要么擅长理解
要么擅长生成
BLIP 希望:
Understanding + Generation
统一起来。
第二:
互联网 Image-Text Pair 非常 noisy。
所以提出:
CapFilt
即:
Captioner
+
Filter
训练数据:
Image + Noisy Web Caption
先利用 Captioner:
Image
↓
Generate Synthetic Caption
再利用 Filter:
判断Caption和Image是否匹配
最终得到更高质量的训练数据。
这就是:
Bootstrapping Language-Image Pretraining
BLIP 的目标是建立能够同时迁移到视觉语言理解与生成任务的统一 VLP Framework,并利用 caption generation + filtering 改善网络图文数据质量。
5.2 BLIP-2:真正重要的是 Q-Former
BLIP-2 是整个学习路线中的一个关键转折点。
因为 LLM 已经非常强了。
视觉 Encoder 也已经非常强了。
问题变成:
为什么还要把它们全部重新训练一次?
于是 BLIP-2 提出了:
Frozen Image Encoder
+
Frozen LLM
然后只在中间训练:
Q-Former
整体结构:
Image
↓
Frozen Image Encoder
↓
Visual Tokens
↓
Q-Former
↓
Visual Query Features
↓
Projection
↓
Frozen LLM
↓
Text
BLIP-2 用一个轻量 Querying Transformer 作为视觉 Encoder 与 LLM 之间的信息瓶颈,并采用两阶段训练来完成模态桥接。
Q-Former 为什么重要?
Q-Former 中存在一组:
Learnable Query Tokens
例如概念上可以理解成:
Q1
Q2
Q3
...
Q32
这些 Query 通过 Cross-Attention:
Query
↓
Cross Attention
↓
Image Features
主动从大量视觉 Token 中提取:
对语言任务最有价值的信息
所以它实际上是:
Information Bottleneck
不是把整个图片 Feature:
全部塞给 LLM
而是:
Image Encoder产生大量视觉信息
↓
Q-Former Query
↓
筛选出有限数量Visual Tokens
↓
交给LLM
这也是理解今天大量:
Visual Token Compression
Perceiver Resampler
Query Token
Projector
结构的一个非常好的起点。
BLIP-2 两阶段训练
Stage 1
Frozen Image Encoder
+
Q-Former
目标:
Vision-Language Representation Learning
让 Q-Former 学会:
如何从视觉 Feature 中提取和语言相关的信息
Stage 2
加入:
Frozen LLM
进行:
Vision-to-Language Generative Learning
目标变成:
让 Q-Former 输出的视觉 Representation 变成 LLM 能够理解的“语言条件”。
BLIP-2 论文将这两个阶段分别定义为 representation learning 与 vision-to-language generative learning。
6. 第五阶段:开始进入现代 VLM
6.1 LLaVA:从视觉语言连接走向 Visual Instruction Tuning
BLIP-2 解决了一个非常重要的问题:
如何低成本把一个已经训练好的 Vision Encoder 和一个已经训练好的 LLM 连接起来?
它给出的答案是:
Frozen Vision Encoder
↓
Q-Former
↓
Frozen LLM
而 LLaVA 开始关注另外一个问题:
模型已经可以把视觉信息送进 LLM 了,那么怎么让它像 ChatGPT 一样,根据用户指令理解图片并进行对话?
这就是:Visual Instruction Tuning
它的整体架构相比 BLIP-2 更加简单:
Image
↓
CLIP Vision Encoder
↓
Visual Features
↓
Linear Projection
↓
LLM Embedding Space
↓
Vicuna / LLaMA
↓
Response
可以进一步压缩成:
CLIP
+
Linear Projection
+
LLM
LLaVA 与 BLIP-2 最大的结构区别
BLIP-2:
Vision Encoder
↓
Q-Former
↓
LLM
LLaVA:
Vision Encoder
↓
Linear Projection
↓
LLM
也就是说:
LLaVA 不再使用复杂的 Q-Former,而是使用一个非常简单的 Projection Layer,把视觉 Feature 映射到 LLM 的 Embedding Space。
这个结构后来对大量 Multimodal LLM 产生了非常大的影响。
因为它证明:
Strong Vision Encoder
+
Simple Projector
+
Strong LLM
本身就可以形成非常强的多模态模型。
最重要的创新:Visual Instruction Tuning
实际上,LLaVA 最值得记住的并不是 Linear Projection。
而是:Visual Instruction Tuning
之前 CLIP 学的是:
Image
↕
Text
目标是:
Image-Text Alignment
BLIP 开始学习:
Image
↓
Caption
BLIP-2 开始学习:
Image
↓
Visual Representation
↓
LLM
↓
Text
到了 LLaVA:
Image
+
User Instruction
↓
LLM
↓
Assistant Response
例如:
Image:
一张街道交通图片
User:
图片中有哪些潜在危险?
Assistant:
图片中可以看到……
也就是说,模型学习的已经不仅仅是:
Image → Text
而是:
Image
+
Instruction
+
Conversation
+
Reasoning
这一步非常重要。
因为现代 Multimodal LLM 的核心能力,本质上就是:
Vision Understanding + Instruction Following + Language Generation
数据是怎么来的?
这里也是 LLaVA 非常重要的地方。
当时并没有大量高质量的:
Image
+
Instruction
+
Answer
多模态指令数据。
但是已经存在很多:
Image
+
Caption
+
Bounding Box
数据。
于是 LLaVA 使用 GPT-4,把这些视觉信息转换成:
Conversation
Detailed Description
Complex Reasoning
形式的数据。
整个过程可以理解成:
Image
↓
Caption / Bounding Box
↓
GPT-4
↓
生成多模态Instruction数据
↓
Question
Answer
Conversation
Reasoning
这里其实出现了一个后来非常普遍的思想:
利用强大的 LLM 自动构建 Multimodal Instruction Data。
之后大量 MLLM 的数据构建,都可以看到类似的思想。
两阶段训练
LLaVA 的训练同样可以分成两个阶段。
Stage 1:Feature Alignment
第一阶段主要解决:
Visual Feature
↓
如何进入
↓
LLM Embedding Space
基本结构:
Image
↓
Frozen CLIP Vision Encoder
↓
Visual Feature
↓
Trainable Projection Layer
↓
Frozen LLM
这一阶段主要训练:
Projection Layer
目的:
建立 Vision Feature 和 Language Embedding Space 之间的映射关系。
可以把这一阶段简单理解成:
Vision
↓
Alignment
↓
Language Space
Stage 2:Visual Instruction Tuning
第二阶段开始使用:
Image
+
Instruction
+
Answer
这样的数据进行训练。
例如:
<Image>
User:
详细描述这张图片。
Assistant:
……
或者:
<Image>
User:
根据图片分析发生了什么。
Assistant:
……
这个阶段的目标不再只是:
Visual Alignment
而是:
Instruction Following
+
Conversation
+
Reasoning
+
Generation
因此:
Stage 1
Feature Alignment
↓
Stage 2
Visual Instruction Tuning
是理解 LLaVA Training Recipe 最简单的方法。
BLIP-2 → LLaVA 的核心变化
可以这样理解:
BLIP-2
↓
重点解决Vision Encoder和LLM怎么连接
↓
LLaVA
↓
重点解决连接之后模型如何听懂用户指令并进行多模态对话
对应到结构上:
BLIP-2
↓
Frozen Vision Encoder
↓
Q-Former
↓
Frozen LLM
变成:
LLaVA
CLIP Vision Encoder
↓
Linear Projection
↓
LLM
↓
Visual Instruction Tuning
6.2、PaliGemma:全参数微调视觉语言模型
理解完前面的论文,再看 PaliGemma 会非常顺。
因为:
Vision Encoder
我们已经通过:
ViT
CLIP
SigLIP
理解了。
LLM
本质还是 Transformer Decoder。
于是问题只剩:
怎么把 Vision Encoder 的 Token 放进 LLM?
PaliGemma 的结构非常简单:
Image
↓
SigLIP-So400m
↓
Image Tokens
↓
Linear Projection
↓
Gemma-2B
↓
Output Text
PaliGemma 本身就是由 SigLIP-So400m Vision Encoder 和 Gemma-2B Language Model 构成的接近 3B 参数 VLM。
PaliGemma 与 LLaVA最大区别
两者在结构上一致,都选择了相对简单的 Connector。主要区别在:训练目标和模型定位。
LLaVA 的重点:让模型“听懂指令”
LLaVA 最核心的问题是:
Vision Encoder 和 LLM 接起来以后,怎么让模型像 ChatGPT 一样进行视觉对话?
所以它重点学习:
Image
+
Instruction
+
Response
例如:
<Image>
User:
图片中发生了什么?
Assistant:
……
因此可以把 LLaVA 简化成:
Vision Encoder
↓
Projector
↓
LLM
↓
Visual Instruction Tuning
↓
Multimodal Assistant
它想得到的是:
看图
+
听懂问题
+
根据指令回答
这就是 LLaVA 的核心。
PaliGemma 的重点:做一个通用 VLM Base Model
PaliGemma 的目标不完全一样。
它更关心:
能不能训练一个统一的 Vision-Language Base Model,然后迁移到各种任务?
所以它学习的不只是:
Image
+
Question
+
Answer
还包括更广泛的视觉语言任务,例如:
Captioning
VQA
OCR
Detection
Segmentation
Grounding
因此:
SigLIP
+
Gemma
+
Large-scale Multimodal Pretraining
↓
General VLM Representation
↓
Fine-tune / Transfer
↓
Different Downstream Tasks
这也是为什么 PaliGemma 论文特别强调:
versatile VLM for transfer
而不是专门强调 Chat Assistant。
PaliGemma 输入形式
概念上:
[Image Tokens]
+
[BOS]
+
[Prompt Tokens]
+
[SEP]
+
[Answer Tokens]
然后 Gemma 自回归预测 Answer:
Image + Question
↓
Gemma
↓
Answer
论文使用 Prefix-LM masking:
Image + Prefix
可以进行充分Attention
Suffix
进行Autoregressive Attention
从而统一:
Caption
VQA
Detection
Segmentation
OCR
...
等任务。
PaliGemma 的训练逻辑
PaliGemma 的训练可以分成:
Stage 0
Unimodal Pretraining
SigLIP + Gemma已经分别训练好
↓
Stage 1
Multimodal Pretraining
↓
Stage 2
Higher Resolution Training
↓
Stage 3
Task Transfer / Fine-tuning
一个很值得注意的地方是:
PaliGemma Stage 1 并没有冻结 Vision Encoder,而是整个模型一起进行 Multimodal Training。
论文认为 captioning、grounding 等更复杂的监督信号,可以进一步让视觉 Encoder 获得空间和关系理解能力。
7. 技术演化线
真正应该记的是下面四条演化路线。
1、Vision Backbone
CNN
↓
ViT
↓
Swin Transformer
关键词:
Local Feature
↓
Global Attention
↓
Hierarchical Transformer
2、Self-Supervised Vision
DINO
↓
iBOT
↓
DINOv2
↓
DINOv3
关键词:
Image-level Semantic
↓
Patch-level Semantic
↓
Foundation Model
↓
Scalable Dense Feature
3、Vision-Language Encoder
CLIP
↓
SigLIP
↓
LocCa
↓
SigLIP2
关键词:
Global Alignment
↓
Better Alignment Objective
↓
Localization
↓
Global + Local + Dense + Multilingual
4、Multimodal LLM
CLIP
↓
BLIP
↓
BLIP-2
↓
LLaVA
↓
PaliGemma
↓
现代 MLLM
背后的变化是:
Embedding Model
↓
Understanding + Generation
↓
Vision Encoder + Connector + LLM
↓
Unified Multimodal Transformer
8. 对“多模态”的理解
读完这些论文后,我认为所谓多模态模型,本质上可以拆成三个问题。
1、Representation
图片应该表示成什么?
对应:
ViT
DINO
iBOT
DINOv2
DINOv3
2、Alignment
图片的 Representation
如何和语言 Representation 对齐?
对应:
CLIP
SigLIP
LocCa
SigLIP2
3、Generation
视觉信息如何真正进入 LLM
并影响语言生成?
对应:
BLIP
BLIP-2
LLaVA
PaliGemma
因此可以得到一个非常简单的现代 VLM 抽象:
┌──────────────┐
Image ────────→│Vision Encoder│
└──────┬───────┘
↓
Visual Tokens
↓
┌──────────────┐
│ Connector │
│Q-Former / MLP│
│Linear Project│
└──────┬───────┘
↓
LLM Token Space
↓
text ───────────────┤
↓
┌──────────────┐
│ LLM │
└──────┬───────┘
↓
Response
之后再阅读各种新的多模态模型,很多时候其实就是在研究:
Vision Encoder怎么选?
Visual Token怎么构造?
Connector怎么设计?
需要多少Visual Tokens?
Vision Encoder冻不冻?
LLM冻不冻?
Pretraining数据是什么?
Training Objective是什么?
高分辨率图片怎么处理?
如何增强OCR / Grounding / Detection能力?
更多推荐

所有评论(0)