想象一座城市凌晨四点的巨大批发市场,上千个摊位同时开张——有的卖着刚摘下的鲜菜,有的把烂叶混在好菜里以次充好。十位厨师受邀参加一场厨艺大赛:他们面对同一个市场、同一间厨房、同一个炉灶,唯一的区别是——怎么挑选自己的食材。有的厨师推着板车把所有东西都装回去,有的厨师蹲在摊位前一根一根挑拣。一小时后,评委品尝成品,结果高下立判。 这正是 DataComp 为 AI 做的事情:它把数百乃上千亿条“图文食材”堆在一个巨大的池子里,冻结了“厨房”(固定的 CLIP 模型架构)和“灶台”(固定的计算预算),然后向全世界发问——你到底应该怎么挑数据,才能做出最好吃的“多模态模型”?这场比赛给出的答案出人意料:数据规模不是关键,数据质量才是。这也正是“以数据为中心 AI”(data-centric AI)思潮最有力的一次实弹演习。

岗位关联

学会 DataComp,等于掌握一套用数据质量说话的方法论——在算力被冻结的舞台上,你能靠“筛选策略”这一招赢得模型性能的显著提升。这是数据为中心 AI 研究者最重要的基本功之一。

目录
  1. 可视化演示
  2. 实验框架设计
  3. 数据筛选策略
  4. 规模质量权衡
  5. CLIP训练原理
  6. 数据为中心理念
  7. 实验结果启示
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

DataComp多层级数据筛选流程 数据量递减筛选策略要点1. CLIP相似度:预训练模型计算图文匹配度,设阈值\u03c4过滤数据量递减数据量递减筛选策略要点1. CLIP相似度:预训练模型计算图文匹配度,设阈值\u03c4过滤数据量递减 数据量递减筛选策略要点1. CLIP相似度:预训练模型计算图文匹配度,设阈值\u03c4过滤数据量递减数据量递减筛选策略要点1. CLIP相似度:预训练模型计算图文匹配度,设阈值\u03c4过滤数据量递减

实验框架设计

比赛开始前,主办方宣布三条铁律:所有厨师必须去同一个市场采购,使用同一间厨房,火力大小也完全一样——每隔一段时间,还会把人手减半,看看在“小灶台”上谁依然能做出好菜。这就是 DataComp 实验框架的设计精髓:把不可控的因素全部冻结,只让“选食材”这一个变量自由发挥。

2023 年,华盛顿大学团队发布了 DataComp。它从 Common Crawl 中收集了 128 亿条图文候选对,经过近重复去除、语言过滤等安全清洗后,形成一个 1.28 亿图文对的“标准市场”。参赛者要做的是提交一份“购物清单”——也就是数据筛选策略,把市场里的 1.28 亿条数据压缩成自己的训练集。主办方提供四个档位的灶台:1.28M、12.8M、128M、1B,代表训练过程中模型“见过”的样本总数上限。

所有人都使用相同的 CLIP ViT-B/32 架构作为菜谱,禁用任何额外技巧,最后统一在 38 个零样本分类任务(如 ImageNet、VTAB 系列)上接受评委打分。这样一来,任何成绩差异都只能归因于一个环节——你怎么挑数据。

回头再看这场“盲测赛”:市场相同、厨房相同、火候相同,最终的菜却天差地别。DataComp 用最干净的实验设计告诉所有人——同一批数据原料,选择方式不同,模型的天花板就不同。

