type
status
date
slug
summary
tags
category
icon
password
time | 2023-09 |
paper | |
code | |
org. | Apple |
个人博客地址 |
Motivation
训练一个好的CLIP模型依赖大规模,高质量的训练数据。通过爬虫,可以很容易从互联网爬取大量(上千亿)的图文数据,满足大规模的要求是容易的。但是,互联网中的图文数据含有大量噪声,为了提升质量,数据治理(data curation)必不可少。如何设计一个鲁棒、低成本的data curation方案也是目前的一个研究热点,也是这篇文章的主题。
Main Idea
Data Filtering Network
的核心流程如下:STEP1: 用高质量的数据训练
DFN
(data filter network)STEP2: 用训练好的DFN对uncurated data进行过滤,得到DFN induced Dataset
filtering的代码逻辑
STEP3: 用DFN induced Dataset训练
CLIP
。总体是一个二阶段的训练过程,先训练DFN,再训练CLIP。
实验
部分英文名词进行说明
ㅤ | description |
uncurated data/data pool | 未清洗的大规模爬取数据集 |
filter dataset | 用来训练DFN的数据集 |
induced dataset | 对data pool用DFN进行过滤的数据集 |
induced model | 用induced dataset训练的CLIP模型 |
Data Filtering Network的形式探究
DFN的本质上是一个判别模型。给定一个sample,DNF判别其是否为正例。作者主要探究了3种DFN的形式:
- 仅考虑图片信息,建模为binary classification。具体来说,将CC12M和imageNet的图片作为正例(高质量图片),CommonCrawl的图片作为负例(低质量图片),训练一个分类模型来filter。
- 建模为重建任务。以mask区域的重建质量作为判别依据。具体来说,用高质量的图文数据训练M3AE。推理阶段计算data pool 图片mask区域的重建损失,高的作为噪声。
- CLIP形式。用CLIP score进行filter。(作者最后用该方法训练DFN)
DFN和之前常用的CLIP filtering算法形式上一致。主要区别在于DFN中的CLIP是在高质量数据上训练的,过滤效果好一些。另外论文提供的一些实验上的insighting可以参考。
数据质量对DFN性能的影响
作者用induced model在下游任务的性能来间接评估DFN
的性能。
作者评估用不同的高质量数据训练的
DFN
所产生的induced model的性能。实验发现:DFN
的训练数据质量低时,induced model的性能明显下降。Induced Dataset的构建
作者迁移OpenAI CLIP的权重,在
HQITP-350M
高质量图文对数据上对其进行微调,得到DFN,随后用该模型对data pool数据进行打分,过滤得到DFB2B
和DFN5B
数据集,具体流程:dataset | data pool | fiterring rule |
DFN2B | DataComp-xlarge (12.8B) | 将score得分在前2B(约15%)的数据作为induced dataset |
DFN5B | DataComp-xlarge (12.8B) + 30B 额外的爬取数据 | 将score得分在前5B的数据作为induced dataset |
DFN
二阶段训练范式必要性研究
作者进一步探究所提出的二阶段范式的必要性
stage1: 训练
DFN
。“high quality filter dataset → DFN”, stage2: 训练induced model。“data-pool → DFN (trained)→ induced dataset → induced model”
具体结果见表:
作者对比用DFN
filter 和用OpenAI的CLIP
fileter(OAI ViT-B/32 Induced Dataset
) 在评估数据集的效果。有点困惑的是:作者的DFN2B
用的是前15%的数据。而baseline 似乎用的是clip score > 0.3的数据。似乎不太公平?
Data Pool 对DFN
性能的影响
从下表可知,
DFN
的性能随data pool size的增加而增加。这也很好理解,data pool越大,经过DFN
过滤后,排在前2B的数据平均score就越高。由于
HQITP-350M
数据是闭源的。作者也在开源高质量数据上训练DFN
,验证其方法的有效性上表也间接验证了`数据质量对DFN性能的影响`。同样规模induced dataset,
HQITP-350M
训练的DFN
相较开源高质量数据,induced model的性能在不通data pool下都下降了7-8个点。小结
文本从data curation的方向研究如何提升CLIP的performance。本文核心是提出了一个二阶段的训练范式:
- Stage1: 用高质量数据训练DFN。“high quality filter dataset → DFN”;
- Stage2: 用DFN清洗后的数据训练induced model (即CLIP)。“data-pool → DFN (trained)→ induced dataset → induced model”。
- 作者:莫叶何竹🍀
- 链接:http://www.myhz0606.com/article/dfn
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章