导读
简单地增加预训练数据集的大小并不能有效地提高视觉-语言模型(VLM)的性能。实际上,它甚至可能导致性能下降 并非所有使用的SFT数据都是必需的,可以优化以提高性能。 论文名称:Rethinking Overlooked Aspects in Vision-Language Models - 论文地址:https://arxiv.org/abs/2405.11850
Introduction
InternVL-1.5将sft数据集划分为11个子类,并为每个子类收集相应的开源数据集,DeepSeek-VL也采用了这种做法:
在预训练期间,简单地增加更多的预训练数据是否能够持续提高模型的性能?
当扩大LLM并且同时增加预训练数据量时,视觉-语言模型是否会展示出类似于LLM中的扩展法则?
-
在现有的工作中使用的SFT数据集是否都对增强模型的通用能力起到关键作用?
使用WeChat内部开发的培训框架,通过引入更高效的数据格式来优化数据加载流程。
-
为了验证训练框架的准确性,训练了一个基线模型LLaVA-1.5,并与所有数据集、超参数保持一致性。
扩大预训练数据规模实验
-
从LAION-5B-en中提取了七组数据,范围从1M到100M,并在这些数据集上训练了相同的模型。还选择了几种语言模型(如Vicuna、Qwen-1.5和Nous-Hermes-2-Yi)来确保结论的普遍性和说服力。
可以看到:1) 目前用于视觉语言预训练的预训练数据集效率相当低。当我们将预训练数据集从1M扩展到100M时,只在三个基准上观察到微小的改进,并且当数据集大小超过50M时性能甚至恶化。例如,当我们将预训练数据的规模从20M扩展到100M时,Qwen1.5-7B在SEED-Bench上的性能下降了3.3点。2) 扩大LLM的规模可以带来显著的改进。3) 不同大小的LLM性能趋势在不同的预训练数据规模下几乎一致。基于观察到的实验现象,显然仅仅扩大预训练数据集的规模并不能有效提高视觉语言模型的性能。更有希望的方法在于提高数据的质量和多样性。(点评:例如InternVL1.5在预训练阶段加入了很多和OCR有关的数据集)
SFT数据选择
LLaVA-1.5-665K目前是最广泛使用的视觉指令调整数据集,研究证明用ShareGPT4V中的数据替换LLaVA-1.5-665K中的详细描述数据可以带来进一步的改进。因此,我们选择改进版的LLaVA-1.5-665K作为我们的baseline
-
引入了“Individual Select”策略,用于从大量公开可用的SFT数据集中选择最有效的数据集:
"Individual Select"策略的工作流程如下:(1) 对于表3中每个类别的每个数据集,我们将其纳入基准数据集,并在新构建的数据集上微调模型。(2) 如果模型的性能超过了或与在基准数据集上训练时达到的性能相当,将候选数据集纳入候选池。如果没有,将其丢弃。最终,我们将候选池中的所有数据集合并,并整合到基准数据集中,建立一个新的基准数据集。(3) 然后我们使用这个新的基准数据集,迭代遍历所有后续类别,并重复上述步骤1和2。
-
最终选择加入到SFT的数据如下:
Experiments
Analysis
简单地增加预训练数据集的大小并不总是能够带来改进,我们提出两个可能的原因:
预训练数据集的质量可能不是最优的。从互联网上爬取的LAION-5B,并且只经过了基本的数据过滤处理,如图像-文本相似度过滤,可能包含大量的噪声,包括文本中的语法错误和不正确的标点。
视觉编码器已经在与视觉-语言对齐预训练中使用的分布相似的数据集上进行了预训练。鉴于视觉编码器没有冻结,视觉-语言预训练的重点在于视觉-语言对齐以及向视觉编码器注入新知识。这种新知识的注入涉及灌输在视觉编码器预训练期间没有学到的能力。因此,使用与视觉编码器预训练中使用的分布相似的更多数据,在视觉-语言预训练阶段不会产生显著的改进。(作者应该进一步验证下参考InternVL1.5的做法,在预训练阶段加入很多和OCR有关的数据集后指标是如何变化的)
总结:之前个人思考文章大模型能力受限?WPS AI套娃收费引争议揭示数据质量的重要性也提到了高质量数据对于当前大模型训练的重要性,本文通过扎实的对比实验证明了,数据并不是越多越好,需要有选择性的增加数据才能带来性能的提升。参考Huggingface论文经费燃烧后的洞见:Huggingface揭示构建高效VLM的核心要素里提到的数据,个人感觉其中的一些数据加入到本文的预训练或者SFT数据里应该有效,特别是图文交错类型的文档数据。
