Skywork-R1V3
视觉语言模型 · arXiv 2507.06167v3 · 2025-07

Skywork-R1V3:把文本推理迁移到视觉,靠 RL 激活

Skywork-R1V3 是一个 38B 开源视觉语言模型。它不靠额外继续预训练,而是把文本 LLM 的推理模式通过冷启动 SFT 注入 VLM,再用 GRPO 在 15K 多模态数学题上做强化学习,最后用 connector-only 微调把知识分布拉回多学科。MMMU 达到 76.0%;域外 MMMU 上 RL 到 74.5%,而 SFT 反而掉到 65.4%。

Skywork AI, Kunlun Inc · Multimodal Team 原文 ↗ 模型页 ↗ 代码 ↗
TL;DR · 30 秒抓住核心

报告的核心不是新架构,而是一套后训练配方:冷启动 SFT 把 R1V2 的推理风格迁到 InternVL-38B;RL 阶段用 15K 多模态数学题和 GRPO 激活推理;RL 后再用 10K 跨 20 个领域的数据只训练 connector,恢复被数学数据拉偏的知识分布。

三个关键观察:一,connector 在 RL 阶段必须可训练,冻结后奖励迅速崩塌;视觉编码器冻结仍能训练,但解冻有额外收益。二,用“关键推理 token 的熵”挑 checkpoint——真正会推理的模型在 “Wait…/Alternatively…” 处更不确定,只会模仿风格的模型更确定。三,RL 提升域外泛化,SFT 只学到推理风格:Table 3 里 RL 的 OOD MMMU 是 74.5,SFT 是 65.4,低于 baseline 的 68.1。

代价与边界:MMMU 76.0 是表内最高,但 MathVision、LogicVista、SeePhys、EMMA 仍低于 Claude 3.7 Sonnet;MMBench 虽高于 Claude 3.7 Sonnet 与 GPT-4o,仍低于 InternVL3-78B 和 Qwen2.5-VL-72B;MMStar 低于 Qwen2.5-VL 0.2 点。作者自述报告范围窄,不研究视觉编码器与 LLM 预训练,也把视频、Agent、工具调用列为未来工作。

76.0%
MMMU val(Avg@5);Claude 3.7 Sonnet 75.0%
74.5%
RL 后的域外 MMMU;SFT 65.4%,baseline 68.1%
18%
NoWait 相对 Slow Thinking 的 token 降幅(232/1272=18.2%);准确率 74.1%
01

开源 VLM 缺的不是参数,是会推理的后训练

读完这节应该知道:为什么直接搬到 VLM 的文本 RL 配方不够用。

报告开头的判断是:闭源 VLM(Gemini Pro 2.5、OpenAI o 系列、Seed-VL)在多模态推理上领先,开源模型(QwenVL、InternVL、LLaVA)不仅性能落后,还缺少结构化的思考模式。文本 LLM 这边,DeepSeek-R1 一类模型已经用 RL 把长 CoT 做出来了;但视觉侧的多模态数据异质、标注稀缺,直接套文本 RL 配方不够(§1)。

论文把差距归因到后训练:基座 InternVL-38B 已经具备视觉理解,缺的是“先想再答”的推理行为。R1V2 的做法是把 InternViT-6B 与 QwQ-32B 拼起来,让视觉推理从文本推理继承过来;R1V3 则把这种推理风格作为冷启动数据,迁到 InternVL-38B,再用 RL 激活。整个流程不做额外继续预训练(Abstract、§3.2)。

核心判断

RL 激活的是“可泛化的推理”,不是“推理腔调”

§6.1 用同分布 MathVista 与域外 MMMU 对比 RL 与 SFT:两者都能把域内分数抬高、都能让输出“看起来像在推理”,但只有 RL 把域外分数从 68.1 提到 74.5;SFT 把域外分数压到 65.4。论文据此区分“真正推理”与“模仿推理风格”。

02

已有方案:拼接式迁移与直接套文本 RL,各有瓶颈

读完这节应该知道:本文之前的两条路为什么都不够,R1V3 从哪一步接上。

