本月 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 增加了更多高质量开源数据,并剔除低质量数据,从而在多模态任务中保持语言模型的卓越性能。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。