ESC
输入关键词搜索文章
目录

SigLIP

ICCV 2023 · Google DeepMind
Sigmoid loss 替代 softmax,解耦 batch size 与损失函数
10B训练数据 WebLI
Sigmoid损失函数
84.5%零样本 ImageNet (SigLiT)
batch-independent训练特性
问题
CLIP 的训练有什么隐藏代价?

CLIP 用 softmax-based InfoNCE 损失做对比学习。这个损失函数有一个隐含的前提:batch size 必须足够大。因为 softmax 需要在 batch 内做全局归一化——batch 中的每个负样本都参与分母的计算。batch 越大,负样本越多,对比学习的信号越强。

OpenAI 报告 CLIP 训练需要 32,768 的 batch size。这对大多数研究机构来说是一个巨大的硬件门槛。

但这引发了一个自然的问题:对比学习的性能是否必然与 batch size 绑定?有没有一种损失函数,不需要大的 batch size 也能学到好的表征?

SigLIP 的回答是:有。把 softmax 换成 sigmoid。

方法
SigLIP + Locked-image Tuning (SigLiT)

SigLIP 本身只改变了损失函数——模型架构仍然是双塔(图像塔 + 文本塔)。但作者进一步将 SigLIP 与 Locked-image Tuning (LiT) 结合,得到 SigLiT。

LiT 的核心思路:冻结一个预训练好的图像塔(如一个已经在大规模数据上做 supervised training 的 ViT),只用对比学习微调文本塔。这样只需要更新一半的参数,训练效率大幅提升。

结合方式:

  • SigLIP:用 sigmoid pairwise loss 替代 softmax InfoNCE,解耦 batch size
  • LiT:冻结图像塔,只微调文本塔,减少可训练参数量

两者结合的结果:仅用 4 颗 TPUv4 芯片,在 两天内训练出一个 SigLiT 模型,零样本 ImageNet top-1 准确率达到 84.5%

核心思想
Sigmoid Loss:最简单的二元分类

CLIP 的 InfoNCE 损失对每个图文对做的是多分类:从 batch 的 N 个文本中找到与当前图像匹配的那一个:

\(\mathcal{L}_{i2t} = -\frac{1}{N} \sum_{i=1}^N \log \frac{\exp(S_{ii}/\tau)}{\sum_{j=1}^N \exp(S_{ij}/\tau)}\)

问题在于分母:\(\sum_{j=1}^N \exp(S_{ij}/\tau)\) 需要遍历 batch 内所有 N 个样本。当 N 很大时,内存开销随 batch size 平方增长。

SigLIP 的改进极其简单——把多分类变成独立的二元分类:每个图文对独立判断"是否匹配",不依赖 batch 内其他样本:

\(\mathcal{L} = -\frac{1}{n} \sum_{i=1}^{n} \log \frac{1}{1 + e^{z_{ij} \cdot (-t) + b}}\)

其中 \(z_{ij}\) 是图文对的相似度,\(t\) 是可学习温度参数,\(b\) 是可学习偏置。正样本对的标签为 -1,负样本对为 +1。

关键区别:sigmoid loss 的计算是 pairwise 的——每个图文对的损失只依赖自身,不需要 batch 内全局归一化。这意味着内存开销与 batch size 线性增长,而非平方增长。
为什么有效
解耦 batch size 与损失函数

Softmax 的问题

Softmax-based 损失有一个隐含假设:batch 中的负样本代表了"所有可能的负样本"。当 batch 小的时候,这个假设不成立——模型看到的负样本太少,学到的表征不够robust。

Sigmoid 的优势

SigLIP loss 不做全局归一化,每个图文对的梯度独立计算。这意味着:

  • 小 batch 也能有效训练:不需要大量负样本"衬托"正样本
  • 内存友好:可以拿省下的显存来增大模型或增加数据量
  • 训练更稳定:不受 batch 内样本分布变化的影响

消融实验

SigLIP 的消融实验系统性地对比了 sigmoid 和 softmax 在不同 batch size 下的表现:

  • Batch size = 512:sigmoid 和 softmax 差距不大
  • Batch size = 16K-32K:sigmoid 开始超越 softmax
  • Batch size = 64K+:sigmoid 优势更明显

更关键的发现:sigmoid loss 在小 batch size 下的性能远好于 softmax 在小 batch size 下的性能。这意味着资源有限的研究者也能训练出有竞争力的模型。

Batch size 的极限实验

论文还做了一个反直觉的实验:把 batch size 推到极限,一直到 100 万。结果发现,增大 batch size 的收益迅速递减——32K 的 batch size 已经足够

这个发现很重要:它说明 sigmoid loss 不需要极端的 batch size 就能达到好的效果,这也进一步降低了训练门槛。

正负样本比例的影响