路线 A:拼接式视觉推理迁移(R1V2)。R1V2 直接把 InternViT-6B-448px-V2.5 与 QwQ-32B 拼起来,让视觉推理从文本推理继承(§3.2)。这条路能快速拿到推理风格,但瓶颈在继承:R1V2 的输出有可读性差、语言混杂的问题,需要再用 Skywork-VL-Reward 与 GPT-4o 过滤冗长样本;它的 CoT 幻觉(“I can’t see the image”)也被 R1V3 继承下来,本版没有解决(§3.2、§6.4、§8)。

路线 B:把文本 RL 配方直接搬到 VLM。论文明确说,文本 LLM 的 RL 技术不能直接迁移到 VLM,视觉模态整合带来不同挑战,需要 VLM-specific 的 RL 配方(§5)。没有冷启动、只靠指令自激励的 RL 也长不出长 CoT:Figure 11 里模型既没有持续的 “aha moment”,响应长度也不随奖励增长,后期还会崩(§6.6)。此外,VLM 的 connector 在 RL 中必须可训练,冻结会直接让奖励崩塌(§5.2)。

本文的位置

先用 R1V2 的推理链做冷启动,再做 VLM 专属 RL

R1V3 不额外做继续预训练:把 R1V2 的推理风格作为冷启动数据迁到 InternVL-38B,再用 GRPO 激活,最后用 connector-only 微调把知识分布拉回多学科(Abstract、§3)。

03

三阶段配方:冷启动 → RL → connector-only

读完这节应知道:每个阶段吃什么数据、奖励怎么构成、checkpoint 怎么挑。

冷启动 SFT。从中国高中难度的理科题里收集约 20K 题,覆盖物理、化学、生物、数学;用早期 R1V2 生成逐步推理,再用拒绝采样只保留最终答案正确的样本,得到约 12K 条带推理链的数据(§2)。这一阶段让模型学会 “think before answering” 的格式与节奏。

RL。15K 条 K12 多模态数学题,全部是选择题或填空题,只有题目与答案,没有推理步骤(§2)。奖励由格式奖励与准确率奖励组成,准确率权重 ε=0.8;准确率由模型验证器(如 Qwen2.5-Instruct 32B)或规则判定(§3.1)。算法用 GRPO,框架是 VERL(§3.3)。

Connector-only 微调。RL 数据几乎全是数学,模型的知识分布会向数学偏。RL 后用 10K 条、20 个领域的数据只训练 connector:数学、物理、化学、生物,工程、农业、环境、计算机,医学、药学,音乐、文学、哲学、历史,经济、心理、政治、社会、教育、法律(§2、§3.4)。

表 0 · 三阶段数据与目标(§2、§3.4;页面整理)
阶段数据量数据形态目标
冷启动 SFT约 20K 题 → 拒绝采样后约 12K中国高中难度理科题 + R1V2 生成的推理链注入 R1 风格的长 CoT
RL(GRPO)15KK12 多模态数学,选择题 / 填空题,无推理步骤用可验证奖励激活推理
Connector-only10K20 个领域,多学科多模态恢复被数学数据拉偏的知识分布

奖励、GRPO 与“关键 token 熵”

奖励。格式奖励 R_format = 1(c=1),表示回答符合 chat template;准确率奖励 R_accuracy 在模型验证器或规则判对时为 1,否则为 0。最终奖励是 R = ε·R_accuracy + (1−ε)·R_format,ε=0.8(Eq. 1–3)。也就是说,准确率是主目标,格式只占 0.2。

GRPO。对每个问题采样 M 条轨迹,用组内均值与标准差归一化最终奖励,得到 token 级优势;再套 PPO 的 clip 目标,并加 KL 正则(Eq. 6–7)。实现上每个 episode 采 1,024 条 rollout,每个 prompt 32 条;mini-batch 32,每个 episode 只做 1 次梯度更新;PPO clip 0.2;长 CoT 训练不加 KL;actor 学习率 1e−5;上下文与输出长度从 4,096 逐步加到 8,192(§3.3)。

关键 token 熵。§5.1 观察到一个区分现象:冷启动模型可以在训练/验证集上拿高奖励,但多数时候只是在重复已有模式。真正学会推理的模型,在 “Wait…”“Alternatively…” 这类推理起点 token 上会表现出更高的不确定性;只会模仿风格的模型在这些位置更确定。论文把这种熵作为 checkpoint 选择指标,Figure 5 显示它与验证集推理性能强相关。

