近年来,视觉语言模型(VLM)取得了显著进展,训练数据的规模扩展以及数据质量的提升是提升模型性能的关键因素。目前主要的获取数据方式为通过人工对数据进行收集和标注以及利用模型对指令进行合成,业内也有许多工作专注于此。然而,现有的开源数据和指令数据集在数量和质量上依然落后,基于开源数据训练的模型在效果上仍然远落后于SOTA 闭源模型或使用专有数据训练的开源模型。
为解决以上问题,进一步提升开源模型的性能,2024年10月25日,在 CSDN 程序员节现场,智源研究院发布并开源了千万级多模态指令数据集Infinity-MM。
Infinity-MM,包含数千万个样本,数据规模达4300万条,数据量达10TB,通过质量过滤和去重,确保了其数据的高质量和多样性。
智源提出了一种基于开源模型和标签体系的合成数据生成方法,能够生成高质量的指令数据并有效地扩大指令数据集的规模。
基于 Infinity-MM成功训练了一个 20 亿参数的多模态模型 Aquila-VL-2B,在同规模模型中取得了最先进的性能。
数据集下载地址:https://huggingface.co/datasets/BAAI/Infinity-MM
模型下载地址:https://huggingface.co/BAAI/Aquila-VL-2B-llava-qwen
模型下载地址:https://huggingface.co/BAAI/Aquila-VL-2B-llava-qwen_CG
技术报告地址:https://arxiv.org/abs/2410.18558
基于开源 InfinityMM 训练出 SOTA 模型
我们在业界公认的benchmark上针对模型性能进行了分析。以下benchmark涵盖了模型的通用视觉感知、文档理解、数学推理等能力。评测结果如下:
智源通过在多种视觉benchmark上进行测试,对模型的能力进行了全面的评估。Aquila-VL-2B 模型在同等规模下表现出高度竞争力,达到了最新的SOTA结果。总体来看,Aquila-VL-2B 模型在多个评估指标上均表现突出,尤其在诸如 MathVista_MINI 、HallusionBench 和 MMStar 等任务中,Aquila-VL-2B 展现出了显著的优势,这表明我们的模型在视觉感知和数学推理等多模态任务上具有强大的处理能力。然而,在某些文档理解基准测试中,例如,在 OCRBench 和 AI2D 上Aquila-VL-2B 仍有改进空间。
1.1 模型训练效率提升
Aquila-VL-2B模型采用了LLaVA-OneVision架构,文本塔使用Qwen2.5-1.5B-instruct,视觉塔使用的Siglip400m,训练采用了多阶段训练策略。智源自研的FlagScale框架对模型的训练进行了适配,同时在多元AI芯片上进行了训练。经过适配后的FlagScale,训练效率是原版基于DeepSpeed的训练代码的1.7倍。
InfinityMM 构建流程
2.1 开源数据收集整理
主要数据来源于公开数据集,经过去重和质量过滤后,数据量保持在约43M。数据涵盖了多种类型,包括视觉问答、文字识别、文档分析、数学推理等,详情如下:
2.2 InfinityMM合成数据方法
智源提出了一种基于视觉语言模型的多模态指令数据合成方法,确保了生成的指令与图片内容的匹配性、指令之间的多样性以及生成指令回答的准确性。
2.2.1 图片与指令标签体系建立
首先,智源使用开源的识别模型(Recognize Anything Plus Model,RAM++)对图片进行自动打标,提取图片中的关键信息,如物体、动作、场景等。这些标签构成了图片的语义基础,为后续的指令生成提供依据。该模型在处理大规模图像时表现出色,能够精确捕捉多模态场景中的重要细节。
对于指令的任务类型,智源设计了一个三级指令标签体系,涵盖了指令的不同层次和种类。指令标签体系的顶层参考了MMBench,定义了六种任务类型,中层进一步细分任务特征,底层则针对具体任务需求进行精细分类。我们利用闭源模型对该体系进行了扩展和完善,确保指令体系的全面性和合理性。
2.2.2 图片与指令标签对应关系建立
在标签体系建立之后,智源选取了部分开源指令数据集作为种子数据,并对这些数据进行了图片和指令的打标。在此基础上统计了图片标签与指令标签之间的对应关系。通过这种方式,能够依据图片标签快速检索匹配的指令任务标签,从而确定适合生成的具体任务类型。
2.2.3 问题生成与过滤
在确认好目标图片需要合成的指令类型之后,进一步指示模型根据图片和该指令类型生成具体的问题。此过程中,智源采用了few-shot生成方法,从种子数据中检索出对应类型的图片和问题作为示例,输入模型以供参考。接着,将图片和生成的问题再次输入模型,由模型判断问题是否合理。
2.2.4 答案生成与过滤
在生成问题之后,进一步生成相应的指令回答。这一阶段要求生成的回答不仅要准确,而且要考虑到不同类型指令的多样性。智源通过在指令中添加不同的prompt来增加回答的多样性。最后,对生成的多模态指令数据进行严格的过滤,使用VLM来剔除与图片内容或任务不匹配的指令和答案。通过这一过程,我们生成了高质量的多模态指令数据集,为下游任务的研究提供了可靠的支持。
InfinityMM 分析实验
3.1 合成数据对于模型性能的帮助
在训练的第4阶段,我们引入了部分由GPT-4系列模型生成的数据,基于这些高质量的数据,按照前文介绍的方法进行了数据合成。为了评估合成数据对模型性能的影响,我们设计了消融实验(Ablation Study)。在实验中,我们去除了所有合成数据,仅保留原始的GPT生成数据进行模型训练。实验结果如下所示:去掉合成数据后,模型的整体性能出现了显著下降。这一现象表明,合成数据在提升模型性能方面起到了积极作用,进一步证明了我们所提出的方法在数据增强和多样性方面的有效性。
3.2 InfinityMM 数据规模Scailing实验
为了进一步分析数据规模扩展(Data Size Scaling Up)对模型性能的影响,我们对模型性能随训练数据量变化的情况进行了详细研究。结果如图所示,随着训练数据量的逐步增加,模型性能呈现出稳定提升的趋势。这一变化曲线清晰表明,扩大指令数据规模对模型性能的提升具有显著的正向影响。
3.3 视频处理评测
为了增强Aquila-VL-2B处理多图像和视频数据的能力,我们使用了部分相关数据对模型进行了进一步的训练。结果表明,即使在合并多图像和视频数据之前,模型已经表现出处理视频图像的可靠能力。在引入额外的多图像和视频数据进行进一步训练后,模型处理这些数据的能力得到了显著提高。但同时可以看到模型距离目前的SOTA效果仍有差距,仍需进一步提高。
3.4 更多实验结果
我们在更多的测试集上同目前的SOTA模型进行了性能比较,结果显示Aquila-VL-2B模型仍具备明显优势。
总结&未来工作
在本工作中,我们为了提升开源模型的表现,构建了包含千万级别数据的多模态指令数据集Infinity-MM,通过增加数据规模来提升模型性能。同时,提出了一种基于开源模型和标签体系的指令数据合成方法,进一步生成高质量指令数据,扩展了数据集的规模。最终,我们基于Infinity-MM训练了Aquila-VL-2B模型,在同等规模下实现了SOTA效果。
之后我们会从以下几方面对工作进行改进:
1、进一步完善数据合成方法,增加合成数据的多样性和复杂性。
2、进一步增加文档处理类数据数据的规模。
3、基于Infinity-MM训练更多不同规模大小的模型。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有