Sigmoid loss 的 pairwise 特性还允许作者独立研究 examples vs pairs 以及 负样本与正样本的比例对训练效果的影响。这是 softmax loss 难以做到的——因为 softmax 的归一化天然把所有样本绑在一起。

数据
WebLI:10B 规模的多语言图文数据

SigLIP 在 WebLI(Web Language Image)数据集上训练,规模达到 10B 图文对,覆盖 100+ 语言。这个数据规模远超 CLIP 的 400M 和 ALIGN 的 1.8B。

论文 v4(2023 年 9 月)进一步报告了更多模型变体的结果:SigLIP BaseSigLIP LargeSigLIP SO400M(Shape-Optimized 400M),扩展了不同计算预算下的选择。

定位
在 VLP 演进中的角色

SigLIP 的贡献是正交于架构创新的训练效率优化。它不改变模型架构(仍然是双塔对比学习),只改变损失函数。这意味着它的改进可以叠加到任何基于对比学习的 VLP 方法上。

后续影响:

  • PaliGemma 等模型直接采用了 SigLIP 作为视觉编码器的训练方式
  • SigLiT(SigLIP + Locked-image Tuning)证明了冻结图像塔 + sigmoid loss 的高效组合
  • sigmoid loss 在需要大规模训练的场景中逐渐替代 softmax
  • 论文代码和模型已开源:google-research/big_vision
  • "损失函数本身可以更高效"这个观点启发了后续对对比学习本质的重新思考

如果从更高的视角看 VLP 的发展:CLIP 证明了"对比学习 + 大规模数据"的可行性,SigLIP 证明了"对比学习的损失函数还有很大的优化空间"。一个是证明题,一个是优化题。

补强 · 机制图解
Sigmoid loss 为什么能改变训练效率?
图 1:Sigmoid loss 为什么能改变训练效率?(代码绘制)
图 1:Sigmoid loss 为什么能改变训练效率?(代码绘制)

CLIP 的 InfoNCE 把每张图像和 batch 内所有文本做 softmax 归一化。这种做法让 batch size 变成训练质量的一部分:batch 越大,负样本越多,对比信号越强。但代价是显存和通信压力巨大,也让小规模实验很难接近大模型训练效果。SigLIP 的核心是把“从 N 个文本中找正确答案”的多分类问题,改写为“这个图文 pair 是否匹配”的二分类问题。每个 pair 独立计算 sigmoid loss,不再依赖 batch 全局归一化。这个改动看似小,却把训练瓶颈从 batch 全局竞争改成独立 pair 判断。

图 2:关键数据或机制展开(代码绘制)
图 2:关键数据或机制展开(代码绘制)
graph LR
  A[输入] --> B[核心模块]
  B --> C[对齐 / 压缩 / 训练]
  C --> D[下游能力]
  D --> E[实验验证]
图 3:关键结果摘要(代码绘制)
图 3:关键结果摘要(代码绘制)
补强 · 读法
为什么 SigLIP 是基础设施级改进?

SigLIP 不像 BLIP-2 或 LLaVA 那样改变模型交互方式,它改变的是底层训练信号。正因为改动底层,它的影响反而更容易扩散:任何需要图文对比预训练的视觉塔,都可以考虑从 softmax InfoNCE 换成 sigmoid pairwise loss。

softmax 的问题在于把所有负样本放进同一个归一化竞争中。这个机制在大 batch 下很强,但也把训练质量绑定到硬件规模。sigmoid loss 则把每个 pair 的匹配判断局部化,弱化 batch size 依赖。对工业训练来说,这意味着更灵活的并行策略;对研究者来说,这意味着较小 batch 下也有可用性能。

把 SigLIP 放进 VLP 时间线,它对应的是“训练效率”这条支线。CLIP 证明对比学习有效,ALIGN 证明噪声数据可规模化,SigLIP 则证明损失函数仍有优化空间。后续 PaliGemma 等模型使用 SigLIP 视觉编码器,说明这种优化已经从论文点子变成基础组件。

论文原图更新
SigLIP 图片来源说明
SigLIP PDF page 1
图 A:SigLIP 论文首页,arXiv HTML 未提供 figure URL,arXiv source 不可解包,故使用 CVF PDF 高 DPI 渲染作为 fallback(来源:CVF Open Access PDF page 1)
SigLIP PDF page 2
图 B:SigLIP 正文页,包含 sigmoid loss 与 softmax loss 讨论上下文(来源:CVF Open Access PDF page 2,高 DPI 渲染 fallback)

按新版协议,SigLIP 已尝试 arXiv HTML,但未提取到真实 figure URL;arXiv e-print 返回内容无法按 tar 解包,因此退回 CVF Open Access PDF 高 DPI 渲染。这里明确标注 fallback 原因,避免把代码绘制图冒充论文原图。SigLIP 的核心解释仍以正文公式和实验表格为准。

参考来源