口径

“熵下降”与“高熵 token 变多”同时发生

§6.5 / Figure 10 说:从第 140 步到第 220 步,生成 token 的平均熵持续下降;但高熵 token(熵 > 6.8)出现的概率反而上升。两者度量的是不同量:前者是逐步平均,后者是高熵样本的出现概率;原文没有把两者合成一个结论,页面并列呈现。原文给的是概率,不是计数。

04

怎么算:一张表看完数据、超参与缺失项

读完这节应知道:训练规模与可复现信息;报告没有给 GPU 小时。

数据规模是 12K 冷启动、15K RL、10K connector-only。RL 的算力开销主要来自每 episode 1,024 条 rollout,每条 prompt 32 条,最大长度 8,192;connector-only 阶段训练 2 epoch,global batch 64,学习率 1e−5,cosine decay、warmup 0.03,最大序列 16,384,按验证 loss 早停(§3.3–§3.4)。

阶段读数
约 20K 题经 R1V2 生成 + 拒绝采样,保留约 12K 条推理链;目标是注入 R1 风格长 CoT。
表 1 · 训练配置(§3.1–§3.4;原文没有给 GPU 型号/小时)
项目冷启动 SFTRL(GRPO)Connector-only
数据约 12K 推理链15K 数学题10K / 20 领域
可训练模块未说明全模块(含 connector、ViT)只训练 connector
batch / 长度未给1,024 rollouts;32 / prompt;mini-batch 32;4,096→8,192global batch 64;最大 16,384
学习率 / 其他未给1e−5;clip 0.2;无 KL;每 episode 1 步1e−5;cosine;warmup 0.03;2 epoch;早停
算力未给未给未给

“未给”是报告本身的信息缺口,不是页面漏抄:全文没有 GPU 型号、GPU 小时或总训练时长。可复现性因此主要依赖数据配方与超参,而不是算力预算推断(依据:§3.1–§3.4 逐项给出数据量、奖励设计与超参,全文未给 GPU 型号或 GPU 小时;这里的“依赖”是页面判断,不是原文明示)。写页面时保留这个缺口,比编一个估算更有用。

05

一条后训练流水线,三个模块

下图按 §2–§3 绘制,数据量见 Figure 2;虚线表示用关键 token 熵挑 checkpoint 的评测信号(§5.1、Figure 5),不是训练梯度。

基座 InternVL-38B 视觉理解已具备 冷启动 SFT 约 12K 推理链 R1V2 生成 + 拒绝采样 GRPO / VERL 15K 数学题 格式 + 准确率奖励 Connector-only 10K / 20 领域 只训练 connector 评测 VLMEvalKit Avg@5 checkpoint 选择 关键 token 熵 · Fig. 5 RL 阶段:全部模块可训练;connector 冻结会迅速崩 冻结 connector 奖励骤降、梯度不稳 输出退化为重复文本 冻结视觉编码器 训练仍能推进 但解冻有额外收益 RL 后知识偏移 数学数据主导 → 多学科分布被拉偏 connector-only 把分布拉回 依据:§2–§3、§5.1–§5.2、§5.6;数据量见 Figure 2,checkpoint 选择见 Figure 5 Figure 6A 的奖励曲线在冻结/解冻 ViT 下“largely consistent”;正文说解冻仍有额外性能收益

流水线里有两个容易忽略的点。第一,冷启动数据由早期 R1V2 生成,再经 Skywork-VL-Reward 与 GPT-4o 过滤掉 rambling、overly lengthy 的样本;所以 SFT 数据本身已经过一轮质量筛选(§3.2)。第二,RL 阶段“所有模块可训练”是刻意选择,§5.2 的消融说明 connector 是稳定学习的前提,视觉编码器则是附加优化。

06

MMMU 表内最高,但不是每个基准都领先

读完这节应知道:哪些分数领先、哪些落后,以及 RL 与 SFT 的域外差异。

