SigLIP
Zhai (Google) 2023 · 论文
一句话总结 — SigLIP 用一种无需批次全局信息的简单成对 sigmoid 损失,取代了 CLIP 的 softmax 对比损失,使语言-图像预训练能够扩展到超大批次、在小批次下表现更好,并仅用四块 TPUv4 芯片就达到了 84.5% 的零样本 ImageNet 准确率。
问题
标准的语言-图像对比预训练(CLIP/ALIGN)使用批次级别的 softmax 对相似度分数做归一化,且要应用两次(先按图像方向,再按文本方向)。这需要对所有成对相似度有一个全局视角:昂贵的 all-gather 操作、构建一个 的相似度矩阵,以及对整个批次做一次额外的稳定化处理(减去最大值)——这把损失质量与批次大小耦合在一起,使得没有数据中心级集群就无法进行 CLIP 级别的预训练。SigLIP 提出的问题是:这种全局归一化究竟是否必要。
方法与架构
Softmax 基线(被替代的方法)。 给定归一化后的嵌入 、 以及可学习的温度 ,CLIP 最小化
Sigmoid 损失。 SigLIP 把每一对图像-文本都当作独立的二分类问题——匹配或不匹配——遍历所有 种组合: 其中标签 (若 匹配)否则为 , 是可学习的温度, 是可学习的偏置。无需对批次中其余部分做归一化。
偏置初始化。 由于负样本数为 ,远超正样本数 ,未经调节的损失一开始会被负样本主导,导致巨大的修正性梯度步。将 、 初始化后,训练起点接近于”随机一对样本大概率不匹配”这一先验。
分块的分布式实现。 在 个设备上做数据并行、每个设备的批次为 的情况下,损失以分块方式计算:每个设备对本地的 分块打分,然后在设备间轮换置换文本表示,使负样本依次轮转,再汇总各设备的损失。整个过程无需 all-gather,且始终只需构建一个 的矩阵——sigmoid 损失是对称的,只需一次前向传播。
两种训练方案。 SigLIP 在 WebLI 数据集上训练两个塔(ViT 图像编码器 + Transformer 文本编码器,与 CLIP 保持一致);SigLiT 遵循 Locked-image Tuning 方式,只训练文本塔,图像编码器保持预训练冻结。将批次大小与损失解耦,也使得研究”样本数 vs. 配对数”的权衡以及在极端批次大小下训练成为可能。
实验结果
- SigLiT 使用一个冻结的公开 B/8 检查点,在 LiT 数据集上仅用四块 TPUv4 芯片训练一天,即达到 79.7% 的零样本 ImageNet 准确率;使用 g/14 检查点、训练两天则达到 84.5%。
- SigLIP 的 B/16 模型在 WebLI 上,用 16 块 TPUv4 芯片训练三天达到 71.0% 的零样本 ImageNet 准确率;在批次为 32k 时训练 2 天达到 72.1%,在 32 块芯片上训练 5 天达到 73.4%。
- 将批次大小从 512 扫描到一百万:在批次小于 16k 时 sigmoid 损失大幅领先于 softmax;随着批次增大差距逐渐缩小,两者性能最终都趋于饱和——批次为 32k 已经足够,这一结论在训练于超过 100 种语言的多语言 mSigLIP(在 XM3600 检索任务上评估)中同样成立。
- sigmoid 损失比 softmax 更节省内存,正是这一点使得百万批次实验以及小芯片数量训练成为可能;相关模型已在
big_vision中公开发布。
对SLAM的意义
SigLIP 已成为多模态技术栈中默认的 CLIP 替代方案:它是 OpenVLA 和许多 2024 年后 VLM 中的视觉编码器(通常与 DINOv2 搭配),因此其文本对齐特征正是当今大多数机器人感知系统实际”看到”的内容。对 SLAM 而言,SigLIP 特征所起的作用与 CLIP 特征在开放词汇建图中的作用相同——将可用语言查询的语义嵌入到三维地图中——但每单位算力能获得更好的精度,这对于机器人的机载部署尤为重要。