InternVL3:原生多模态预训练


文档摘要

InternVL3:原生多模态预训练 本节摘要:InternVL3 之前的每个开源 VLM 都遵循同一套三步配方:拿一个在数万亿文本 token 上训练的文本 LLM,外挂一个视觉编码器,再微调接缝。能用,但有对齐债务——文本 LLM 把全部预训练预算花在纯文本上,并不天然理解视觉 token。事后加视觉,LLM 得重新学如何把视觉输入与文本推理关联起来,还不能忘了文本。InternVL3(Zhu 等人,2025 年 4 月)拒绝事后路线:一次预训练,文本与多模态从第一步就交错。结果在 780 亿参数开源下,于 MMMU-Pro 上追平 Gemini 2.5 Pro。本节读原生预训练的理由,以及这么做时什么会改变。

InternVL3:原生多模态预训练

本节摘要:InternVL3 之前的每个开源 VLM 都遵循同一套三步配方:拿一个在数万亿文本 token 上训练的文本 LLM,外挂一个视觉编码器,再微调接缝。能用,但有对齐债务——文本 LLM 把全部预训练预算花在纯文本上,并不天然理解视觉 token。事后加视觉,LLM 得重新学如何把视觉输入与文本推理关联起来,还不能忘了文本。InternVL3(Zhu 等人,2025 年 4 月)拒绝事后路线:一次预训练,文本与多模态从第一步就交错。结果在 780 亿参数开源下,于 MMMU-Pro 上追平 Gemini 2.5 Pro。本节读原生预训练的理由,以及这么做时什么会改变。

学习目标

阅读完本节,你应当能够:

  1. 解释为什么事后 VLM 训练会累积对齐债务,引用三个可测症状(灾难性遗忘、答案漂移、视觉-文本不一致)。
  2. 描述 InternVL3 的原生预训练语料配比,说明文本:交错:caption 的比例为何重要。
  3. 把 V2PE(可变视觉位置编码)与 Qwen2-VL 的 M-RoPE 对比。
  4. 说出 Visual Resolution Router(ViR)与 Decoupled Vision-Language(DvD)这两个部署优化。

一、问题与直觉

事后 VLM 训练是默认。LLaVA、BLIP-2、Qwen-VL、Idefics——都拿一个已预训练的 LLM(Llama、Vicuna、Qwen、Mistral)再加视觉。训练阶段通常长这样:

  1. 冻结 LLM + 冻结视觉编码器 + 可训练投影器,在 caption 对上训练以对齐嵌入。
  2. 解冻 LLM,在指令数据上训练(LLaVA-Instruct、ShareGPT4V)。
  3. 可选的任务专属微调。

对齐债务有三个症状:

  • 灾难性遗忘:事后 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% 配对图文 caption 数据
  • 5% 视频文本数据

视觉 token、文本 token、跨模态交互从第一个梯度步就参与同一个损失。没有对齐预训练,没有投影器冻结阶段,没有要恢复的灾难性遗忘。

基座模型是单阶段训练,之后接指令微调,但基座已经把视觉 token 当一等公民理解了。

V2PE(可变视觉位置编码)

Qwen2-VL 用固定轴分配的 M-RoPE。InternVL3 引入 V2PE:位置编码按模态类型(文本、图像、视频)可变,带可学习缩放。实践上:

  • 文本 token 拿一维位置(文本索引)。
  • 图像 patch 拿二维位置(行,列)。
  • 视频帧拿三维位置(时间,行,列)。

三者共享同一 RoPE 频率基,但每段的隐藏维分配是学习参数而非固定切分。预训练时可自由权衡时间与空间频率分辨率。

V2PE 的消融声称:同等算力下,视频基准比 M-RoPE 高 1~2 分。不是革命,但更干净。

Visual Resolution Router(ViR)

部署优化。并非所有图像都需要全分辨率编码。一张只含一个低细节物体的照片,用 1280px 原生编码是浪费 token。ViR 是一个小分类器,在编码前预测回答问题所需的最小分辨率。

路由分三档:低(256 token)、中(576)、高(2048+)。生产流量里约 60% 的查询,低或中就够。净效果:同等质量下吞吐 2~3 倍。

Decoupled Vision-Language 部署(DvD)

服务大型 VLM 时,视觉编码器每张图跑一次,而 LLM 对每个输出 token 自回归跑一次。两者瓶颈不同(视觉 = 卷积+注意力的显存带宽;LLM = KV 缓存)。DvD 把它们分到不同 GPU,中间流式交接。

对 8B + 4 亿编码器模型,DvD 大致把每节点吞吐翻倍。

单阶段 vs 多阶段质量

InternVL3 的主要基准声称:78B 时追平 Gemini 2.5 Pro 的 MMMU-Pro;38B 时追平 GPT-4o;8B 时领先开源 8B 榜。全靠单阶段预训练 + 指令微调配方。

对齐债务假说可测:每单位视觉基准增益,InternVL3-8B 丢的文本基准分(MMLU、GSM8K)比 Qwen2.5-VL-7B 少。模型更像通才,因为训练是一整块而非两块。

InternVL3.5 与 InternVL-U

InternVL3.5(2025 年 8 月) 扩规模,同原生预训练思路,更多数据更多参数,MMMU 增量改进。

InternVL-U(2026) 加统一生成——在同一主干上用 MMDiT 头输出图像。「U」代表「理解 + 生成」,追赶 Transfusion 式统一模型(第 13 节)。同一原生预训练主干同时支持理解与生成头。

原生预训练的权衡

