别再迷信"蒸馏最大模型"了:MMVistaReason 用开放数据把多模态推理后训练配方讲透了

做多模态推理后训练的朋友,大概率都踩过这几个坑:开源数据集七拼八凑,质量参差;想让小模型变聪明,就去蒸馏最大的 teacher;SFT 完直接一把梭混域 RL,结果 benchmark 一半涨一半跌。说实话,这些问题圈内吐槽很久了,但真把它当成一个系统工程来拆解、给出可复现配方的论文,不多。

arXiv 2610.01352 这篇 MMVistaReason(以下简称 MVR)就是这么一篇"配方型"论文。它不鼓吹某个单点创新,而是把从数据清洗、SFT 蒸馏、RL 筛选到多专家整合的整条链路摊开来讲,每一步都给了具体的筛选规则和消融数据。

核心摘要:MVR 是一套完全基于开放数据的多模态推理后训练方案,包含三个组件——Analytical/Real-World 双能力域覆盖、难度感知级联蒸馏(产出 MVR-SFT-528K 和 MVR-RL-63K 两个数据集)、specialize-then-integrate 训练(先训互补 RL 专家,再用多教师在线蒸馏 MOPD 合并)。最终 4B 模型在 15 个 benchmark 上平均 72.8 分,超过 Qwen3.5-9B Instruct,且比 MMFineReason-8B 少用约 70% 样本;9B 版本 74.4 分,反超 35B-A3B 的 Instruct 模型。一句话评价:这不是底层算法突破,但工程含金量很高,"监督难度要匹配学生容量"这个发现尤其值得记住。


📖 论文信息

  • 标题:MMVistaReason: Toward Open-Data and Post-Training Recipes for Multimodal Reasoning
  • 作者:Juekai Lin、Honglin Lin(共同一作)、Yuqian Yuan、Xiaolong Wu、Jie Cao、Liang Liang、Yunqi Cao、Yun Zhu、Wenqiao Zhang、Lijun Wu(通讯)
  • 机构:浙江大学、蚂蚁集团(AFu Team)、上海交通大学、同济大学
  • 日期:2026 年 10 月 1 日提交,10 月 22 日 v2
  • 链接:https://arxiv.org/abs/2610.01352 | 项目主页 https://github.com/JackieForest/MMVistaReason

🎯 动机:开放数据后训练的四座大山

论文把多模态推理后训练的痛点拆成了四个,每个都很扎心:

能力覆盖偏科。现有多模态推理数据清一色是数学、科学、图表这类"分析型"任务,而计数、空间理解、GUI grounding 这类真实世界能力几乎没人管。模型练成了一个只会做奥数的尖子生,出门不认识路。

蒸馏成本失控。传统做法是不管样本难度,统统丢给最大的 teacher 蒸馏,推理成本高得离谱。而且大 teacher 生成的轨迹未必适合小学生——你让一个博士生给小学生讲题,讲得再好,孩子跟不上也是白搭。

难度不平衡。SFT 想要的是"学生跳一跳够得着"的轨迹,RL 想要的是"当前策略还没完全掌握"的前沿样本。这两个需求矛盾,一个数据管线很难同时满足。

跨域干扰。把数学和 GUI 数据混在一起做 RL,negative transfer 是家常便饭。但分开训专家又面临整合难题——怎么把多个专家揉成一个不打架的通用模型?

MVR 的三个组件正好一一对应这些痛点。这种"问题—方案"严格对齐的写法,我其实很吃这一套,说明作者是真的在工程里趟过坑,而不是为了凑贡献点。

Figure 1:MMVistaReason 整体表现与数据覆盖

Figure 1:左侧是 MVR-4B 与 MMFineReason-8B、Qwen3.5-4B (Thinking)、GPT-5.1、InternVL3.5-241B-A28B 在 5 个代表性 benchmark 上的对比——注意 OSWorld-G 上 58.5 对 48.3 的差距;右侧两个环形图是 MVR-SFT-528K(Science 173K、Mathematics 131K、Chart/Table/Doc 110K 为主)和 MVR-RL-63K(Real-World 24K + Analytical 39K)的域分布。


🏗️ 方法:一条三段式的完整流水线

整个 MVR 流水线分三大块:数据清洗、数据构建(SFT + RL)、训练与整合。先看总览图。

Figure 2:MMVistaReason 配方总览

Figure 2:左上 Data Cleaning Recipe 从 MMR1、DeepVision、PRISM、Vero、SciMM、MMFineReason 等开源池子出发,经过去重/质量过滤和 MLLM 辅助清洗得到标准化数据;右侧 Data Construction Recipe 分三步——难度过滤、级联 SFT 轨迹构建、RL 数据筛选;左下 Model Training and Integration Recipe 是 SFT Generalist → 双 RL 专家 → Multi-Teacher OPD 整合出统一模型。