DataComp(f,B):P→f(⋅)D→CLIP 训练Mθ→评估Acc(Mθ)\displaystyle \text{DataComp}(f, B): \quad \mathcal{P} \xrightarrow{f(\cdot)} \mathcal{D} \xrightarrow{\text{CLIP 训练}} \mathcal{M}_\theta \xrightarrow{\text{评估}} \text{Acc}(\mathcal{M}_\theta)
这个式子把“数据质量实验”压缩成一条流水线:原始池 → 筛选函数 → 训练 → 评估。看懂它,就理解了 DataComp 为什么能公正地比较各种筛选策略。
  1. 原始池 P相当于比赛用的统一大市场。DataComp 把 Common Crawl 中 128 亿条候选对清洗成 1.28 亿条图文对,确保大家起点相同。
    P={(xi,ti)}i=1N,N=128M\mathcal{P} = \{(x_i, t_i)\}_{i=1}^{N}, \quad N = 128\text{M}
  2. 筛选函数 f参赛者提交的购物清单,把市场里的数据按自己的标准压缩成训练集 D。
    D=f(P)\mathcal{D} = f(\mathcal{P})
  3. CLIP 训练在固定架构和固定预算 B 下训练模型,厨师不能偷偷换锅。
    Mθ=Train(D,B)\mathcal{M}_\theta = \text{Train}(\mathcal{D}, B)
  4. 评估在 38 个零样本分类数据集上取平均准确率,作为评委的最终打分。
    Acc=138∑j=138aj\text{Acc} = \frac{1}{38}\sum_{j=1}^{38} a_j

数据筛选策略

市场里的厨师大致分成三派。第一派推着推车,只把明显发霉、压烂的菜扔掉就走;第二派蹲在地上一根根看菜品相——叶子有没有虫眼、颜色新不新鲜;第三派最奢侈,随身带了一位品鉴师,每种食材都要先尝一口,确认和菜谱对味才买。DataComp 的参赛策略,恰好也能分成这三类。

第一类叫基础启发式清洗,对应“扔掉烂菜”:根据标题长度、图片尺寸、语言种类等规则,把明显不合格的样本剔除。第二类是基于内容的筛选,对应“看品相”:用图像美学评分、清晰度检测等去挑图,或用文本频率、语种检测去筛字。第三类则是比赛中大放异彩的 CLIP 分数过滤:用预训练好的 CLIP 模型同时编码图片和文本,算出两者的语义相似度——图文越“对味”,分数越高。

实际最有效的策略往往是组合拳:先用基础清洗去掉低质量垃圾,再用 CLIP 分数按阈值或 top-k 方式截取,保留语义最对齐的一部分。DataComp 的 Top 团队证明,这类“品鉴师”策略在小预算下效果惊人,直接把原始池训练远远甩在身后。

三派厨师的做法在比赛中高下立判:扔烂菜的赢不了,看品相的能进复赛,带品鉴师的直接夺冠。DataComp 用实验数据证明——筛选的精细程度,直接决定模型学习的起点高度。

Dθ={(xi,ti)∈P∣s(xi,ti)≥θ},s(xi,ti)=cos⁡(vi,wi)\displaystyle \mathcal{D}_{\theta} = \{(x_i, t_i) \in \mathcal{P} \mid s(x_i, t_i) \geq \theta\}, \quad s(x_i, t_i) = \cos(\mathbf{v}_i, \mathbf{w}_i)
这条公式是“品鉴师”的购物清单:只有当图片和文本的余弦相似度达到阈值 θ 时,这条样本才有资格进入训练集。
  1. 嵌入表示用 CLIP 的图像编码器把图片变成向量 $\mathbf{v}_i$,用文本编码器把文字变成向量 $\mathbf{w}_i$。
    vi=Encoderimg(xi),wi=Encodertxt(ti)\mathbf{v}_i = \text{Encoder}_{\text{img}}(x_i), \quad \mathbf{w}_i = \text{Encoder}_{\text{txt}}(t_i)
  2. 余弦相似度计算这两个向量的夹角余弦,衡量“图文对味”程度,值越接近 1 越匹配。
    s(xi,ti)=vi⋅wi∥vi∥∥wi∥s(x_i, t_i) = \frac{\mathbf{v}_i \cdot \mathbf{w}_i}{\|\mathbf{v}_i\| \|\mathbf{w}_i\|}
  3. 阈值判定设定阈值 θ,只有分数不低于 θ 的样本能通过品鉴。
    s(xi,ti)≥θs(x_i, t_i) \geq \theta
  4. 保留集合把所有通过品鉴的样本收集起来,组成干净的训练集。
    Dθ={(xi,ti)∈P∣s(xi,ti)≥θ}\mathcal{D}_{\theta} = \{(x_i, t_i) \in \mathcal{P} \mid s(x_i, t_i) \geq \theta\}

规模质量权衡

