CLIP改进

主要有以下两个工作:

【1】SigLIP:Sigmoid Loss for Language Image Pre-Training

【2】DFN:Data Filtering Networks

分别从算法和数据上进行优化

1.SigLIP:Sigmoid Loss for Language Image Pre-Training

SigLIP的核心方就是对CLIP的训练Loss进行了优化。

CLIP Loss

原本的CLIP采用的是传统的基于softmax的对比学习损失函数:

可以看到:

1,对于每一对正样本,即分子的,需要进行基于所有正负样本的softmax归一化,即分母

  1. 由于softmax的不对称性,上述归一化操作对于image-to-text和text-to-image要单独进行。

这意味着在DDP训练下,每个GPU都需要获取来自所有其他GPU的图像特征x和文本特征y,这涉及到两次all_gather操作。并且每个GPU都要维护一个完整的BXB的矩阵,这从通讯复杂度和存储复杂度角度看,都是一笔不小的开销。

SigLIP Loss

为此,SigLIP提出了一种更加简单的替代方案,基于Sigmoid损失单独处理每一个image-text pair:

SigLIP 高效分块实现

鉴于SigLIP的特性,他们还设计了一种DDP训练下的高效实现,假设一共有D个GPU,每个GPU的局部批次大小为,对上述Loss进行拆分改写:

以D=3, B=12, b=4为例,SigLIP Loss的计算过程如下:

可以发现,由于每一对 都是损失函数中的独立项 ,因此可以计算正例以及b-1个负例的损失,然后跨设备和相邻的GPU置换负例表示(仅需文本 ),并计算新的b-1个负例对应的损失,并逐渐将该损失进行累加就会得到该GPU对应的完整局部损失,然后把所有GPU的局部损失相加便可以得到完整的全局损失

该实现下,每个GPU仅需要和相邻GPU进行D-1次文本特征的交换,并且仅需维护一个d x d的矩阵即可,大大降低了通讯和存储开销

一些结论:

  • Sigmoid-based Loss对比Softmax-based Loss在批次大小不超过32k时具有明显优势

  • 批次大小超过32k之后继续提升批次大小收益提升并不明显

  • 过大的批次大小(307k)对于两个损失都有害(因为总训练步数的降低)

2.DFN:Data Filtering Networks

同样也是论文标题言简意赅地体现了核心工作:如何训练一个好的数据过滤网络(DFN),从而从原始数据池中过滤出高质量数据用以训练一个好的CLIP。这个没有太多好说的,简单讲一下吧。

使用CLIP作为DFN是一个常用方法,例如LAION就是利用OpenAI CLIP从 Common Crawl上过滤出的大规模image-text pair数据集。论文对DFN的过滤性能 进行了定义:用DFN从原始数据池中过滤出一个诱导数据集 (induced dataset),用该诱导数据集训练出的诱导模型(induced model)在标准评估集(例如ImageNet)上的性能,即为该模型的过滤性能,下图是DFN的训练和使用流程:

论文发现CLIP的性能(ImageNet zero-shot指标)和其过滤性能并不相关。基于此,他们进行了一系列关于训练一个好的DFN的实验,一些主要结论:

  • CLIP模型作为DFN比其他模型(二分类、MAE)更好且更灵活

  • 高质量的训练数据非常关键(使用了350M人工验证的image-text pair数据)

  • 在目标数据集上finetune DFN可以显著提升过滤性能

  • 仅依赖于少量开源数据(30M)也可以复现OpenAI CLIP(400M)作为DFN的过滤性能

相关推荐
LienJack6 小时前
《Re0 Build Harness》第二章Agent 组成模型:Model、Loop、Tools、State
人工智能·agent
Raink老师6 小时前
【AI面试临阵磨枪-087】Skill 生命周期:注册、加载、调度、熔断、卸载、版本管理?
人工智能·面试·职场和发展
夜郎king6 小时前
告别创作卡壳!体验 CSDN AI 数字营销,解锁全新写作思路
人工智能·数字营销体验·ai 营销新体验
Luke Ewin6 小时前
从零开始部署Fun-ASR-Nano实时语音识别并区分说话人教程 | 私有化部署开源的实时语音转写项目
人工智能·语音识别·funasr·实时语音识别·fun-asr
跨境技工小黎6 小时前
Playwright vs Puppeteer :自动化脚本工具全面对比
人工智能
Hotchip_MEMS6 小时前
韬τ定律的技术内核:逻辑折叠与信息路径重构
人工智能·物联网
AI服务老曹6 小时前
解耦异构算力:基于 Docker 与 GB28181/RTSP 的边缘计算 AI 视频管理平台架构设计(支持源码交付)
人工智能·docker·边缘计算
captain_AIouo6 小时前
深耕海外市场,autoAGC攻破品牌跨境内容运营难题
大数据·人工智能·经验分享·产品运营·aigc·内容运营
云天AI实战派6 小时前
AI 智能体/API 故障排查指南:从调用失败到上线稳定的全流程修复手册
人工智能
KaMeidebaby6 小时前
卡梅德生物技术快报|Western Blot 实验应用:肺肠轴机制研究全流程技术解析
前端·数据库·人工智能·算法·百度