原生预训练不免费:

  • 算力:从零训一个新 VLM,成本与训文本 LLM 相当——数百万 GPU 小时。事后适配复用已有 LLM 权重,省下大部分。
  • 数据:规模的交错图文语料稀缺。OBELICS 1.41 亿文档,MMC4 5.71 亿。纯文本动辄 15T token。多模态预训练数据稀缺是硬约束。
  • 基座 LLM 复用:原生预训练放弃日后换新 LLM 的选项。事后路线能只重训 adapter 就把 Llama-3.1 换成 Llama-4。

InternVL3 押注:对齐债务比复用损失更糟。基准支持这一说法;而生产成本把未来实验室挡在了廉价复制的门外。事后 VLM 会继续存在,因为对大多数项目它们仍更便宜。

二、从零实现

code/main.py 是一个训练语料混合器与 ViR 路由模拟器。它:

  • 接收目标语料配比(% 文本、% 交错、% caption、% 视频),算每模态预期步数。
  • 在一批查询上模拟 ViR 路由(分布:50% 低细节、30% 中、20% 高),报告平均 token 数。
  • 给定编码器与 LLM 的 FLOPs,报告 DvD 吞吐估算。
  • 并排打印事后 vs 原生预训练在参数、算力、数据、预期对齐债务症状上的对比。

语料混合的伪代码

def native_corpus_mix(text_p, interleave_p, caption_p, video_p, total_tokens): assert abs(text_p + interleave_p + caption_p + video_p - 1.0) < 1e-6 return { "text_only": int(total_tokens * text_p), # 40% FineWeb 等 "interleaved": int(total_tokens * interleave_p), # 35% OBELICS/MMC4 "caption_pairs": int(total_tokens * caption_p), # 20% "video_text": int(total_tokens * video_p), # 5% } # 从第一个梯度步, 视觉/文本/跨模态都进同一个 LM 损失

ViR 路由

def vir_route(query, image): # 小分类器预测所需最小分辨率 detail = classifier(query, image) # low / medium / high if detail == "low": return 256 # 一物体低细节 if detail == "medium": return 576 return 2048 # OCR/密集图 # 生产约 60% 落在 low/medium, 吞吐 2~3 倍

💡 关键洞察:原生预训练让视觉 token 与文本 token 在同一损失里从第一步就协同——不存在「先学文本再加视觉」的接缝,所以没有接缝要补偿,对齐债务从一开始就低。

三、框架对比

  • InternVL3 官方:原生多模态单阶段预训练,V2PE 位置编码,InternViT 视觉塔;InternVLChatModel 暴露 ViR 路由接口。
  • Qwen2.5-VL(M-RoPE):事后路线的代表,固定三段位置分配;视觉是后加的,对齐债务高于 InternVL3。
  • LLaVA-OneVision:典型事后三阶段(投影器对齐→指令微调→任务微调),省算力但有遗忘。
  • InternVL-U(2026):在原生主干上加 MMDiT 生成头,理解与生成统一,追赶 Transfusion。

工程取舍:预算充足要最强通才用 InternVL3 原生预训练;预算有限用事后 LLaVA/Qwen;服务大型 VLM 用 DvD 拆 GPU;流量分辨率分布已知用 ViR 路由省 token。

四、可复用产物

本节产出 outputs/skill-native-vs-posthoc-auditor.md。给定一份拟定的 VLM 训练计划,它审计该走原生还是事后,标出对齐债务风险,并推荐语料配比。在为新开源 VLM 项目选型、需要挑训练策略时用它。

五、练习

  1. 算力对比:估算 InternVL3-8B(原生预训练)与 LLaVA-OneVision-7B(事后)的算力差。GPU 小时比大约多少?什么解释了这个差距?

  2. 改配比:InternVL3 报告 40% 文本/35% 交错/20% caption/5% 视频。若你的目标任务偏视频,提出新配比,并论证基座为何仍需大量文本与 caption 数据。

  3. 读 MM1.5:读 MM1.5 第 4 节关于遗忘。说出事后训练在哪个基准上退步最大,退步了多少。

  4. ViR 误路由:ViR 把 60% 流量路由到低分辨率。它会把哪些查询误路由(本该高却送低)?提出三种路由失败模式。

  5. DvD 反效果:DvD 把视觉与 LLM 分到不同 GPU。什么流量模式下 DvD 反而损害吞吐?

本节要点回顾

  1. 对齐债务:事后加视觉会致灾难性遗忘、答案漂移、视觉-文本不一致,MM1.5 量化了这些。
  2. 原生预训练:文本+图+视频从第一步进同一损失,视觉 token 是一等公民,无接缝要补偿。
  3. 语料配比:40% 文本 / 35% 交错 / 20% caption / 5% 视频,基座单阶段训练。
  4. V2PE:按模态可学习的位置编码分配,比 M-RoPE 固定三段更灵活,视频基准高 1~2 分。
  5. ViR 路由:小分类器挑最小分辨率,约 60% 落低/中,吞吐 2~3 倍。
  6. DvD 部署:视觉与 LLM 分 GPU 流式交接,大型 VLM 每节点吞吐翻倍。
  7. 质量:78B 追平 Gemini 2.5 Pro 的 MMMU-Pro,每单位视觉增益丢的文本分更少,更像通才。
  8. InternVL3.5/U:3.5 扩规模;U 加 MMDiT 生成头,理解+生成统一。
  9. 权衡:算力(数百万 GPU 小时)、数据(交错语料稀缺)、放弃换 LLM 的灵活性。
  10. 押注:对齐债务比复用损失更糟;事后 VLM 因更便宜会继续存在。

下一节,我们换条路进入早期融合——Chameleon 把图像也离散成 token,与文本 token 在同一条序列、同一个词表、同一个自回归目标里一起预测,这是「一切都成 token」的纯粹路线。


发布者: 作者: Rohit Gupta 转发
评论区 (0)
U