另一部分厨师信奉“量大管饱”:反正市场免费,把所有东西都拉回来,总比挑挑拣拣强吧?评委则在比赛规则里埋了一个伏笔——大火力和小火力的厨房,各自适合什么样的采购策略?

这里的“火力”在 DataComp 中叫计算预算,它的定义非常朴素:训练过程中模型总共“看过”多少条样本。它等于训练集大小乘以训练轮数。一个小灶台(比如 12.8M 预算)只够模型看一丁点数据,此时如果喂进去一半垃圾,模型学到的全是噪声,基本等于没学;但如果你精挑细选,每一口都是营养,模型照样能学到不错的表征。大赛结果证实:在 12.8M 这个最低预算下,不做筛选的模型表现极差,而 CLIP 分数过滤后的模型成绩大幅领先。

而当灶台火力开到 1B 预算时,模型有足够的算力从海量数据中自己“消化”一部分噪声,此时不做筛选的原始池也能达到一定水平。但注意,这绝不意味着质量不重要——DataComp 的最优队伍在 1B 预算下依然使用了“过滤后的 Common Crawl + 补充高质量数据源(如 LAION)”的组合策略,把质量与多样性同时拉满。

这场“量 vs 质”的较量没有绝对赢家,但规律很清晰:火力越小,质量越重要;火力越大,质量与多样性需要两手抓。只会“堆数据”的厨师,注定在评委面前翻车。

B=∣D∣×E\displaystyle B = |\mathcal{D}| \times E
计算预算 B = 训练数据量 |D| × 训练轮数 E。它回答了一个关键问题:同样的灶台火力下,你是选择“看得多但脏”,还是“看得少但精”?
  1. 训练数据规模|D| 是筛选后训练集的样本条数,比如 128M 就是 1.28 亿条图文对。
    ∣D∣=训练集中图文对的数量|\mathcal{D}| = \text{训练集中图文对的数量}
  2. 训练轮数E 是模型完整遍历训练集的次数,轮数越多,模型把数据“嚼”得越细。
    E=epoch 数量E = \text{epoch 数量}
  3. 预算含义两者相乘得到模型看到的样本总数,这是 DataComp 统一“火力”的唯一标尺。
    B=∣D∣×EB = |\mathcal{D}| \times E

CLIP训练原理

所有参赛厨师拿到的是同一本菜谱——CLIP 的训练方法。这本菜谱的核心思想只有一句话:让图片和它对应的文字“对上味”,让不搭调的图文“互相嫌弃”。听起来像给食材找灵魂伴侣,而这正是对比学习的精髓。

CLIP 由两个编码器组成:图像编码器把一张图片压成一个向量,文本编码器把一段文字压成另一个向量。训练时,一个批次里有 N 张图配 N 段文字,天然形成 N 个“正样本对”(图文本来就该配对)和 N×(N-1) 个“负样本对”(图 A 配文 B,全都不该配对)。模型要学习的是:让正样本对在向量空间里靠得近,负样本对拉得远。训练完成后,它甚至不用重新学习分类头——把“猫”、“狗”这些类别名翻译成文本向量,和图片向量比相似度,就能完成零样本分类。这也是 DataComp 用零样本准确率当“评委”的原因:它最直接反映图文对齐能力。

菜谱始终公开,每个厨师都能背下来。但正如大赛所示,菜谱不决定成败,食材的挑选才决定上限——模型结构再完美,喂给它的数据是污浊的,学出来的向量空间也是扭曲的。