主结果。Table 1 是 Avg@5。MMMU 76.0 是表内最高,比 Claude 3.7 Sonnet 的 75.0 高 1.0 点,比 Qwen2.5-VL-72B 的 70.3 高 5.7 点。数学侧,MathVista 77.1 比 Qwen2.5-VL 的 74.8 高 2.3 点,MathVerse 59.6 高 2.0 点,WeMath 56.5 高 5.9 点;物理侧 PhyX 52.8 比 Qwen2.5-VL 的 44.8 高 8.0 点。

但同一张表里也有落后:MathVision 52.6,比 Claude 3.7 Sonnet 的 58.6 低 6.0 点;EMMA 40.3,比 Claude 3.7 Sonnet 的 56.5 低 16.2 点;LogicVista 59.7,比 GPT-4o 的 64.4 低 4.7 点,也低于 Claude 3.7 Sonnet 的 60.6*(低 0.9 点);SeePhys 31.5,比 Claude 3.7 Sonnet 的 34.6 低 3.1 点;MMStar 70.6,比 InternVL3-78B 的 72.5 低 1.9 点,也低于 Qwen2.5-VL 的 70.8(低 0.2 点)。论文对 SeePhys 的原话是 “just below Claude 3.7 Sonnet’s 34.6% but higher than other open-source models”(§4)。

表 2 · 主结果(原文 Table 1,Avg@5;* 表示由作者评测框架得到)
BenchmarkMetricR1V3-38BQVQ-72B PreviewInternVL3-78BQwen2.5-VL-72BClaude 3.7 SonnetGPT-4o
MMMUval Acc.76.070.372.270.375.070.7
EMMAmini-cot Acc.40.332.038.339.356.536.0
MMMU-proAcc.55.446.9*48.651.150.054.5
MMK12Acc.78.562.7*67.4*70.5*55.349.9
MMStarAcc.70.660.872.570.868.865.1
MMBench-en-1.1Acc.85.772.6*87.788.082.084.3
HallusionBenchAcc.61.355.3*59.155.258.356.2
MathVistamini Acc.77.171.472.274.866.862.9
MathVersevision-only59.645.151.057.649.9*49.9
MathVisionAcc.52.635.943.138.158.631.2
WeMathstrict56.537.746.150.648.9*50.6
VisuLogicAcc.28.523.5*27.726.225.926.3
LogicVistaAcc.59.753.855.957.160.6*64.4
MME-reasoningAcc.42.835.232.134.134.130.2
PhyXmc-text-minimal52.835.2*40.544.841.643.8
SeePhysAcc.31.522.519.0*24.234.621.9

RL vs SFT:域外才是分水岭。Table 3 里 RL 与 SFT 都用数学数据:RL 用 15K K12 数学题,SFT 用从 R1V3-38B 蒸馏的 reasoning-style 数据。RL 把域内 MathVista 从 71.3 提到 77.2(高 5.9 点),域外 MMMU 从 68.1 提到 74.5(高 6.4 点);SFT 把域内提到 75.9,但域外掉到 65.4(低 2.7 点)。论文的结论是:RL 激活的是可泛化推理,SFT 更多是“印上推理风格”(§6.1)。

表 3 · RL 与 SFT 的域内/域外对比(原文 Table 3;域内 MathVista,域外 MMMU)
方法In-DomainOut-of-DomainReasoning Style
Baseline(冷启动)71.368.1—
RL77.274.5Yes
SFT75.965.4Yes

消融:connector-only 最好。RL 后 baseline 是 74.5;只调 connector 到 76.0;connector + LLM 降到 73.2;connector + ViT + LLM 降到 69.7(Table 2)。论文的解释是:过多更新核心模块会破坏 RL 强化的推理模式;只动 connector 能在吸收多领域知识的同时保留推理能力(§5.6)。

思考模式的取舍。Slow Thinking 平均 1,272 token、MMMU 76.0;NoThink 263 token、68.9;NoWait 1,040 token、74.1。NoWait 比 Slow 少 232 token,约 18%(232/1272=18.2%),准确率只低 1.9 点。§6.3 的 thinking budget 更像一条饱和曲线:1K 预算只有 61.6,2K 到 67.7(仍低于 NoThink 的 68.9,差 1.2 点),4K 72.3,8K 75.2,16K 76.0;从 1K 到 16K 共提升 14.4 点,但 8K 之后只增 0.8 点。

