InternVL 2.5
摘要:我们引入了 InternVL 2.5,这是一个先进的多模态大语言模型(MLLM)系列。它建立在 InternVL 2.0 的基础之上,保留了其核心模型架构,同时在训练和测试策略以及数据质量方面引入了重大改进。在这项工作中,我们深入研究了模型扩展与性能之间的关系,系统地探索了视觉编码器、语言模型、数据集大小和测试时配置等方面的性能趋势。通过在广泛的基准测试中进行大量评估,包括多学科推理、文档理解、多图像 / 视频理解、现实世界理解、多模态幻觉检测、视觉定位、多语言能力和纯语言处理等,InternVL 2.5 展示出了具有竞争力的性能,可与 GPT-4o 和 Claude-3.5-Sonnet 等领先的商业模型相媲美。值得注意的是,我们的模型是首个在 MMMU 基准测试中超过 70% 的开源 MLLM,通过思维链(CoT)推理实现了 3.7 个百分点的提升,并展示了测试时扩展的强大潜力。我们希望这个模型能够为开源社区做出贡献,为开发和应用多模态人工智能系统设定新的标准。
1.介绍
在InternVL 2.5中,我们系统地探索了MLLM中的各种因素,包括视觉编码器、语言模型、数据集大小和推理时间的变化如何影响模型的整体性能,展示了多模态模型中扩展与性能之间的关系。具体而言,我们有一些有趣的发现:
- 大视觉编码器减少数据依赖:在扩展MLLM时,大型视觉编码器显著降低了对训练数据的依赖。如表3所示,与配备6亿参数视觉编码器的Qwen2-VL - 72B相比,我们拥有60亿参数视觉编码器的InternVL2.5 - 78B仅使用1/10的训练标记就能实现更好的性能。这在扩展MLLM时大大降低了探索成本。
- 数据质量至关重要:从InternVL 2.0升级到2.5,数据集规模翻倍,但严格的筛选极大地提高了质量。例如,我们仔细排除了异常样本(如重复模式),在思维链(CoT)推理任务(如MMMU)和复杂挑战(如OlympiadBench)中取得了显著改进。请注意,大多数现有的开源MLLM在使用CoT时往往表现不佳。
- 测试时扩展有益:对于困难的多模态问答任务,测试时扩展是有益的。例如在具有挑战性的MMMU任务中,使用CoT的InternVL2.5 - 78B达到了70.1%的准确率,比直接回答高出3.7个百分点。随后,我们成功验证了CoT可以进一步与多数投票相结合,带来额外的改进。
模型结构
图 2:整体架构。InternVL 2.5 保留了与 InternVL 1.5 [35] 和 InternVL 2.0 相同的模型架构,即广泛使用的 “ViT - MLP - LLM” 范式,该范式通过 MLP 投影仪将预训练的 InternViT - 300M 或 InternViT - 6B 与各种大小的大语言模型(LLM)[19, 229] 相结合。与之前的版本一致,我们应用像素逆卷积操作,将每个 448×448 图像切片产生的 1024 个视觉标记减少到 256 个。此外,与 InternVL 1.5 相比,InternVL 2.0 和 2.5 引入了额外的数据类型,在现有的单图像和纯文本数据的基础上,纳入了多图像和视频数据。
这部分主要介绍了InternVL 2.5的模型架构,具体内容如下:
整体架构
- 架构范式:InternVL 2.5沿用了“ViT - MLP - LLM”范式,该范式在众多MLLM研究中被广泛应用。
- 组件集成:将新预训练的InternViT - 6B或InternViT - 300M与不同大小和类型的预训练大语言模型(如InternLM 2.5、Qwen 2.5)相结合,通过随机初始化的2层MLP投影仪进行连接。
- 像素逆卷积操作:为增强高分辨率处理的可扩展性,对每个448×448图像切片产生的1024个视觉标记应用像素逆卷积操作,将其数量减少到256个,即每个448×448图像切片在模型中由256个视觉标记表示。
- 输入数据预处理:采用与InternVL 1.5类似的动态分辨率策略,根据输入图像的长宽比和分辨率将其分割为448×448像素的切片。从InternVL 2.0开始,额外引入了对多图像和视频数据的支持,不同数据类型对应不同的预处理器配置。
视觉编码器
- InternViT模型:InternVL使用InternViT作为视觉编码器。
- InternViT - 6B
- 模型结构与参数:最初的InternViT - 6B - 224px结构遵循vanilla ViT,有59亿参数、48层、隐藏层大小为3200、25个头,使用对比损失训练。之后采用增量预训练策略,通过MLP投影仪与大语言模型连接,使用下一个标记预测损失联合训练,以增强视觉特征提取能力。
- 版本演进:在后续版本中,如V1.0和V1.2,训练分辨率固定为448×448,且在V1.2版本中移除了最后三层,深度变为45层,参数变为55亿。最新的InternViT - 6B - 448px - V2.5也保持了45层和55亿参数。
- InternViT - 300M
- 模型来源与参数:InternViT - 300M - 448px - Distill是教师模型InternViT - 6B - 448px - V1.5的蒸馏变体,使用余弦蒸馏损失,包含3亿参数、24层、隐藏层大小为1024、16个注意力头,采用标准LayerNorm,无QK - Norm。
- 训练与改进:初始化时使用CLIP - ViT - Large - 336px(尽管存在架构差异),蒸馏后与大语言模型集成,通过动态高分辨率和下一个标记预测损失训练视觉编码器,然后提取并发布为InternViT - 300M - 448px。在本报告中,进一步通过增量预训练改进,得到增强的InternViT - 300M - 448px - V2.5。
大语言模型
在不同版本的InternVL中使用了多种大语言模型,早期版本包括InternLM 2、Qwen 2、Phi 3、Yi、Llama 3等。在InternVL 2.5系列中,为提升性能,全面升级了语言模型,采用了最新的先进模型,如InternLM 2.5和Qwen 2.5。
训练策略
这部分主要介绍了InternVL 2.5的训练策略,具体内容如下:
动态高分辨率处理多模态数据
- 方法步骤
- 计算最佳长宽比,图像缩放与分割:对于输入图像,计算其长宽比,从预定义的长宽比集合中选择使图像失真最小的比例,然后将图片 Resize 成这样的比例,并且保持 W n e w , H n e w W_{new}, H_{new} Wnew,Hnew 都是 448 的倍数。将图像调整为448×448像素的切片,切片数量限制在一定范围内。
- 缩略图生成(可选):若切片数量大于1,将原始图像调整为448×448的正方形生成缩略图并添加到切片列表中;若切片数量为1,则跳过此步骤。
- 数据格式配置
- 单图像数据集:单个图像分配最大数量的切片,以最高分辨率处理,视觉标记包含在
<img>
标签内,无其他辅助标签。 - 多图像数据集:总切片数量按比例分配给样本中的所有图像,每个图像用辅助标签(如Image - 1等)标识,图像数据包含在
<img>
标签内,分配给每个图像的切片数量与图像总数成比例。 - 视频数据集:简化处理,设置切片数量为1,每个视频帧调整为448×448的固定分辨率,视频帧用类似Frame - 1的标签标识,数据包含在
<img>
标签内。
- 单图像数据集:单个图像分配最大数量的切片,以最高分辨率处理,视觉标记包含在
单模型训练管道
- MLP热身阶段:训练开始时,仅训练MLP投影,视觉编码器和语言模型冻结。此阶段采用动态高分辨率训练策略,使用预训练数据混合,数据格式为ChatML风格,优化目标为下一个标记预测(NTP)损失,并应用较高学习率以加速收敛,使MLP快速适应大语言模型的输入空间,为后续训练奠定基础。
- ViT增量学习阶段(可选):该阶段视觉编码器和MLP投影仪可训练,使用与MLP热身阶段相同的预训练数据和NTP损失进行训练,目的是增强视觉编码器提取视觉特征的能力,特别是对于在网络规模数据集中相对较少的领域(如多语言OCR数据和数学图表等)。此阶段使用较低学习率防止灾难性遗忘,且视觉编码器只需训练一次,训练后的编码器可与不同大语言模型复用,无需重新训练,因此该阶段可选。
- 全模型指令调整阶段:最后阶段,整个模型(包括视觉编码器、MLP和大语言模型)在高质量多模态指令数据集上进行训练。由于大语言模型负责生成最终用户可见输出,对数据质量要求极高,少量噪声数据可能导致模型行为异常,因此在此阶段实施严格的数据质量控制。训练超参数设置简单,对整个模型应用统一学习率,完成此阶段后,InternVL 2.5的训练过程结束。
表3:InternVL 2.5的训练配置和超参数。该表展示了不同规模的InternVL 2.5模型的训练设置情况。这些配置经过精心优化,以确保在不同参数规模和训练阶段都能实现高效扩展并获得良好性能。值得注意的是,Qwen2 - VL [246]累计处理了1.4万亿个标记,而我们的InternVL2.5 - 78B仅使用了大约1200亿个标记进行训练。
渐进式缩放策略
- 策略方法:采用分阶段训练方法,先使用较小的大语言模型训练视觉编码器,专注于优化基本视觉能力和跨模态对齐,避免直接使用大语言模型训练的高计算成本。通过共享权重机制,训练好的视觉编码器可轻松转移到更大的大语言模型中,无需重新训练。例如,在训练较大模型时,可跳过ViT增量学习阶段,直接复用之前优化好的视觉编码器模块,从而加速训练并确保视觉编码器的学习表示能有效集成到更大模型中。
- 策略优势:通过这种方式,在资源受限的情况下,实现了模型的高效更新,显著减少了训练所需的计算资源(如InternVL2.5 - 78B仅使用约1200亿标记进行训练,而Qwen2 - VL处理了累计1.4万亿标记),同时提高了模型在复杂视觉 - 语言任务上的性能,通过最大化预训练组件的复用,减少了冗余计算。
训练增强
- 随机JPEG压缩:为避免训练过拟合并提高模型对真实世界图像的适应性,应用随机JPEG压缩(质量级别在75 - 100之间)的数据增强技术,模拟互联网图像常见的退化情况,增强模型对噪声和压缩图像的鲁棒性,确保在不同图像质量下性能更稳定。
- 损失加权策略:针对NTP损失的加权,存在令牌平均和样本平均两种策略。令牌平均使每个令牌对最终损失贡献相等,可能导致梯度偏向响应令牌较多的情况,影响基准性能;样本平均确保每个样本贡献相等,但可能使模型倾向于生成较短响应,影响用户体验。为平衡不同长度响应的贡献,本文采用权重(w_i=\frac{1}{x^{0.5}})(x为响应中的令牌数量)的平方平均策略,减少对长或短响应的偏差。
4数据组织
-
数据集配置
- 数据增强:有条件地应用于图像数据集,以增强模型对不同图像质量的鲁棒性;对视频数据集则不应用,确保不同视频帧质量一致。
- 最大 Tile 数:此参数控制输入模型的图像或视频帧分辨率,根据数据集复杂度和类型灵活设置,如多图像数据集、高分辨率文档等可设较高值,视频数据集设为1。
- 重复因子:用于调整数据集采样频率,平衡不同数据集在训练中的权重,防止过拟合或欠拟合,确保模型在多任务学习中对各领域或任务数据的合理训练。
图 6:开源数据集中异常样本的可视化展示。异常样本在各种数据类型中普遍存在,包括单图像、多图像、视频以及纯文本数据集,其中 “重复输出” 是一个突出问题。我们将其认定为测试时扩展面临的最有害问题之一,它常常导致模型在长篇输出以及思维链(CoT)推理任务中陷入循环。
- 多模态数据打包
- 选择:从数据集中采样独立数据,截断为多个小样本,确保其序列长度和图像 Tile 数在阈值内,作为后续打包的候选样本。
- 搜索:为独立样本在缓冲区列表中寻找合适的样本进行打包,选择依据是打包后序列长度小于阈值且图像 Tile 数符合要求,优先选择序列长且图像 Tile 数多的缓冲区,通过维护有序缓冲区列表和二分搜索提高搜索效率。
- 打包:将采样数据与选定缓冲区打包成单序列,若未找到合适缓冲区则样本不变,打包后数据中各样本上下文独立,保持样本位置索引。
- 维护:若打包样本超阈值则立即用于训练;否则插入缓冲区列表,若列表超容量则移除最长序列和最高图像 Tile 数的样本,以维持缓冲区效率。
- 数据过滤管道
- 问题发现:在模型开发中发现大语言模型对数据噪声更敏感,少量异常样本可导致模型推理时行为异常,即使在大规模数据集中,微小噪声也可能影响多模态大语言模型性能和用户体验。
- 解决方法
- 文本数据:采用基于大语言模型的质量评分,按领域分类数据集并评分,去除低分样本;进行重复检测,结合大语言模型和特定提示识别重复样本并手动审查去除;应用启发式规则过滤异常样本,如异常长度句子、长零序列、多行重复文本等,手动审查后再移除。
- 多模态数据:鉴于开源多模态大语言模型对多模态数据评分能力有限,主要通过重复检测和启发式规则过滤,使用特定提示识别并去除重复模式样本,确保数据集完整性。
- 预训练数据混合:为增强模型在复杂任务中的性能,收集了比之前版本更广泛多样的领域特定数据,涵盖多种任务类型,且仅使用对话格式指令数据,在预训练阶段纳入低质量和高质量数据,以丰富模型知识,提高其泛化能力。
- 微调数据混合:从InternVL 1.5到2.5,数据集在规模、质量和多样性上不断改进。规模上,样本数量显著增加;多样性上,涵盖多领域多模态;质量上,通过多种方式提升,如统一对话模板、语言模型评分筛选、去除重复模式、应用启发式规则过滤、改写短响应等,确保训练数据高质量。
实验评估
5 Evaluation on Multimodal Capability(多模态能力评估)
- 多模态推理和数学
- 基准测试
- MMMU:评估MLLM在大学水平六个学科任务中的表现,测试专家级推理和特定领域高级感知能力,报告直接回答和CoT推理在验证集和测试集上的最高准确率。
- MMMU - Pro:升级后的MMMU,通过三个指标(标准(10个选项)、视觉和整体(标准与视觉平均值))更严格评估模型多模态理解和推理能力,标准和视觉分数分别来自CoT和直接回答设置。
- MathVista:评估MLLM在视觉情境下数学推理能力,涵盖代数、几何和统计等推理类型,报告test - mini集分数。
- MATH - Vision:包含高质量真实竞赛数学问题的数据集,报告test - mini和full集性能。
- MathVerse:评估MLLM解决基于图表数学问题能力的视觉数学基准,问题有多种版本,报告test - mini集表现。
- OlympiadBench:包含高难度数学和物理问题的双语多模态基准,问题有专家级推理注释,CoT提示可提升性能。
- 评估结果
- 多学科推理能力方面,模型在相关基准测试中成绩提升,如InternVL2.5 - 78B在MMMU验证集得分超70,接近先进闭源模型;通过多数投票,CoT推理可提升模型在MMMU基准测试成绩,表明测试时缩放可改进CoT推理。
- 数学推理能力方面,模型在多个数学基准测试中进步明显,如InternVL2.5 - 78B在MathVista test - mini集准确率达72.3%,在OlympiadBench上也有整体提升,部分得益于数据过滤管道,且解决了2.0模型在CoT推理中常出现的死锁问题。
- 基准测试
- OCR、图表和文档理解
- 基准测试
- AI2D:包含小学科学图表及问题的数据集,测试时报告“mask”和“no mask”设置下的结果。
- ChartQA:评估模型解释和推理数据可视化(如图表)能力,评价指标为平均放松准确率。
- TextVQA:基于图像中文本的视觉推理基准,需模型阅读和解释图像文本回答问题,报告验证集VQA准确率。
- DocVQA:评估模型从文档图像中理解和检索信息能力,测试集使用ANLS指标评估。
- InfoVQA:评估模型解释和推理复杂信息图表能力,测试集使用ANLS指标评估。
- OCRBench:评估MLLM在五个OCR任务(文本识别、场景文本VQA、文档VQA、关键信息提取、手写数学表达式识别)上的能力,满分1000分。
- SEED - Bench - 2 - Plus:评估MLLM在文本丰富视觉任务上的能力,报告平均准确率。
- CharXiv:包含科学论文图表的评估套件,有推理和描述性问题,评估模型对图表元素理解和复杂信息合成能力。
- VCR:涉及恢复图像中部分隐藏文本的任务,报告VCR - EN - Easy子集的精确匹配(EM)分数和Jaccard相似度。
- 评估结果:InternVL 2.5在多数OCR相关基准测试中超越InternVL 2.0,性能与当前领先模型Qwen2 - VL - 72B相当,但2B规模的InternVL2.5 - 2B在部分基准测试中表现不如Qwen2 - VL - 2B。在VCR任务中,InternVL 2.5系列通过引入少量训练数据(约22K样本)显著提升了指令跟随能力,从而提高了任务性能,说明之前模型在VCR任务中表现差并非OCR能力不足,而是指令跟随能力欠缺。
- 基准测试
- 多图像理解
- 基准测试
- BLINK:通过14个受经典计算机视觉挑战启发的任务评估MLLM核心视觉感知能力,多数问题涉及多图像,报告验证集结果。
- Mantis - Eval:精心策划的小规模基准,评估MLLM在多图像上的推理能力,包含具有挑战性的人类注释问题,涵盖尺寸感知、重量比较等主题。
- MMIU:广泛的基准套件,评估MLLM在多图像任务中的性能,包含7种多图像关系类型和52个任务,提供全面评估框架。
- MuirBench:全面评估MLLM多图像理解能力的基准,涵盖12个任务和10种多图像关系类型,包含不可回答实例变体以增强评估。
- MMT - Bench:评估MLLM在多模态任务(如驾驶和导航)中的能力,注重识别、推理和规划,许多子任务需要多图像理解,为加快测试速度报告验证集结果。
- MIRB:评估MLLM跨多图像理解和推理能力的基准,包含四个任务类别(感知、视觉世界知识、推理、多跳推理),报告平均得分。
- 评估结果:InternVL 2.5在多图像理解能力上较InternVL 2.0有持续提升,反映出推理能力增强和多图像信息整合能力提升。如2B规模的InternVL2.5 - 2B在Mantis - Eval和MuirBench上有显著增益。大规模模型如InternVL2.5 - 78B在部分基准测试中接近或超越先进闭源模型,但在BLINK和MuirBench上与GPT - 4o仍有差距,表明需更多高质量多图像训练数据进一步提升性能。
- 基准测试
- 真实世界理解
- 基准测试
- 评估结果:InternVL 2.5在四个真实世界理解基准测试中表现领先,超越InternVL 2.0,表明在复杂现实场景中有更强应用潜力。在涉及选择题的基准测试中,模型展现出良好的现实世界感知和理解能力;在WildVision基准测试中,InternVL2.5 - 78B在生成简洁答案方面表现良好,但生成较长响应以匹配人类偏好方面与GPT - 4o存在差距,未来需提升模型在开放式任务和复杂交互中的性能,以更好满足用户偏好。
- 综合多模态评估
- 基准测试
- MME:首个全面评估MLLM的基准,评估模型在14个子任务中的感知和认知能力,包括对象存在、计数、位置、颜色识别以及常识推理、数值计算、文本翻译和代码推理等,报告所有任务的总体得分。
- MMBench:通过近3000个涵盖20个维度的选择题评估MLLM多模态理解能力,支持英语和中文版本,报告测试集性能得分。
- MMBench v1.1:MMBench的改进版本,数据集经过优化,去除少量噪声或低质量问题,提高数据质量,报告英语版本测试集模型性能。
- MMVet:评估MLLM在复杂任务上集成能力的基准,评估六个核心能力(识别、知识、空间意识、语言生成、OCR、数学)在16个集成任务中的表现,VLMEvalKit使用GPT - 4 - Turbo评分,得分略低于官方评估服务器。
- MMVet v2:MMVet的扩展版本,引入新能力——图像 - 文本序列理解,可评估模型处理交错内容的能力,使用官方评估服务器评分,采用GPT - 4 - 0613作为评分模型。
- MMStar:评估MLLM多模态能力的基准,包含1500个精心挑选样本,注重高级视觉和语言理解,最小化数据泄漏,强调视觉依赖性。
- 评估结果:InternVL 2.5模型在各种规模上均优于InternVL 2.0系列,尤其是1B - 8B参数的较小模型。如在MMBench v1.0基准测试中,InternVL2.5 - 4B和InternVL2.5 - 8B成绩显著提升。然而,最大模型InternVL2.5 - 78B在MMVet系列基准测试中仍未超越Qwen2 - VL - 72B,目前MMVet v2基准测试中的领先模型仍为闭源模型,凸显了开源模型在多模态集成能力方面与闭源模型的差距,这是未来发展的重要方向。
- 基准测试
- 多模态幻觉评估