L=−1N∑i=1Nlog⁡exp⁡(cos⁡(Ii,Ti)/τ)∑j=1Nexp⁡(cos⁡(Ii,Tj)/τ)\displaystyle \mathcal{L} = -\frac{1}{N}\sum_{i=1}^{N}\log \frac{\exp(\cos(\mathbf{I}_i, \mathbf{T}_i)/\tau)}{\sum_{j=1}^{N}\exp(\cos(\mathbf{I}_i, \mathbf{T}_j)/\tau)}
这是 CLIP 的对比学习损失(InfoNCE 形式)。它像一个严格的配餐员:让每一道菜(图片)和它的菜名(文本)牢牢绑定,同时和所有其他菜名划清界限。
  1. 正样本对第 i 张图片向量 $\mathbf{I}_i$ 和第 i 段文本向量 $\mathbf{T}_i$ 是同一种食材的“图和名”,相似度要尽量高。
    cos⁡(Ii,Ti)\cos(\mathbf{I}_i, \mathbf{T}_i)
  2. 负样本分母分母把第 i 张图和批次内所有文本的相似度都加起来,包含正确的配对和所有错误配对,迫使模型区分真假。
    ∑j=1Nexp⁡(cos⁡(Ii,Tj)/τ)\sum_{j=1}^{N}\exp(\cos(\mathbf{I}_i, \mathbf{T}_j)/\tau)
  3. 温度系数τ 控制分布的“锐利程度”,τ 越小,模型对相似度的微小差异越敏感。学名叫温度系数 $\tau$。
    τ>0\tau > 0
  4. 对数平均对每个样本取 log 再求平均,最小化这个值,等价于让正样本对概率最大。
    −1N∑i=1Nlog⁡(⋅)-\frac{1}{N}\sum_{i=1}^{N}\log(\cdot)

数据为中心理念

老厨师长在大赛闭幕时说了句意味深长的话:“你们总以为换一口好锅就能做出好菜,但我在后厨看了几十年,真正拉开差距的,是你会不会挑食材。”这句话几乎是“以数据为中心 AI”(data-centric AI)的缩影——它呼吁研究者把注意力从“换更大的模型、调更好的参数”转向“系统性地优化数据本身”。

传统的模型中心思路认为,模型结构是瓶颈,于是不断加层数、加参数量;而数据为中心思路认为,数据的质量、覆盖度和信噪比同样值得被当作核心研究对象。在 DataComp 中,模型架构被完全冻结,所有参赛者唯一能优化的就是数据——这正是对数据中心理念的一次大规模检验,而检验结果非常明确:数据质量的提升,能带来可与“换更大模型”相媲美的收益。

实践中,数据为中心意味着把数据当成软件代码一样持续迭代:定义质量指标 → 清洗/筛选/补充 → 在固定预算下训练验证 → 分析失败样本 → 再改进数据,形成闭环。DataComp 的价值在于,它为这个闭环提供了一个标准化的“测量仪”,让每一次数据改动都能被公正地量化。

老厨师长的经验,如今被 DataComp 的实验数据正式“盖章”:数据不是模型的燃料,数据是模型的天花板。把数据当作一等公民去研究,正是 data-centric AI 给这个时代最重要的启示。

Q(xi,ti)=α simg(xi)+β stxt(ti)+γ salign(xi,ti)\displaystyle Q(x_i, t_i) = \alpha\, s_{\text{img}}(x_i) + \beta\, s_{\text{txt}}(t_i) + \gamma\, s_{\text{align}}(x_i, t_i)
这是数据质量评分的一种通用形式:把图像质量、文本质量、图文对齐度三个维度加权求和。权重 α、β、γ 告诉系统“这一轮优化重点看什么”。
  1. 图像质量分$s_{\text{img}}(x_i)$ 评估图片本身的清晰度、美学价值,对应“食材新不新鲜”。
    simg(xi)∈[0,1]s_{\text{img}}(x_i) \in [0, 1]
  2. 文本质量分$s_{\text{txt}}(t_i)$ 评估标题的完整度、语言规范性,对应“菜名写没写清楚”。
    stxt(ti)∈[0,1]s_{\text{txt}}(t_i) \in [0, 1]
  3. 对齐度分$s_{\text{align}}(x_i, t_i)$ 评估图文语义是否吻合,通常用 CLIP 分数实现。
    salign(xi,ti)=cos⁡(vi,wi)s_{\text{align}}(x_i, t_i) = \cos(\mathbf{v}_i, \mathbf{w}_i)
  4. 加权求和三个维度各自乘以权重再加总,权重体现了团队对“哪个维度更关键”的判断。
    Q=α simg+β stxt+γ salignQ = \alpha\, s_{\text{img}} + \beta\, s_{\text{txt}} + \gamma\, s_{\text{align}}

实验结果启示

评委公布成绩单的那一刻,全场安静。几个规律性发现浮出水面,彻底改写了人们对数据质量的认知。