数据清洗:规则 + MLLM 双管齐下

清洗这块没什么玄学,但做得到位:

  • 去重与质量过滤:SHA-256 哈希 + pHash 感知哈希 + CLIP 语义相似度三重查重;丢掉损坏、低分辨率、空白、模糊、极端长宽比的图。
  • MLLM 辅助清洗:用 Qwen3.5-122B-A10B 做六步处理——语言标准化(非英文翻成英文)、无关内容移除(水印广告题号)、可答性过滤、指令精炼、答案提取、答案规范化。

其中"可答性过滤"我觉得是被很多工作忽略的一步。多模态数据里有大量"光看图根本答不出来"的样本,留着它们只会让模型学会瞎编。

SFT 数据构建:难度感知的级联蒸馏

这是全文我觉得最值钱的设计。核心思路一句话:别用一个 teacher 硬撑全场,让不同难度的样本匹配不同强度的 teacher。

具体三步走:

第一步,用小模型测难度。拿 Qwen3.5-4B Instruct 对每个样本生成 4 个响应,算验证通过率:

\[p_{4B}(z) = \frac{1}{4} \sum_{k=1}^{4} V(y_k, a)\]

只保留 \(p_{4B}(z) = 0\) 的样本——也就是小模型连蒙四次都答不对的。琐碎样本直接扔掉,不浪费蒸馏成本。

第二步,级联拒绝采样。同族教师由弱到强排队:Qwen3.5-9B → 27B → 122B。每个教师生成 4 个响应,样本分配给"第一个能答对的教师":

\[j^*(z) = \min\{j \mid |\mathcal{Y}_j(z)| > 0\}\]

9B 能解决的绝不麻烦 27B,27B 能解决的绝不上 122B。所有教师都答不出来的样本直接丢弃——这类样本要么太难,要么标注本身有噪声。

第三步,Answer-Likelihood Best-of-N 选轨迹。一个样本可能有多个正确轨迹,选哪条?MVR 按最终答案 token 的归一化对数似然排序:

\[y^*(z) = \arg\max_y \frac{1}{|a|} \sum_t \log p_T(a_t \mid x, r_y, a_{\lt t})\]

归一化是为了消掉答案长度偏差。直觉上说,模型对答案越"确信",说明这条轨迹的推理路径越顺,学起来越稳。所有响应再由 Qwen3.5-27B 做 judge,兼顾答案正确性和推理一致性。

最终产出三个子集,合计 528K:

子集 蒸馏教师 样本数 Tokens 平均长度 中位长度
MVR-SFT-355K Qwen3.5-9B 354,886 631.72M 1,780 900
MVR-SFT-124K Qwen3.5-27B 124,010 309.30M 2,494 1,031
MVR-SFT-49K Qwen3.5-122B 48,913 103.04M 2,107 670
MVR-SFT-528K 全部 527,809 1.04B 1,978 906

有个细节我觉得挺关键:355K 子集(9B 教师产出)贡献了 Science、Math、Logic、Chart 这些推理密集域的 64.1% 到 73.2%,而最难的 49K 子集(122B 教师)更偏 GUI/Web 任务(占 38.3%)。难度和域不是正交的,这个分布差异对后面的实验结论很关键。

RL 数据构建:规模专属的前沿筛选

RL 阶段要的是"会一半"的样本——全会了没学习信号,全不会是噪声。MVR 的做法是:

  • 从 SFT 阶段筛过的 hard pool 出发,用对应规模的 SFT 模型生成 8 个 rollout,算通过率 \(p_{SFT}^{(s)}(z) = \frac{1}{8} \sum V(y_i, a)\);
  • 保留答对 1 到 7 次的样本,优先 2 到 6 次的;全对和全错的都扔掉;
  • 按 Real-World(24K)和 Analytical(39K)两组均衡采样,合计 MVR-RL-63K。

注意"对应规模"这三个字。4B 模型的 RL 数据用 4B SFT 模型筛,9B 的用 9B 筛。这就是 scale-specific 的含义——前沿是相对于学生自己而言的,不是绝对难度。最终 63K 中 83.83% 的样本落在通过率 0.375–0.625 区间,还有 19.1% 是"teacher 全都没解出来"的硬骨头,留给 RL 去啃。

训练与整合:specialize-then-integrate

训练分三阶段:

  1. SFT Generalist:在 MVR-SFT-528K 上从 Qwen3.5-Base 全量微调,用 LLaMA-Factory。
  2. RL 专家特化:Real-World 和 Analytical 两个专家各自在对应子集上做 GSPO(序列级重要性比率,全局 batch 256,每样本 8 rollouts,VeRL 实现),奖励由 Qwen3.5-27B 作为 judge 判定答案正确性。
  3. MOPD 整合:学生从 SFT generalist 初始化,采样时按推理组路由到对应专家,专家对学生实际访问的前缀提供 top-32 token 分布的在线蒸馏监督。

