Skywork-R1V3 是一个 38B 开源视觉语言模型。它不靠额外继续预训练,而是把文本 LLM 的推理模式通过冷启动 SFT 注入 VLM,再用 GRPO 在 15K 多模态数学题上做强化学习,最后用 connector-only 微调把知识分布拉回多学科。MMMU 达到 76.0%;域外 MMMU 上 RL 到 74.5%,而 SFT 反而掉到 65.4%。
报告的核心不是新架构,而是一套后训练配方:冷启动 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、工具调用列为未来工作。
读完这节应该知道:为什么直接搬到 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)。
§6.1 用同分布 MathVista 与域外 MMMU 对比 RL 与 SFT:两者都能把域内分数抬高、都能让输出“看起来像在推理”,但只有 RL 把域外分数从 68.1 提到 74.5;SFT 把域外分数压到 65.4。论文据此区分“真正推理”与“模仿推理风格”。
读完这节应该知道:本文之前的两条路为什么都不够,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)。
R1V3 不额外做继续预训练:把 R1V2 的推理风格作为冷启动数据迁到 InternVL-38B,再用 GRPO 激活,最后用 connector-only 微调把知识分布拉回多学科(Abstract、§3)。
读完这节应知道:每个阶段吃什么数据、奖励怎么构成、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)。
| 阶段 | 数据量 | 数据形态 | 目标 |
|---|---|---|---|
| 冷启动 SFT | 约 20K 题 → 拒绝采样后约 12K | 中国高中难度理科题 + R1V2 生成的推理链 | 注入 R1 风格的长 CoT |
| RL(GRPO) | 15K | K12 多模态数学,选择题 / 填空题,无推理步骤 | 用可验证奖励激活推理 |
| Connector-only | 10K | 20 个领域,多学科多模态 | 恢复被数学数据拉偏的知识分布 |
奖励。格式奖励 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 显示它与验证集推理性能强相关。
§6.5 / Figure 10 说:从第 140 步到第 220 步,生成 token 的平均熵持续下降;但高熵 token(熵 > 6.8)出现的概率反而上升。两者度量的是不同量:前者是逐步平均,后者是高熵样本的出现概率;原文没有把两者合成一个结论,页面并列呈现。原文给的是概率,不是计数。
读完这节应知道:训练规模与可复现信息;报告没有给 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)。
| 项目 | 冷启动 SFT | RL(GRPO) | Connector-only |
|---|---|---|---|
| 数据 | 约 12K 推理链 | 15K 数学题 | 10K / 20 领域 |
| 可训练模块 | 未说明 | 全模块(含 connector、ViT) | 只训练 connector |
| batch / 长度 | 未给 | 1,024 rollouts;32 / prompt;mini-batch 32;4,096→8,192 | global 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 小时;这里的“依赖”是页面判断,不是原文明示)。写页面时保留这个缺口,比编一个估算更有用。
下图按 §2–§3 绘制,数据量见 Figure 2;虚线表示用关键 token 熵挑 checkpoint 的评测信号(§5.1、Figure 5),不是训练梯度。
流水线里有两个容易忽略的点。第一,冷启动数据由早期 R1V2 生成,再经 Skywork-VL-Reward 与 GPT-4o 过滤掉 rambling、overly lengthy 的样本;所以 SFT 数据本身已经过一轮质量筛选(§3.2)。第二,RL 阶段“所有模块可训练”是刻意选择,§5.2 的消融说明 connector 是稳定学习的前提,视觉编码器则是附加优化。
读完这节应知道:哪些分数领先、哪些落后,以及 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)。
| Benchmark | Metric | R1V3-38B | QVQ-72B Preview | InternVL3-78B | Qwen2.5-VL-72B | Claude 3.7 Sonnet | GPT-4o |
|---|---|---|---|---|---|---|---|
| MMMU | val Acc. | 76.0 | 70.3 | 72.2 | 70.3 | 75.0 | 70.7 |
| EMMA | mini-cot Acc. | 40.3 | 32.0 | 38.3 | 39.3 | 56.5 | 36.0 |
| MMMU-pro | Acc. | 55.4 | 46.9* | 48.6 | 51.1 | 50.0 | 54.5 |
| MMK12 | Acc. | 78.5 | 62.7* | 67.4* | 70.5* | 55.3 | 49.9 |
| MMStar | Acc. | 70.6 | 60.8 | 72.5 | 70.8 | 68.8 | 65.1 |
| MMBench-en-1.1 | Acc. | 85.7 | 72.6* | 87.7 | 88.0 | 82.0 | 84.3 |
| HallusionBench | Acc. | 61.3 | 55.3* | 59.1 | 55.2 | 58.3 | 56.2 |
| MathVista | mini Acc. | 77.1 | 71.4 | 72.2 | 74.8 | 66.8 | 62.9 |
| MathVerse | vision-only | 59.6 | 45.1 | 51.0 | 57.6 | 49.9* | 49.9 |
| MathVision | Acc. | 52.6 | 35.9 | 43.1 | 38.1 | 58.6 | 31.2 |
| WeMath | strict | 56.5 | 37.7 | 46.1 | 50.6 | 48.9* | 50.6 |
| VisuLogic | Acc. | 28.5 | 23.5* | 27.7 | 26.2 | 25.9 | 26.3 |
| LogicVista | Acc. | 59.7 | 53.8 | 55.9 | 57.1 | 60.6* | 64.4 |
| MME-reasoning | Acc. | 42.8 | 35.2 | 32.1 | 34.1 | 34.1 | 30.2 |
| PhyX | mc-text-minimal | 52.8 | 35.2* | 40.5 | 44.8 | 41.6 | 43.8 |
| SeePhys | Acc. | 31.5 | 22.5 | 19.0* | 24.2 | 34.6 | 21.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)。
| 方法 | In-Domain | Out-of-Domain | Reasoning Style |
|---|---|---|---|
| Baseline(冷启动) | 71.3 | 68.1 | — |
| RL | 77.2 | 74.5 | Yes |
| SFT | 75.9 | 65.4 | Yes |
消融: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 点。
阶段图(§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,不参与柱高计算。
| 模式 | Avg Tokens | Accuracy |
|---|---|---|
| Slow Thinking | 1,272 | 76.0 |
| NoThink | 263 | 68.9 |
| NoWait | 1,040 | 74.1 |
一个反常现象:CoT 里说“我看不到图”。Table 5 把 MMMU 的 900 道题按是否出现 “I can’t see the image” 拆分:没有出现的 853 题准确率 77.3,出现的 47 题只有 51.1,差 26.2 点。这个幻觉只出现在推理过程,不出现在最终回答;论文说它会破坏推理连贯性,机制留给社区(§6.4)。
| 子集 | 样本数 | Accuracy |
|---|---|---|
| 全部 | 900 | 76.0 |
| 不含该句 | 853 | 77.3 |
| 含该句 | 47 | 51.1 |
先看作者自述,再看页面补充的使用边界。
§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),论文没有给其他学科基准的逐项恢复情况。
配方围绕数学可验证奖励设计;开放任务、视频、Agent 未验证,作者也把工具调用列为未来工作。
RL 阶段冻结 connector 会奖励崩塌、输出退化;connector 不是可选的“小模块”。
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 的穷举对比;页面只把它当作原文表述,不当作已验证事实。