第一,筛选的收益在低预算下极其显著。在 12.8M 预算档位,使用 CLIP 分数过滤的队伍成绩远超不做筛选的基线,差距在多个数据集上达到几十个百分点——这印证了“小灶台容不下烂食材”。第二,高预算下最优策略是组合高质量源。1B 预算的冠军队伍并没有简单地“过滤到底”,而是将过滤后的 Common Crawl 数据与 LAION 等高质量外部源按比例混合,兼顾质量与多样性。第三,基础清洗与 CLIP 过滤之间存在巨大鸿沟。启发式规则只能去掉表层垃圾,语义层面的图文错配必须靠 CLIP 这类“品鉴师”才能识别。最后,DataComp 将数据池、基线模型和评估代码全部开源,让全球研究者都能在同一把尺子下迭代自己的数据工程。

大赛落幕,厨师长在总结时写下这样一句评语:选食材的本事,比灶台的火力更能决定菜的味道。DataComp 用一套严谨的评测框架,把这句话从经验之谈变成了可复现、可量化的科学结论——而这,正是数据为中心 AI 时代最重要的入场券。

Gain(f)=Acc(Mf)−Acc(Mbase)Acc(Mbase)×100%\displaystyle \text{Gain}(f) = \frac{\text{Acc}(\mathcal{M}_{f}) - \text{Acc}(\mathcal{M}_{\text{base}})}{\text{Acc}(\mathcal{M}_{\text{base}})} \times 100\%
这是衡量筛选策略收益的公式:你的模型准确率相对基线模型提升了百分之多少。DataComp 报告中到处可见这种“相对增益”的对比。
  1. 策略模型分数$\text{Acc}(\mathcal{M}_{f})$ 是应用筛选策略 f 后训练出的模型平均准确率。
    Acc(Mf)\text{Acc}(\mathcal{M}_{f})
  2. 基线模型分数$\text{Acc}(\mathcal{M}_{\text{base}})$ 是直接用原始池训练出的模型准确率,作为参照系。
    Acc(Mbase)\text{Acc}(\mathcal{M}_{\text{base}})
  3. 相对增益两者之差除以基线再乘 100%,得到“筛选策略带来多少百分比提升”。
    Acc(Mf)−Acc(Mbase)Acc(Mbase)×100%\frac{\text{Acc}(\mathcal{M}_{f}) - \text{Acc}(\mathcal{M}_{\text{base}})}{\text{Acc}(\mathcal{M}_{\text{base}})} \times 100\%

AI 应用场景

多模态数据集策展

阶段:数据准备与清洗

解决的问题:一家公司从互联网抓取了 10 亿条图文对,想训练自己的视觉-语言模型。传统做法是写好几十条启发式规则(去重、过滤短标题、检查图片尺寸),费时费力却依然大量残留“图文错配”样本,模型训练出来效果平庸。借用 DataComp 的方法论后,团队先用基础清洗快速去噪,再用预训练 CLIP 计算图文相似度并做 top-k 截断,最后在固定的小预算下做 A/B 对比验证,两周内就把有效样本密度从约 40% 提升到 90% 以上。

具体案例:某电商团队要构建商品图与描述的数据集。他们按照 DataComp 的“预算 = 数据量 × 轮数”原则,先锁定 128M 预算,用 CLIP 分数过滤掉“图不对文”的商品页后,零样本检索命中率提升显著,客服问答系统的准确率也随之上涨。

数据质量基准测试平台

阶段:模型评估与迭代优化

解决的问题:数据团队每次改动清洗流程,都说不清“改动到底有没有用”。仿照 DataComp 搭建内部“数据质量擂合”:固定一个轻量模型和固定预算,任何数据变更都跑一遍统一评估,用相对增益公式量化收益,杜绝拍脑袋决策。

具体案例:某自动驾驶公司构建图文描述语料时,将“车道线不清晰”这类难例单独构成一个待评估池,每次数据筛选策略升级都在该池上对比基线准确率,最终将困难场景的图文对齐准确率提升了约 15%。

小团队低成本参赛策略

阶段:训练策略设计

