PreSel:CVPR2025提出预指令数据选择,降低视觉指令调优成本

CVPR2025提出PreSel预指令数据选择,通过预先选择图像再生成指令,显著降低视觉指令调优的成本,仅需15%的数据量即可达到全量训练效果。

原文标题:【CVPR2025】先过滤图像,后生成指令:视觉指令调优的预指令数据选择

原文作者:数据派THU

冷月清谈:

大规模视觉-语言模型(LVLMs)的训练需要大量图像-指令对数据集,成本高昂。现有研究通过选择高质量子集来减少VIT运行时间,但忽略了生成指令的成本。本文提出预指令数据选择(PreSel),选择最有益的无标注图像并生成指令。PreSel估计VIT数据集中每个视觉任务的相对重要性,确定任务级别的采样预算,然后在每个任务中对图像特征进行聚类,并根据预算选择最具代表性的图像。该方法减少了指令生成和LVLM微调的计算开销,仅为15%的图像生成指令,即可实现与全量VIT相当的性能。

怜星夜思:

1、PreSel方法中,如何确定每个视觉任务的相对重要性?文章中只是提到了“估计”,具体是如何实现的呢?这种估计的准确性会如何影响最终效果?
2、文章提到PreSel在LLaVA-1.5和Vision-Flan数据集上实现了与全量VIT相当的性能,那么这个方法在其他数据集上是否也能表现良好?有没有可能存在PreSel不适用的场景?
3、PreSel的核心似乎在于挑选“最具代表性”的图像,那么“代表性”是如何定义的?仅仅依靠图像特征聚类就足够了吗?是否需要考虑其他因素,例如文本描述的多样性?

原文内容

来源:专知

本文约1000字,建议阅读5分钟

我们提出了预指令数据选择(Pre-Instruction Data Selection, PreSel),这是一种更实用的数据选择范式,直接选择最有益的无标注图像,并仅为选定的图像生成指令。


视觉指令调优(Visual Instruction Tuning, VIT) 对于大规模视觉-语言模型(Large Vision-Language Models, LVLMs)的训练需要依赖大量的图像-指令对数据集,这可能会带来高昂的成本。最近的研究尝试通过选择高质量图像-指令对的子集来减少VIT的运行时间,同时保持与全量训练相当的性能。然而,一个常被忽视的主要挑战是,从未标注图像生成指令用于VIT的成本非常高。大多数现有的VIT数据集严重依赖人工标注或付费服务(如GPT API),这限制了资源有限的用户为定制应用创建VIT数据集的能力。

为了解决这一问题,我们提出了预指令数据选择(Pre-Instruction Data Selection, PreSel),这是一种更实用的数据选择范式,直接选择最有益的无标注图像,并仅为选定的图像生成指令。PreSel首先估计VIT数据集中每个视觉任务的相对重要性,以确定任务级别的采样预算。然后,它在每个任务中对图像特征进行聚类,并根据预算选择最具代表性的图像。这种方法减少了VIT数据形成过程中指令生成和LVLM微调的计算开销。通过仅为15%的图像生成指令,PreSel在LLaVA-1.5和Vision-Flan数据集上实现了与全量VIT相当的性能。

项目页面链接:https://bardisafa.github.io/PreSel


关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU


我觉得数据集的图像分布也是一个关键因素。如果数据集的图像分布极不均匀,PreSel 可能会过度选择某些类型的图像,而忽略其他类型的图像,导致模型泛化能力下降。此外,如果数据集中存在一些“hard example”,PreSel 可能会因为它们不具有代表性而被忽视,导致模型在这些样本上的表现不佳。

我觉得可以把“代表性”理解为“信息量”。图像特征聚类可能只是一个初步的筛选,更重要的是保证选出来的图像能够覆盖数据集中的主要模式和变化。 文本描述的多样性当然也很重要,如果所有图像的描述都千篇一律,那即使图像本身很有代表性,也无法训练出强大的 LVLM。所以,我觉得 PreSel 应该综合考虑图像特征和文本描述,甚至可以引入一些信息论的概念,例如互信息、熵等,来衡量图像的代表性。

“代表性”是一个很模糊的概念,我觉得在 PreSel 中,它主要指图像特征在数据集中的覆盖程度。通过聚类,可以找到每个簇的中心,选择离中心最近的图像作为代表。 但是,仅仅依靠图像特征聚类可能不够,因为:

* 图像特征可能无法完全捕捉图像的语义信息。
* 文本描述的多样性也很重要, 好的指令应该能够覆盖图像的不同方面,提供更全面的信息。

所以,我觉得 PreSel 还可以考虑结合文本信息来选择图像,例如选择那些具有更丰富、更详细描述的图像。

这是一个好问题!文章只提到了在 LLaVA-1.5 和 Vision-Flan 上的结果,确实无法保证在其他数据集上也同样有效。我觉得 PreSel 的性能可能受到数据集本身特性的影响,比如:

* 数据集的质量: 如果数据集本身噪声很大,或者标注不准确,PreSel 的选择可能会受到干扰。
* 任务的多样性: 如果数据集中的任务非常单一,PreSel 的优势可能无法体现。

所以,PreSel 应该不是万能的,需要在具体的应用场景下进行评估和调整。

我理解这里“估计”的重要性,有点像在项目管理中做优先级排序。任务重要性判断失误,资源分配就不合理,最终导致整个VIT效果打折扣。

我猜想“估计”应该是某种算法或者模型的预测结果,可能需要结合先验知识和实验数据不断迭代优化。如果这个“估计 ”本身就引入了偏差,那后续的图像选择也好,指令生成也好,可能都会受到影响,最终效果肯定会打折扣。

文章里确实没细说“估计VIT数据集中每个视觉任务的相对重要性”的具体方法。我猜想可能的方法有很多,比如:

* 基于数据集的统计分析: 观察现有数据集里,不同任务出现的频率,频率高的任务可能被认为更重要。
* 基于模型性能的反馈: 先用少量数据训练一个baseline模型,然后观察模型在不同任务上的表现,表现差的任务给予更高的权重。
* 集成专家知识: 咨询领域专家,了解哪些任务在实际应用中更关键。

估计的准确性肯定至关重要,如果高估或低估了某个任务的重要性,可能会导致模型在特定任务上表现不佳,影响整体性能。

任务重要性的评估可能是个黑盒,搞不好就是个超参数,手动调优hhh。不过感觉可以参考下迁移学习的思路,搞一个预训练模型来评估,或者直接用reward model打分,再或者用强化学习来做,就是不知道哪个更work了。

代表性… 感觉可以理解为“经典款”。 聚类肯定是有用的,能避免选出来的图片太 random。但是我觉得只看图像本身的特征,有点 narrow 了。搞不好还得考虑指令的质量,甚至还得考虑这个图片在整个数据集里的关系(比如和其他图片是不是有关联) 。总之,代表性是个综合指标,要考虑的因素太多了!

不适用的场景当然有,比如数据量本来就很少,或者每个样本都很重要,没有冗余信息的时候,PreSel 就没啥用了。感觉这个方法更适合那种数据量巨大,但质量参差不齐的场景,通过筛选,提升训练效率。