SmartFlowAI
点击上方蓝字关注我们
编辑:北辰
本月 5 号,上海 AI 实验室旗下的 OpenGVLab 团队发布了其最新的开源多模态大语言模型 InternVL2.5 系列。其中 InternVL2.5 78B 是首个在 MMMU benchmark 上得分超过 70 的开源模型,同时超越 Chatgpt-4o 与 Claude-3.5-Sonnet!
书生·万象 InternVL 2.5[1] 最新的多模态大模型家族涵盖由 1B 到 78B 的不同模型,适配不同需求的使用场景和硬件需求。
通过 OpenCompass 与多种参数尺度的模型[2]进行比较,InternVL 2.5 模型超越同尺度开源 SOTA 模型;在其 78B 模型更是超过目前广泛使用的闭源商业模型 Chatgpt-4o 和 Claude-3.5-Sonnet。
小编在官方提供的免费 Demo[3] 中进行了 2 个简单的测试:
第一个测试比较简单,需要模型识别上传的文件,并按照指令将文件转换成指定的格式输出,结果如图中所示,78B InternVL2.5 模型准确的识别了图中的文字内容并成功转换为 Markdown 格式。
第二个测试略微提升了点难度,要求模型根据图中提供的手绘流程图,写出对应的 Python 代码。模型采用的 Cot 的方法进行了代码的输出。
两个简单的测试中,图像的识别都很准确,任务也都按照图片或文字提示词完成,响应速度很快,整体使用体验非常不错!
除了模型和 Demo,官方还放出了详细的技术报告[4] “Expanding Performance Boundaries of Open-Source Multimodal Models with Model, Data, and Test-Time Scaling”, 涵盖模型架构、训练策略,同时还比较了模型、数据和测试时间缩放策略对模型性能提升的影响,主要结论如下:
大型视觉编码器显著降低对训练数据的依赖
与配备 6 亿参数视觉编码器的 Qwen2-VL-72B 相比,InternVL 2.5-78B 配备了 60 亿参数的视觉编码器,在仅使用 1/10 训练标注数据的情况下,性能依然优于前者。这大幅降低了多模态大模型扩展过程中的探索成本。
数据质量至关重要
将 InternVL 从 2.0 升级至 2.5 后,数据集规模增加了一倍,但通过严格的数据筛选,数据质量得到了极大提升。如,仔细剔除了异常样本(如重复模式),从而在 CoT 推理任务(如 MMMU)和高难度任务(如 OlympiadBench)中实现了显著改进。需要注意的是,目前大多数开源多模态大模型在 CoT 推理任务中表现不佳。
测试阶段的扩展对困难任务有益
在高难度多模态问答任务(如 MMMU)中,结合 CoT 推理策略的 InternVL 2.5-78B 达到了 70.1% 的准确率,比直接生成答案的方式高出 3.7 个百分点。此外,还成功验证了 CoT 可以进一步与多数投票策略相结合,带来额外的性能提升。这些发现表明,大规模视觉编码器、数据质量优化和测试时扩展策略是提升多模态大模型性能的关键。
模型架构
InternVL 2.5 延续了前几代模型(InternVL 1.5 和 2.0)的架构设计,采用“ViT-MLP-LLM”范式。在最新 2.5 版本中,引入了经过增量预训练的全新视觉编码器 InternViT,并结合预训练的大模型(LLM),如 InternLM 2.5 或 Qwen 2.5,通过一个随机初始化的 MLP Projector 完成基础架构。
与前代版本一致,InternVL 2.5 对输入图像进行了像素逆置操作,将视觉 tokens 数量减少为原来的四分之一。在保留了动态分辨率策略的同时,还增加了模型对多图像和视频数据的支持。
训练策略
动态高分辨率训练
延续 InternVL 2.0,在 InternVL 2.5 中,动态高分辨率训练策略得到了进一步拓展,以更好地处理多图像和视频数据集。
单图像数据集:所有分配的图像块 n_max
全部用于单张图片,以保证最大分辨率。视觉 tokens 用<img>
和</img>
标签区分。多图像数据集:图像块 n_max
平均分配到样本中的每张图像。每张图像用辅助标签标注(如 Image-1),并同样用<img>
和</img>
包裹。视频数据集:将每帧视频缩放到 448×448,并以帧标签(如 Frame-1)进行标记,标签结构与图像类似。
单模型训练流水线
InternVL 2.5 的单模型训练分为三个阶段,每阶段目标是提升模型的视觉感知与多模态理解能力。
MLP 预热阶段
仅训练 MLP Projector,冻结视觉编码器和语言模型。 采用动态高分辨率策略进行训练,虽然成本增加,但能确保更强的跨模态对齐能力,为稳定的多模态训练打下基础。
ViT 增量学习(可选)
针对视觉编码器和 MLP 投影器进行增量训练,提升处理稀缺领域(如多语言 OCR、数学图表)的能力。 一旦训练完成,该视觉编码器可复用到其他 LLM 中,无需重复训练。
全模型指令微调
在高质量的多模态指令数据集上微调整个模型。 严格的数据质量控制确保不会因低质量数据导致语言模型退化,避免生成重复或错误的输出。
渐进式缩放策略
此次更新,InternVL 还引入了渐进式缩放训练方法,以高效对齐视觉编码器与大模型。
初始阶段:先结合较小规模的 LLM(如 20B 参数量)优化基础视觉能力与跨模态对齐。 扩展阶段:将训练好的视觉编码器迁移到更大规模 LLM(如 72B 参数量),无需重复训练,省去中间步骤。
与 Qwen2-VL 使用的 1.4 万亿训练标注数据相比,InternVL2.5-78B 仅使用了 1200 亿数据量,训练效率显著提升。
训练增强
随机 JPEG 压缩
在图像数据增强过程中,随机对图像应用 JPEG 压缩(质量范围 75–100),以模拟互联网环境中的图像退化,从而增强模型对噪声图像的鲁棒性。
损失重加权
为平衡不同长度响应的 NTP 损失,采用平方平均重加权策略。这种方法有效缓解了对长或短响应的偏倚。
数据组织与筛选
数据集配置
数据增强:对图像数据集启用 JPEG 压缩增强,而对视频数据集禁用以保持帧质量一致性。 最大块数 n_max
:高分辨率数据(如多图像)使用更高的值(24–36),普通图像使用较低值(6–12),视频数据设置为 1。重复因子:通过调整重复因子 r
控制数据集的采样频率,平衡不同任务间的训练数据分布,避免过拟合或欠拟合。
数据过滤流水线
InternVL 2.5 设计了一套高效的数据过滤流程,剔除低质量样本,确保训练数据的纯净性和多样性。
纯文本数据过滤 质量评分:通过预训练 LLM 对样本打分(0–10),低于阈值(如 7)的样本被剔除。 重复检测:对重复样本进行标记并人工审核,严格阈值(如 3)以下的样本会被移除。 启发式规则过滤:检测异常长度句子或重复行,人工复核后剔除问题样本。
多模态数据过滤 重复检测:针对非学术数据集,标记重复样本并人工审核。高质量数据集可跳过此流程。 启发式规则过滤:检测视觉异常数据,人工审核确保数据完整性。
从下图可知, InternVL 的训练数据从 1.5 到目前的 2.5 版本,在数据规模、质量和多样性方面都有明显的提高。
多模态能力评估
InternVL 2.5 经过了多方面的性能评测,各方面均表现优异:
多模态推理与数学运算:显著提升复杂视觉语言任务的理解能力。
OCR、图表与文档理解:在多语言场景下表现出色,尤其是在非结构化数据分析中。
多图像与真实世界场景理解:增强对多图像样本间关系的捕捉能力。
综合多模态与幻觉评估
视觉识别:识别图像中物体和位置的能力。
多模态多语言能力:支持多种语言的视觉文本联合理解。
视频理解:在视频分帧场景中展现稳定的分析能力。
语言能力评估
为避免多模态训练对纯语言能力的损害,InternVL 2.5 增加了更多高质量开源数据,并剔除低质量数据,从而在多模态任务中保持语言模型的卓越性能。
书生·万象 InternVL 2.5: https://github.com/OpenGVLab/InternVL/tree/main
[2]模型: https://huggingface.co/OpenGVLab/InternVL2_5-78B
[3]Demo: https://internvl.opengvlab.com/
[4]技术报告: https://arxiv.org/abs/2412.05271v1
往期 · 推荐
🌠 番外:我们期待与读者共同探讨如何在 AI 的辅助下,更好地发挥人类的潜力,以及如何培养和维持那些 AI 难以取代的核心技能。通过深入分析和实践,我们可以更清晰地认识到 AI 的辅助作用,并在 AI 时代下找到人类的独特价值和发展空间。“机智流”公众号后台聊天框回复“cc”,加入机智流大模型交流群!
一起“点赞”三连👇