
多模态大模型Ovis2.5核心技术改进点、训练方法 原创
前面介绍了《多模态大模型Ovis核心技术点、训练方法、数据细节》,最近看到更新了Ovis2.5,来看下有哪些改进及策略。
改进点概述:
- Ovis2 采用固定分辨率ViT,需将图像分割为固定大小的子图(tiling)处理,这会破坏复杂视觉内容的全局布局连贯性和细粒度细节,Ovis2.5直接以图像原始分辨率(无需分块)输入,支持 448²~1792² 像素。(从代码看,原生分辨率直接从qwen2.5-vl copy过来的)
- 升级LLM为qwen3,增加思考推理能力,支持可选 “思考模式”:推理时可灵活开启 / 关闭该模式
- 训练策略上使用数据打包和混合并行性进行优化,加速训练(关于packing:多模态大模型中图像分辨率packing策略及原生分辨率NaViT的部分结论)
架构
架构
架构保留了ovis之前的结构,由视觉编码器+VET(视觉嵌入表)+LLM构成:
VET过程概述:
- 图(a):基于连接器的MLLM:传统多模态模型(如LLava)的典型架构,连接器通常是一个MLP,其作用是将视觉特征投影到与文本嵌入相同的维度空间中。
- 图(b):Ovis的结构化嵌入对齐:视觉编码器的输出不再直接通过MLP投影,而是送入一个视觉嵌入表(Visual Embedding Table)。这个表是一个可学习的结构,类似于文本嵌入表。
- 视觉编码器:图像首先被视觉编码器(如 ViT)处理,分为多个patches,每个patch生成一个连续的特征向量。
- 不同于传统方法直接通过 MLP 投影,Ovis 在视觉编码器后整合了一个可学习的视觉嵌入表。每个图像patch的特征向量用于多次索引该表,生成最终的视觉嵌入。为了使视觉和文本嵌入具有兼容的形状,视觉嵌入表的维度设置为与文本嵌入表相同。
- 嵌入对齐:视觉嵌入表的引入使得视觉嵌入的生成方式与文本嵌入类似。文本嵌入通常通过查找表为每个token分配一个嵌入向量,而 Ovis 通过视觉嵌入表为视觉patch生成结构化的嵌入,实现了两者的对齐。
训练方法
五阶段训练法
阶段1:预训练P1 - 视觉嵌入表(VET)初始化
冻结ViT主体(仅解冻最后一层)、LLM全冻,仅训练视觉头(Visual Head)和视觉嵌入表(VET)。
- 数据:纯图像-描述对(如COYO、Laion),无对话格式,聚焦基础视觉理解。
- 分辨率:动态调整图像像素至448²~896²(保留宽高比),禁用RoPE(因ViT预训练无位置编码),通过动态位置嵌入插值适应可变分辨率。
阶段2:预训练P2 - 多模态基础对齐
激活全模块(VT/VET/LLM),对齐多模态对话格式,扩展高分辨率感知。全参数微调,引入多模态数据打包(将短样本拼接为长序列),减少Padding浪费,提升GPU利用率。
- 数据:新增OCR(文档/图表)、视觉定位(RefCOCO)、多轮对话数据,覆盖“图像→文本”交互。
- 分辨率:支持448²~1792²像素,激活ViT所有块的旋转位置编码(RoPE),强化高分辨率下的空间关系建模(如图表中数据点与坐标轴的位置关联)。
阶段3:预训练P3 - 多模态指令理解
扩展至8大领域(STEM/医疗/多语言等),新增多图像/视频输入,并注入带<think>...</think>
标签的“思考式样本”。延续1792²支持,适配复杂图表的高密度信息(如图表中的小文本、密集数据线)。LLM切换为Qwen3,其深度推理能力(如数学公式生成)与视觉模块协同,实现“视觉信息→逻辑链→结论”的端到端训练。
阶段4:后训练P1 - 偏好对齐(DPO)
通过人类偏好优化输出质量,减少幻觉,强化推理可信度。全参数DPO(Direct Preference Optimization)+ 辅助NLL损失,对每个查询生成5~10个候选答案,形成偏好对(A>B),优化模型选择更符合人类偏好的输出。
阶段5:后训练P2 - 强化学习(GRPO)
针对推理任务(如数学、逻辑)进行专项优化,冻结视觉模块以保感知能力。仅更新LLM参数,采用GRPO,通过“奖励模型→策略优化”循环,强化复杂推理的逻辑连贯性。
数据:聚焦可验证任务(MathVista/LogicVista),将多选问题转为填空(减少猜测依赖),离线过滤低质量样本。
实验效果
参考文献:Ovis2.5 Technical Report,https://arxiv.org/pdf/2508.11737
repo:https://github.com/AIDC-AI/Ovis/tree/main
本文转载自大模型自然语言处理 作者:llmnlp