解决的问题:创业公司算力有限,训练不动大规模模型。DataComp 的 12.8M 预算结果给了他们启发:与其用全部算力训练一堆噪声数据,不如先用 CLIP 分数精挑细选小数据集,再集中火力训练。同样算力下,小数据 + 高质量的组合反而取得更优效果。

具体案例:一个小型研究组复现 DataComp 的 CLIP 过滤流程,在单卡 GPU 上以 1280 万图文对训练,得到的零样本分类成绩追平了此前用 10 倍数据训练的模型。

Python 演示

python63 行
import mathimport random  def cosine_sim(a, b):    dot = sum(x * y for x, y in zip(a, b))    na = math.sqrt(sum(x * x for x in a))    nb = math.sqrt(sum(x * x for x in b))    return dot / (na * nb + 1e-9)  def generate_pool(n=2000, seed=42):    random.seed(seed)    pool = []    for _ in range(n):        img = [random.gauss(0, 1) for _ in range(16)]        noisy = random.random() < 0.4        if noisy:            txt = [random.gauss(0, 1) for _ in range(16)]            caption_len = random.randint(2, 14)            img_w = random.randint(8, 240)        else:            txt = [v + random.gauss(0, 0.1) for v in img]            caption_len = random.randint(8, 20)            img_w = random.randint(64, 320)        pool.append({            "img": img,            "txt": txt,            "noisy": noisy,            "caption_len": caption_len,            "img_w": img_w,        })    return pool  def basic_filter(pool):    return [        item for item in pool        if item["caption_len"] >= 8 and item["img_w"] >= 64    ]  def clip_score_filter(pool, keep_ratio=0.3):    scored = []    for item in pool:        s = cosine_sim(item["img"], item["txt"])        scored.append((s, item))    scored.sort(key=lambda x: x[0], reverse=True)    k = max(1, int(len(scored) * keep_ratio))    return [item for _, item in scored[:k]]  def good_ratio(data):    return sum(1 for item in data if not item["noisy"]) / len(data)  if __name__ == "__main__":    pool = generate_pool()    print("原始池有效样本比例: %.2f" % good_ratio(pool))    basic = basic_filter(pool)    print("基础清洗后: 保留 %d 条, 有效比例 %.2f" % (len(basic), good_ratio(basic)))    clip_top = clip_score_filter(pool, 0.3)    print("CLIP筛选后: 保留 %d 条, 有效比例 %.2f" % (len(clip_top), good_ratio(clip_top)))
目的:模拟 DataComp 的核心思想——对比“基础启发式清洗”与“CLIP 分数过滤”两种数据筛选策略,看谁保留的样本中有效(图文对齐)比例更高。
  1. def cosine_sim(a, b):这是 CLIP 分数的心脏:计算两个向量之间的余弦相似度,值越接近 1 代表图文越对味。
  2. noisy = random.random() < 0.4模拟真实数据池中约四成是“图文错配”的噪声样本,为后续筛选提供挑战。
  3. if item["caption_len"] >= 8 and item["img_w"] >= 64基础清洗只凭标题长度和图片尺寸这类浅层规则判断,无法识别语义错配。
  4. s = cosine_sim(item["img"], item["txt"])用嵌入向量的相似度给每条样本打分,相当于请了一位 CLIP 品鉴师。
  5. scored.sort(key=lambda x: x[0], reverse=True)按分数从高到低排序,模拟 DataComp 中“保留分数最高的 top-k 样本”策略。
  6. k = max(1, int(len(scored) * keep_ratio))决定保留多少条数据,keep_ratio 对应筛选的严格程度。
  7. good_ratio(data)评估环节只统计有效样本占比,模拟 DataComp 用固定评估集给策略打分的过程。

常见误区

误区深度学习不是靠大数据起家的吗?那我从网上抓 10 亿条图文对,模型肯定比用 100 万条精挑细选的数据更强。数据量就是王道,筛选只是浪费时间。

正解DataComp 的实验狠狠打破了这条迷信:在 12.8M 的预算下,不筛选的模型学到的几乎全是噪声,而经过 CLIP 分数过滤的模型性能大幅领先。这就像用一车烂苹果做果酱,数量再多也做不出好味道;一篮精心挑选的好苹果,反而能做出一罐精品。数据的有效密度,远比原始体量更重要。