thinking budget
16K 预算 76.0,曲线在此饱和;比 1K 高 14.4 点。
手算对账 两组交互的柱高与差值

阶段图(§04)。冷启动 SFT:原始题 20、拒绝采样后 12,比例 12/20 = 60%;柱高以 max=20 归一,分别为 100% 与 60%。RL:1024 rollouts ÷ 32 per prompt = 32 prompts;柱高以 max=1200 归一,1024/1200 = 85.3%,32/1200 与 mini-batch 32 同为 2.7%。Connector:10000/20 = 500 条/领域;柱高以 max=10000 归一,10000/10000 = 100%,20/10000 不足 2%,JS 下限按 2% 显示。JS 公式:Math.round(value / max × 1000) / 10,即 value/max×100 保留一位小数。

预算图(§06)。1K 61.6 → 16K 76.0,差 76.0 − 61.6 = 14.4 个百分点;8K 75.2 → 16K 76.0,只增 0.8 点。柱高以 80 为满格:Math.round(acc / 80 × 1000) / 10,即 acc/80×100 保留一位小数;1K 为 77.0%,16K 为 95.0%。读数区只切换文案与 data-src,不参与柱高计算。

表 4 · 快慢思考模式(原文 Table 4;MMMU)
模式Avg TokensAccuracy
Slow Thinking1,27276.0
NoThink26368.9
NoWait1,04074.1

一个反常现象:CoT 里说“我看不到图”。Table 5 把 MMMU 的 900 道题按是否出现 “I can’t see the image” 拆分:没有出现的 853 题准确率 77.3,出现的 47 题只有 51.1,差 26.2 点。这个幻觉只出现在推理过程,不出现在最终回答;论文说它会破坏推理连贯性,机制留给社区(§6.4)。

表 5 · “I can’t see the image” 对 MMMU 的影响(原文 Table 5)
子集样本数Accuracy
全部90076.0
不含该句85377.3
含该句4751.1
07

报告的边界:窄范围、单模型、未解幻觉

先看作者自述,再看页面补充的使用边界。

§8 的自述限制有四条。第一,报告范围刻意收窄:不研究视觉编码器结构与 LLM 预训练,因此“提升通用视觉能力”不是目标。第二,数据 curation 仍是关键方向,需要更严格的数据筛选。第三,视频理解与 Agent 训练没有覆盖。第四,R1V2 继承来的 CoT 幻觉(“I can’t see the image”)会拖累推理,本版没有解决,只列为未来工作。

页面再补三点。第一,主表只有 38B 一个规模,没有 1.5B/7B/72B 的 scaling 曲线,无法判断配方在小模型上是否同样有效。第二,RL 数据全是 K12 数学选择题/填空题,奖励是可验证答案;open-ended 视觉推理、图表问答、多轮交互没有验证。第三,connector-only 的收益只在 MMMU 上做了消融(Table 2),论文没有给其他学科基准的逐项恢复情况。

别用 1

当成通用 VLM 配方

配方围绕数学可验证奖励设计;开放任务、视频、Agent 未验证,作者也把工具调用列为未来工作。

别用 2

忽略 connector 的稳定性作用

RL 阶段冻结 connector 会奖励崩塌、输出退化;connector 不是可选的“小模块”。

别用 3

把 SFT 当泛化手段

Table 3 显示 SFT 域内涨、域外跌;若目标是跨域推理,SFT 不能替代 RL。

还有两个原文内部张力,页面并列不消解。第一,§5.2 说冻结视觉编码器时奖励曲线 “largely consistent”,但又说解冻“continues to bring additional performance gains”;两句话分别描述训练过程与最终性能推断(依据:§5.2 原文 “the reward curve remains largely consistent” 修饰 Figure 6A 的训练曲线,“continues to bring additional performance gains” 修饰解冻 ViT 的最终收益;Conclusion 原文 “demonstrating remarkable generalization through cross-domain transfer—particularly from mathematical to other subject domains” 也只把结论落在最终泛化上),不能合成“冻结完全无影响”。第二,§7 自称 “the first predominantly RL-enhanced open-source VLM”,这是作者主张,报告没有给出与所有开源 VLM 的穷举对比;页面只把它当作原文表述,不当作已验证事实。