MOPD 里有个有意思的细节:作者同时试了 Forward-KL(教师分布对学生的 KL,广覆盖)和 Reverse-KL(学生对教师的 KL,mode-seeking,带 top-K 截断偏差校正)。后面实验会看到,这两个方向的最优选择居然随模型规模变化——这个发现我后面细聊。


📊 实验:4B 打 9B,9B 打 35B

主实验

15 个 benchmark(6 个 Real-World + 9 个 Analytical),评估用 VLMEvalKit,贪心解码,最大生成长度 16,384 tokens。核心数字:

模型 Real-World 平均 Analytical 平均 总平均
GPT-5.1 83.0 69.1 74.6
Gemini-3 Flash 85.1 71.5 76.9
Qwen3.5-9B (Instruct) 81.9 65.6 72.1
Qwen3.5-35B-A3B (Instruct) 82.7 68.4 74.1
InternVL3.5-241B-A28B 79.8 63.2 69.9
MMFineReason-8B 78.7 65.8 70.9
MVR-4B 82.0 66.6 72.8
MVR-9B 83.8 68.1 74.4

几个让我挑眉的数字:

  • MVR-4B 总平均 72.8,超过 Qwen3.5-9B Instruct 的 72.1——一半参数打赢两倍模型,而且比 MMFineReason-8B 少用约 70% 的 SFT 样本。
  • MVR-9B 总平均 74.4,反超 Qwen3.5-35B-A3B Instruct 的 74.1。MoE 模型的激活参数虽然只有 3B 级别,但 35B 总参数摆在那,这个反超含金量不低。
  • OSWorld-G(GUI grounding)上 MVR-4B 拿 58.5,而 MMFineReason-8B 只有 48.3,差了 10 个点。Real-World 能力确实是传统推理数据的盲区,补上之后收益立竿见影。
  • 不过要冷静:跟 Gemini-3 Flash(76.9)和 GPT-5.1(74.6)比,开源模型整体还有差距,尤其 Analytical 域(71.5 vs 66.6)。闭源模型的推理深度目前还是压一头。

数据规模消融:更多数据不总是更好

这是全文我最喜欢的一张图,直接挑战了"数据越多越好"的直觉。

Figure 4:不同学生容量下数据规模与性能的权衡

Figure 4:横轴 SFT 样本数,纵轴平均分,气泡大小代表模型容量(2B/4B/9B),颜色深浅代表数据规模。三条水平虚线分别是 Qwen3.5-4B-Base、9B-Base 和 9B-Instruct 的参考线。

读出来的结论相当反直觉:

  • 2B:49K → 528K,63.9 → 65.6,单调上涨,小模型确实吃数据量。
  • 4B:69.8 → 70.8,缓慢上涨,勉强追平 Instruct 基线 70.4。
  • 9B:非单调!只用 27B 教师产出的 124K 中等难度子集就到 72.3,追平全量 528K;反而同容量 9B 教师产出的 355K 子集只有 71.7。

你想想看,这说明什么?对更大容量的学生,监督难度比数据规模重要。9B 模型配 9B 教师,难度太匹配反而学不到新东西;配 122B 教师又太难;27B 教师的"跳一跳够得着"区间才是甜点。而小模型(2B/4B)则从跨难度混合监督中受益最多。

这个结论对工程实践的指导意义很直接:别再无脑蒸馏最大模型了,先测测你的学生容量在哪,再选 teacher。

轨迹选择消融

Answer-Likelihood Best-of-N 相对随机选择正确轨迹,4B 上平均涨 0.29 分,9B 上涨 0.24 分。单项看,4B 上 CV-Bench-3D 和 MMMU 各涨 1.0,9B 上 MathVista 涨 1.1。增益不算爆炸,但稳定为正,而且成本低——只是改个选择策略。

还有一点:"最长轨迹"策略不稳定:冗余和噪声会拖累训练,但 9B 上部分多步推理任务又能受益。轨迹质量和学生容量之间的交互,这篇论文开了个头,但没完全讲透,说实话我觉得这里还能再挖一篇。

专家特化与 MOPD 整合:全文最核心的表

阶段 4B Real-World 4B Analytical 4B 总平均 9B Real-World 9B Analytical 9B 总平均
SFT 79.7 64.9 70.8 81.6 66.1 72.3
RW Expert 82.7 64.3 — 84.5 66.0 —
Ana. Expert 79.2 66.6 — 81.6 68.2 —
MOPD 82.0 66.6 72.8 83.8 68.1 74.4