为何常见:早期深度学习确实依靠“大数据 + 大模型”取得成功,这种惯性思维让很多人误以为规模化可以自动解决一切,忽略了数据质量这个隐藏变量。

误区所谓数据质量,不就是把损坏的图片、乱码的标题、重复的样本删掉吗?我写几十条正则规则就能搞定,没必要搞什么 CLIP 打分。

正解基础清洗只是 DataComp 框架中的“扔烂菜”环节,它能处理表层问题,却对“图文语义错配”毫无办法——一张猫的图片配一段“汽车维修”的文字,尺寸、语言、清晰度全都正常,启发式规则根本拦不住。CLIP 分数通过高维语义空间中的余弦相似度,才能抓住这种深层噪声。DataComp 的结果显示,CLIP 过滤与基础清洗之间的性能差距是数量级的。

为何常见:启发式规则直观、可解释、实现成本低,人们天然倾向于相信自己能“看见”的问题,而低估了语义层面噪声的破坏力。

误区既然 CLIP 分数这么厉害,那我设一个极高的阈值,只留最完美的样本,模型肯定更强。分数不够的一律不要,宁缺毋滥。

正解DataComp 在 1B 大预算下的结果表明,极端过滤会严重损害数据多样性,反而拉低性能。小预算下“精挑细选”是对的,但大预算下模型需要足够多样的数据来学习长尾概念。最优策略是“过滤后的基础池 + 补充高质量外部源”的组合,既要质量又要多样性。筛选强度和计算预算必须匹配,不能一招鲜吃遍天。

为何常见:看到小预算下 CLIP 过滤大获全胜,就容易把局部经验外推到所有场景,忽略了预算与多样性之间的动态平衡。

误区所谓以数据为中心,不就是让大家多花点时间做数据清洗吗?这有什么方法论可言,不就是体力活。

正解data-centric AI 是一套系统化的工程方法论:定义可量化的质量指标、设计筛选与标注流程、在固定预算下训练验证、分析失败样本并迭代改进。DataComp 的价值恰恰在于提供了一个标准化的“评测擂台”,让每一次数据改动都能被客观量化,就像单元测试对代码的作用一样。把数据当代码一样持续优化,而不是一次性“洗”完就结束。

为何常见:“数据重要”听起来像常识,反而让人误以为不需要专门的方法论支撑,忽略了数据工程本身也是一门需要严格实验设计的技术。

面试题

Q1. DataComp 的核心研究目标是什么?

单选题 · easy

  • A.设计更强的模型结构
  • B.研究数据筛选策略影响← 正确答案
  • C.发布新的图像分类集
  • D.提升单卡训练的速度

答案:B。DataComp 的出发点不是改进模型架构,而是把模型和算力全部固定,专门研究“数据筛选策略如何影响多模态模型性能”。就像厨艺大赛固定市场、厨房和灶台,只比食材挑选。其他选项描述的是模型设计、数据集发布或工程加速,都不是 DataComp 的核心命题。

Q2. DataComp 默认提供的数据池规模是多少?

单选题 · easy

  • A.1.28 亿条图文对← 正确答案
  • B.128 亿条图文对
  • C.12.8 亿条图文对
  • D.1.28 万条图文对

答案:A。DataComp 从 Common Crawl 采集了 128 亿条候选对,但经过近重复去除、语言过滤等安全清洗后,最终形成 1.28 亿(128M)条图文对的标准池。128 亿是原始候选量而非可用池。阿里 128M 这个池子是所有参赛者共同面对的“统一市场”。

Q3. DataComp 中的“计算预算”(compute budget)指什么?

单选题 · mid

  • A.GPU 训练总时长
  • B.训练中看到的样本总数← 正确答案
  • C.数据集文件的总大小
  • D.神经网络参数量大小

答案:B。计算预算的定义是训练集规模乘以训练轮数,即模型在训练过程中总共“看过”多少条样本。它统一了“数据量”和“训练轮数”两个变量,让不同团队在相同火力下公平竞争。GPU 时长和参数量都不是 DataComp 定义的预算口径。

Q4. CLIP 分数筛选用下面哪个指标给样本打分?

