InternVL3:原生多模态预训练
理解InternVL3如何通过原生预训练消除后置对齐债务
InternVL3:原生多模态预训练
InternVL3之前的每个开源VLM都遵循相同的三步方案:取一个在万亿文本token上训练的文本LLM,螺栓固定视觉编码器,然后微调接缝。这可行但有对齐债务——文本LLM将其全部预训练预算花在纯文本上,不原生理解视觉token。当你事后添加视觉时,LLM必须重新学习如何将视觉输入与其文本推理关联,而不遗忘文本。InternVL3 (Zhu等人, 2025年4月)拒绝后置方法:一次预训练运行,文本和多模态从第一步就交错。结果在78B参数开放下匹配Gemini 2.5 Pro在MMMU-Pro上。本课程阅读原生预训练的理由以及当你这样做时什么会改变。
类型: 学习 语言: Python (stdlib, 训练语料混合器) 前置知识: Phase 12 · 05, Phase 12 · 07 (方案) 时间: ~120分钟
学习目标
- 解释为什么后置VLM训练积累对齐债务,引用三个可测量症状(灾难性遗忘、答案漂移、视觉-文本不一致)。
- 描述InternVL3的原生预训练语料混合以及文本:交错:标题的比例为什么重要。
- 比较V2PE(可变视觉位置编码)与Qwen2-VL的M-RoPE。
- 说出Visual Resolution Router(ViR)和Decoupled Vision-Language(DvD)部署优化。
问题
后置VLM训练是默认的。LLaVA、BLIP-2、Qwen-VL、Idefics——都取已预训练的LLM(Llama、Vicuna、Qwen、Mistral)并添加视觉。训练阶段通常如下:
- 冻结LLM + 冻结视觉编码器 + 可训练投影器,在标题对上训练以对齐嵌入。
- 解冻LLM,在指令数据上训练(LLaVA-Instruct, ShareGPT4V)。
- 可选任务特定微调。
对齐债务的三个症状出现:
- 灾难性遗忘。后置VLM遗忘纯文本技能。GSM8K分数下降5-10分。Hellaswag分数下降。纯文本agent退化。
- 答案漂移。相同视觉问题的微小措辞得到不同答案。视觉编码器与LLM的连接比LLM自身token的绑定更弱。
- 视觉-文本不一致。VLM可以正确描述图像,然后回答与其自身描述矛盾的问题。视觉token不像文本那样参与LLM的内部一致性检查。
这些症状有充分记录。MM1.5第4节量化了它们。LLaVA-OneVision的消融暗示了它们。原生预训练是答案。
概念
原生多模态预训练
InternVL3从零开始在一个从第一步就是原生多模态的语料上训练。混合是:
- 40%纯文本数据(FineWeb, Proof-Pile-2等)
- 35%交错图像-文本数据(OBELICS, MMC4风格)
- 20%配对图像-标题数据
- 5%视频-文本数据
视觉token、文本token和跨模态交互从第一个梯度步骤就参与相同损失。无对齐预训练,无投影器冻结阶段,无灾难性遗忘需要恢复。
基座模型训练是单阶段的。指令微调随后进行,但基座模型已经将视觉token理解为一等公民。
V2PE(可变视觉位置编码)
Qwen2-VL使用固定轴分配的M-RoPE。InternVL3引入V2PE:位置编码按模态类型(文本、图像、视频)变化,带可学习缩放。实践中:
- 文本token获得1D位置(文本索引)。
- 图像patch获得2D位置(行、列)。
- 视频帧获得3D位置(时间、行、列)。
三者共享相同RoPE频率基,但每频段的隐藏维度分配是学习参数而非固定分割。在预训练期间自由权衡时间vs空间频率分辨率。
V2PE的消融声称:在相同计算下比M-RoPE在视频基准上高1-2分。不是革命,但更干净。
Visual Resolution Router (ViR)
部署优化。并非所有图像都需要全分辨率编码。一张低细节单物体照片在1280px原生编码时浪费token。ViR是一个小型分类器,在编码前预测回答问题所需的最小分辨率。
路由有三个层级:低分辨率(256 token)、中(576)、高(2048+)。在生产流量中60%的查询,低或中分辨率足够。净效果:同等质量下2-3倍吞吐量。
解耦视觉-语言部署(DvD)
当你服务大型VLM时,视觉编码器每张图像运行一次,但LLM为每个输出token自回归运行。两个组件有不同的瓶颈(视觉 = conv + attention的GPU内存带宽;LLM = KV缓存)。DvD将它们拆分到单独GPU上,带流式传输。
对于8B + 400M编码器模型,DvD大致将每节点吞吐量翻倍vs共置。
单阶段vs多阶段质量
InternVL3的主要基准声明:在78B参数下,匹配Gemini 2.5 Pro的MMMU-Pro。在38B下,匹配GPT-4o。在8B下,领先开源8B排行榜。全部在单阶段预训练 + 指令微调方案上。
对齐债务假说是可测量的:InternVL3-8B每单位视觉基准增益比Qwen2.5-VL-7B丢失更少文本基准分数(MMLU, GSM8K)。模型更像通才,因为训练是一体的,不是两体的。
InternVL3.5和InternVL-U
InternVL3.5 (2025年8月)缩放方案。相同原生预训练方法,更多数据,更多参数。MMMU改进是增量的。
InternVL-U (2026)添加统一生成——通过相同骨干上的MMDiT头进行图像输出。“U”代表”理解 + 生成”,追逐Transfusion风格统一模型(课程12.13)。相同原生预训练骨干支持理解和生成头。
原生预训练的权衡
原生预训练不是免费的:
- 计算。从零训练新VLM的成本与训练文本LLM相同——数百万GPU小时。后置适配重用现有LLM权重,节省大部分成本。
- 数据。大规模交错图像-文本语料库稀缺。OBELICS是1.41亿文档;MMC4是5.71亿。仅文本以15T token发布。多模态预训练数据稀缺是硬约束。
- 基座LLM复用。原生预训练放弃了以后换入新LLM的选项。后置让你通过仅重新训练适配器将Llama-3.1换成Llama-4。
InternVL3的赌注:对齐债务比重用损失更糟。基准支持该声明。生产成本阻止未来实验室廉价复制。后置VLM将继续存在,因为它们对大多数项目仍然更便宜。
实践
code/main.py是训练语料混合器和ViR路由模拟器。它:
- 接收目标语料混合(%文本, %交错, %标题, %视频)并计算每种模态的预期步数。
- 在一批查询上模拟ViR路由(分布:50%低细节,30%中,20%高细节)并报告平均token数。
- 给定编码器vs LLM FLOPs报告DvD吞吐量估算。
- 打印后置vs原生预训练在参数、计算、数据和预期对齐债务症状方面的并排比较。
输出
本课程产生outputs/skill-native-vs-posthoc-auditor.md。给定提议的VLM训练计划,它审计是否应该原生还是后置,标记对齐债务风险,并推荐语料混合。当你规划新开源VLM项目并需要选择训练策略时使用。
练习
-
估算InternVL3-8B(原生预训练)和LLaVA-OneVision-7B(后置)之间的计算差异。GPU小时比率大约多少?什么解释了差距?
-
InternVL3报告40%文本 / 35%交错 / 20%标题 / 5%视频。如果你的目标任务是视频密集的,提出新比例并论证为什么基座模型仍需要大量文本和标题数据。
-
阅读MM1.5第4节关于遗忘。说出后置训练显示最大回归的确切基准。回归损失了多少?
-
ViR将60%流量路由到低分辨率编码。它错误路由了哪些查询(发送到低分辨率但需要高分辨率)?提出三种路由器失败模式。
-
DvD将视觉和LLM拆分到单独GPU。在什么流量模式下DvD反而损害吞吐量?
关键术语
| 术语 | 常见说法 | 实际含义 |
|---|---|---|
| 原生多模态预训练 | ”从零一起” | 文本 + 图像 + 视频token从第1步就参与损失,不是后来螺栓固定 |
| 对齐债务 | ”后置惩罚” | 从将视觉螺栓固定到冻结LLM上产生的文本技能和答案一致性的可测量回归 |
| V2PE | ”可变视觉位置编码” | 按模态可学习的位置编码分配;InternVL3的M-RoPE后继 |
| ViR | ”分辨率路由器” | 编码前按查询选择最小分辨率的小型分类器,节省推理token |
| DvD | ”解耦部署” | 视觉编码器在一个GPU上,LLM在另一个上,带流式交接;大型VLM吞吐量翻倍 |
| InternVL-U | ”统一理解+生成” | 2026年跟进,在原生预训练骨干上添加图像生成头 |
| 交错语料 | ”OBELICS / MMC4” | 以自然阅读顺序包含文本和图像的文档;原生预训练的原材料 |