想象一下,你正在试图教一个机器人通过看数百万张图片及其描述来理解世界。问题在于,互联网是一个混乱的地方。如果你只是把在网上找到的所有数据都塞进机器人的大脑,你也同时喂给了它垃圾:模糊的照片、与图片不符的说明,或者毫无意义的文本。这些“噪声”会让机器人感到困惑,导致它学习变慢或出错。
通常,为了解决这个问题,科学家们会使用一种“智能过滤器”——一个已经学到了所有知识的、预训练好的超级智能机器人。他们会询问这个专家机器人:“嘿,这些图片里哪些是好的?”然后把剩下的扔掉。但这篇文章提出了一个不同的问题:如果我们还没有一个超级智能的过滤器呢?我们能不能在学习的过程中自己构建一个?
作者提出了一种名为**自我过滤(Self-Filtering)**的方法。以下是它的工作原理,使用了日常生活的类比:
“学生老师”类比
不要把你的 AI 模型看作一个完成态的专家,而要把它看作一名学生老师。
- 混乱的教室(数据集): 你有一个巨大的教室,里面坐满了学生(数据点)。有些学生非常聪明且守纪律(干净的数据),但许多学生却很调皮或处于困惑状态(有噪声的数据)。
- 第一课(训练): 你开始用整个混乱的教室来教这位学生老师。起初,老师感到很困惑,也会犯错。
- 自我反思(过滤): 经过几节课后,老师变得聪明了一点。现在,你问老师:“再看一遍所有的学生。哪些学生似乎最理解这节课的内容?”老师指出了那些“看起来很干净”的学生。
- 新的班级组合(策略): 这里的关键在于,你不仅仅是扔掉那些“坏”学生。这样做是很危险的,因为有些“坏”学生可能只是因为遇到了难题而挣扎,而不是真的不好。
- 相反,你创建了一个新班级,其中包含了老师识别出的“好”学生的两倍数量,但你也保留了原班级的其余部分。
- 这确保了老师既能对简单的、清晰的例子进行额外练习(利用/Exploitation),又能接触到困难且多样化的例子(多样性/Diversity),从而不会只局限于掌握基础知识。
- 重复: 你用这个稍微好一点的班级组合来教老师。老师变得更加聪明。然后,你让那个更聪明的新老师再次挑选最好的学生。你再次进行混合。
改进的循环
论文称之为迭代循环。
- 第一轮: 老师有点笨,所以他们的过滤器还可以,但不完美。
- 第二轮: 因为老师从第一轮中的“好”组合中学习,所以他们变得更聪明了。他们的过滤器也更好了。
- 第三轮: 老师变得更加聪明,创造了一个甚至更好的组合。
到最后,这位老师构建出了自己的“精选”数据集,其质量几乎可以媲美从一开始就由超级专家为其过滤的数据集。
为什么这很重要
该论文声称了三个主要观点:
- 不需要魔杖: 你不需要一个预先存在的“上帝模式”AI 来过滤你的数据。你可以利用正在训练的模型本身来构建这个过滤器。
- 不要扔掉一切: 如果你只保留“完美”的例子,模型可能会产生偏差,或者忘记如何处理复杂的现实世界情况。通过将“可能较好”的数据与“完整”的数据混合,你得到了两全其美:高质量与高多样性。
- 它行得通: 他们在海量的图像和文本数据集(例如数百万张照片和说明)上进行了测试。使用这种自我过滤方法训练的模型,其表现与使用昂贵的、预制专家系统过滤的数据所训练的模型一样好,甚至更好。
局限性(不足之处)
作者诚实地说明了局限性:
- 局部视角: 模型根据它目前为止所学到的知识来决定什么是“好”的。它并没有预知未来特定任务所需内容的“水晶球”。
- 计算成本: 暂停训练、运行模型对所有数据进行评分并重新启动训练是需要时间的。不过,他们建议这可以在较旧、较慢的计算机上进行,而主训练过程则在快速的计算机上进行。
简而言之,这篇论文表明学习和过滤可以同时发生。与其等待一个完美的过滤器到来,不如让你的模型在每一步迈出时,都在成长自己的过滤器,变得越来越聪明,并不断精选更好的数据。
技术摘要:通过迭代自过滤进行视觉-语言设置下的数据选择
问题陈述
训练大规模视觉-语言模型(如 CLIP)需要海量数据集,由于这些数据源于互联网规模的抓取,往往具有内在的噪声。虽然在大规模应用中进行人工监督是不切实际的,但现有的数据过滤方法过度依赖启发式规则(例如词数、分辨率)、策划的参考数据集或预训练模型(例如 OpenAI 的 CLIP)来选择干净的样本。
作者指出了当前方法中的三个关键局限性:
- 知识混淆(Confounding Knowledge): 使用预训练模型进行过滤会将数据选择的收益与对过滤器自身知识的间接蒸馏纠缠在一起,使得难以明确究竟是过滤过程本身提升了样本效率,还是由于知识的转移。
- 偏差传播(Bias Propagation): 被选中的数据集不可避免地会捕捉到预训练过滤器本身的局限性和偏差(例如,OpenAI 的 CLIP 偏向于旧事件,且在处理近期概念时表现不佳)。
- 科学透明度缺失(Scientific Opacity): 无法访问专有过滤器的预训练数据集,阻碍了对数据过滤本质的科学研究。
此外,一个根本性的挑战在于如何区分“难样本”(编码了有用且非平凡知识的样本)与“噪声样本”(图文不匹配的对),因为两者在训练早期阶段通常都会产生高损失。
方法论:自过滤(Self-Filtering)
本文提出了自过滤(Self-Filtering),这是一种引导式的、迭代的方法,它在训练视觉-语言模型的同时,同步构建一个不断演进的数据集。该方法无需预训练模型或额外数据。其核心理念是:更好的模型能带来更好的数据混合,而更好的数据混合反过来又能产生更好的模型。
该方法遵循一个四阶段的迭代循环(算法 1):
- 初始化: 模型 (fθ) 随机初始化,训练数据混合 (Dcurrent) 设置为完整的、未经过滤的数据集。
- 训练阶段: 模型在从 Dcurrent 中采样的样本上进行 T 步训练。
- 选择阶段: 当前模型充当过滤器。对于数据集中的每一对 (x,y),根据图像和文本嵌入之间的对齐程度(CLIP 中使用余弦相似度)计算得分。识别出得分前 p% 的样本作为“疑似干净”样本。
- 混合阶段: 通过从全量数据集和“疑似干净”子集的并集中重新采样来创建新的数据混合。至关重要的是,“疑似干净”的样本被赋予双倍的采样权重。这一步骤平衡了利用(Exploitation)(专注于高置信度样本)与多样性(Diversity)(保留对全分布的访问,以防止模型崩溃并确保难样本不会被永久丢弃)。
该循环重复进行 R 轮。作者强调,混合阶段对于避免收敛到有偏的简单样本集至关重要,并允许模型最终学习那些最初被误判为噪声的难样本。
核心贡献
- 预训练模型无关性: 作者证明,无需依赖预训练模型或额外的专有数据,即可实现有效的过滤策略。
- 迭代自我改进: 他们提出了一种方法,使训练模型能够迭代地改进其训练所需的数据集,从而创造出数据质量与模型性能的正向反馈循环。
- 利用与多样性的平衡: 引入了一种特定的策略,将选出的高概率样本与来自整个分布的随机样本进行混合,确保模型在专注于疑似干净样本的同时,仍能接触到多样化的数据。
- 指标相关性: 论文表明,在同一次训练运行中,过滤性能与下游性能是相关的,验证了该方法的自我改进特性。
实验结果
实验在 Datacomp 基准测试上进行(小型子集:约 11.5M 样本;中型子集:约 128M 样本),使用的是 CLIP ViT-B/32 模型。
- 性能提升: 自过滤模型(在由 30% 或 40% 选定样本组成的混合数据上训练)的表现一致优于在全量数据集或仅由 OpenAI 预训练 CLIP 过滤的数据集上训练的基线模型。
- 与预训练过滤器的对比: 通过自过滤生成的混合数据训练的模型,其下游性能可与使用规模大得多的 OpenAI CLIP ViT-L/14 进行过滤的模型相媲美。
- 迭代改进: 在使用前一轮迭代过滤后的数据集从头开始训练模型的实验中,观察到了渐进式的性能提升(例如,第 2 轮 > 第 1 轮),证实了数据质量随迭代而提高。
- 可迁移性: 在 Datacomp 小型子集上通过自过滤训练的模型,成功过滤了一个不同的、未见的规模更大的中型子集,实现了优于原始数据训练的结果,并达到了与 OpenAI CLIP 过滤相当的效果。
- 课程学习 vs. 数据质量: 作者发现,性能提升并非源于课程学习效应(即从易到难的数据排序)。在最终固定的数据混合集上从头开始训练的模型,其表现优于迭代训练的模型,这表明主要的益处在于更高质量的数据本身,而非呈现顺序。
重要性与主张
论文声称,自过滤为无需依赖昂贵的预训练过滤器或额外数据资源的高质量视觉-语言训练提供了一条可行路径。通过将数据选择和模型训练视为同一个问题的两个方面,该方法实现了利用已学知识与保持数据集多样性之间的平衡。
作者谦虚地指出,虽然其方法随着时间的推移能有效区分噪声与难样本,但在训练初期并不能完美解决这一区分问题。他们还承认,在基于 Datacomp 的分析中,并未计入用于选择样本的评分计算成本,尽管他们认为这可以通过在旧硬件上进行并行推理来缓解。最终,这项工作提供了证据,证明自改进模型可以生成与大规模预训练模型所策划的数据集质量相当的数据集,从而挑战了扩展视觉-语言模型时对外部静态过滤器的必要性。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。