单选题 · mid

  • A.图像像素方差大小
  • B.文本词频统计数量
  • C.图文嵌入余弦相似度← 正确答案
  • D.图片文件体积大小

答案:C。CLIP 分数把图片和文本分别编码成向量,再计算两者的余弦相似度,衡量图文语义是否“对味”。像素方差、词频、文件体积都属于浅层特征,抓不住“图不对文”这类语义层面的噪声,这正是 CLIP 过滤相比基础清洗的核心优势。

Q5. 下列哪些属于 DataComp 中使用的数据筛选策略?

多选题 · mid

  • A.基础启发式清洗策略← 正确答案
  • B.CLIP 打分过滤方式← 正确答案
  • C.文本语言过滤技术← 正确答案
  • D.随机丢弃负样本策略

答案:ABC。DataComp 的策略家族包括三类:基础启发式清洗(标题长度、图片尺寸等)、基于内容的筛选(图像清晰度、文本语言等)和 CLIP 分数过滤(图文语义对齐)。随机丢弃样本不叫筛选,它既没有质量依据,也无法提升数据有效密度,因此不在策略之列。

Q6. 关于计算预算与数据质量的关系,DataComp 的核心发现是?

单选题 · hard

  • A.小预算完全不需要过滤
  • B.预算越大筛选越重要
  • C.小预算下筛选策略更关键← 正确答案
  • D.预算与筛选策略无关

答案:C。在 12.8M 的最低预算下,模型没有余力消化噪声,筛选策略几乎决定成败;而在 1B 大预算下,模型能自行吸收部分噪声,不过滤的基线也有一定表现。因此规律是预算越小筛选越关键。说“完全无关”或“完全不需要过滤”都违背了实验结论。

Q7. data-centric AI(以数据为中心)的核心主张是什么?

单选题 · mid

  • A.用更大模型取代数据工程
  • B.系统优化数据质量效率← 正确答案
  • C.放弃预训练直接微调
  • D.全部改用合成数据训练

答案:B。以数据为中心 AI 认为数据的质量、覆盖度和信噪比与模型设计同等重要,主张把数据当作一等公民,通过系统化清洗、筛选和迭代来提升模型性能。DataComp 用冻结模型、只比数据的实验框架,为这一理念提供了最强有力的实证支持。

Q8. 为什么 1B 大预算下最优策略常用“过滤 + 高质量源组合”?

多选题 · hard

  • A.单一池过滤多样性不足← 正确答案
  • B.补充源提供多样性信号← 正确答案
  • C.过滤彻底删除长尾类别
  • D.组合可降低训练成本

答案:AB。单一数据池即使过滤得很干净,其覆盖的语义多样性也有限,而大预算模型恰恰需要足够多样的样本来学习长尾概念。补充 LAION 等高质量外部源,正是为了在保持质量的同时注入多样性。选项 C 把“可能伤害长尾”说成“彻底删除”过于绝对;组合策略的核心收益是质量与多样性兼得,而非直接降低训练成本。

Q9. CLIP 训练使用的核心目标函数属于哪一类?

单选题 · easy

  • A.回归损失函数训练
  • B.对比学习损失训练← 正确答案
  • C.生成对抗损失训练
  • D.强化学习奖励训练

答案:B。CLIP 使用 InfoNCE 形式的对比学习损失:让配对的图文向量靠近,让批次内不配对的图文向量远离。它既不是回归预测连续值,也不是生成器与判别器的对抗,更不是智能体与环境互动的强化学习。

Q10. DataComp 的实验结果给 AI 从业者哪些启示?

多选题 · mid

  • A.数据质量与性能强相关← 正确答案
  • B.基础清洗足以应对所有场景
  • C.预算影响最优筛选策略← 正确答案
  • D.统一评测框架加速数据研究← 正确答案

答案:ACD。DataComp 证明数据质量直接决定模型性能天花板;不同计算预算下最优筛选策略不同,小预算重过滤、大预算重组合;同时,开源的数据池、基线和评估代码为社区提供了统一评测框架,极大加速了数据方向的研究。选项 B 已被实验否定——基础清洗无法识别图文语义错配,远不足以应对所有场景。