这张表要讲的故事有三层:

专家确实专。RW Expert 把 Real-World 从 79.7 推到 82.7(4B),Ana. Expert 把 Analytical 从 64.9 推到 66.6。各自领域内提升明显。

专家有代价。RW Expert 的 Analytical 掉到 64.3,Ana. Expert 的 Real-World 掉到 79.2——单专家训练在自己域外是有损伤的。9B 规模下这种跨域干扰更弱,又一次印证容量缓解干扰。

MOPD 不是折中,是超越。MOPD 在 15 个 benchmark 上全部不低于 SFT,更狠的是在 CountBenchQA、SFE、MMMU_val 上同时超过两个专家教师。学生比老师强,这就是在线蒸馏相对离线整合的妙处——专家是在学生实际访问的状态分布上给监督,不是各教各的。

Mixed-RL vs MOPD:负迁移的实锤

Figure 6:Mixed-RL 与 MOPD 在不同 KL 方向下的逐 benchmark 对比

Figure 6:上为 4B,下为 9B;行是 SFT、Mixed-RL、MOPD-RKL、MOPD-FKL 四种配置,列是 15 个 benchmark;绿色越深代表相对 SFT 提升越大,红色代表回落。

热力图上一眼就能看出 Mixed-RL 的问题:4B 上 15 个 benchmark 有 7 个被染红(低于 SFT),最大跌幅 0.7(MMMU_val 和 SFE)。虽然总分从 70.8 涨到 71.3,但这个涨是以部分能力退化为代价换来的。9B 上好一些,只有 4 个回落、最大跌幅 0.3——容量大确实能扛干扰,但扛不干净。

MOPD 两行则几乎全绿。这就是 specialize-then-integrate 相对一把梭混训的核心卖点。

还有一个细节:KL 方向的选择随规模翻转。4B 上 Forward-KL 更优(72.8 vs 72.3),9B 上 Reverse-KL 略优(74.4 vs 74.2)。作者的解释是 RKL 的 mode-seeking 行为随学生容量增大更有利,小学生则更适合 FKL 的宽分布匹配。两个方向差距都很小(0.2–0.5 分),真正的结论其实是:基于专家的在线整合机制本身,比 KL 方向的选择重要得多。


🔬 一些批判性思考

夸完了,说几个让我皱眉的地方。

Teacher 全是 Qwen3.5 同族模型,存在自蒸馏偏差。4B 测难度、9B/27B/122B 做教师、27B 当 judge,全是一家子。同族教师和学生之间的"亲和性"会不会让结论只在 Qwen 系上成立?换一个异构教师(比如 InternVL 系)来蒸馏,级联策略的甜点位置会不会漂移?论文没回答这个问题。

"超过 35B" 要打个小折扣。Qwen3.5-35B-A3B 是 MoE,激活参数约 3B,总平均分 74.1 vs MVR-9B 的 74.4,差距只有 0.3,在评估噪声范围内。标题党的风险不大,但也别真当成"9B 吊打 35B"。

负迁移的归因还不够深。Mixed-RL 为什么偏偏在 MMMU 和 SFE 上跌?是域间的梯度冲突,还是 reward 尺度不匹配?论文停留在现象层面,没给出机制层面的分析。对想复现并改进的人来说,这里是个坑。

工程细节披露得很全,这是加分项。GSPO 的超参、judge 的选择、top-K=32 的蒸馏设置都给了,GitHub 仓库也开了,复现门槛低。


💡 我的判断

这篇论文的真实定位:一份高质量的多模态推理后训练工程配方,而非算法突破。

值钱的不是某个单点技术——级联蒸馏、frontier filtering、多教师蒸馏,拆开看每一个都有前作影子。值钱的是把它们严丝合缝地组装起来,并且用扎实的消融回答了三个工程上反复被问到的问题:数据是不是越多越好(不是,要匹配容量)、混域 RL 行不行(有负迁移,慎用)、多个专家怎么合(在线蒸馏,别离线揉)。

如果你正在做多模态模型的后训练,有三件事可以直接抄走:

  1. 用小模型先测难度,别拿最大 teacher 无脑蒸馏全场,推理成本能省一大截;
  2. RL 数据按学生规模筛前沿,8 次 rollout 答对 1–7 次的样本才是有效学习信号;
  3. 混域 RL 之前先想想专家化路线,尤其你的模型在 7B 以下,负迁移真的会咬人。

数据集 MVR-SFT-528K 和 MVR-RL-63K 都是开放的,对社区是实打实的贡献。比起又刷一个 SOTA 数字,这种"把配方写明白"的论文,可能对行业的长期价值更大。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我