跳转至

OctoMed: Data Recipes for State-of-the-Art Multimodal Medical Reasoning

会议: CVPR 2026
论文: CVF Open Access
代码: https://huggingface.co/OctoMed (数据与模型)
领域: 医学图像 / 多模态VLM / LLM推理
关键词: 数据配方、监督微调、知识蒸馏、拒绝采样、医学多模态推理

一句话总结

不靠新架构、不靠更大的 backbone,而是系统研究"训练数据怎么配"——用强教师蒸馏 + 拒绝采样筛出 800 万条带结构化推理链的医学样本(68 亿 token),把一个 7B 学生模型(Qwen2.5-VL-7B)微调成 OctoMed,在多个分布外医学基准上取得开源 SOTA,且模型能在没有显式监督的情况下自适应调整推理链长度。

研究背景与动机

领域现状:当前训练医学推理模型的主流路线,是从通用多模态大模型(如 Qwen2.5-VL)出发,再用监督微调(SFT)或强化学习(RL)做后训练,让模型学会逐步推理。很多工作把注意力放在新训练目标、架构改动或更大的数据集上。

现有痛点:医学推理和开放域推理有本质差异——它要跨放射影像、病理切片、化验数值、临床记录等高风险异构模态整合信息,要在严重的分布漂移下保持可靠性。一旦训练数据混合得窄、不均衡,模型很容易在分布外(OOD)样本上过拟合崩掉。但偏偏"训练数据的组成本身该怎么设计"这件事,被研究得最少。

核心矛盾:近期研究发现,现在的 RL 范式大多只是在精修 SFT 阶段已经习得的行为,而非引入根本性的新推理模式。这意味着数据决定上限:模型最终能推理到什么程度,主要由 SFT 阶段看到的问题、模态、推理链混合所塑造,而不是后面的 RL 目标。

本文目标:回答一个数据中心的问题——什么样的"配方"(如何结构化、如何平衡、如何扩展多模态推理数据)能最有效地提升医学推理?拆成若干子问题:知识来源怎么选、提示格式用 CoT 还是直接答、要不要做难度过滤、一题保留几条推理链、用哪个教师模型。

切入角度:把数据配方当成一等公民来做控制变量实验,逐项消融,再把最优配方扩到 800 万规模。作者押注"高质量、多样化、推理链长度有变化的混合"会带来更好的泛化与自校准。

核心 idea:用"教师蒸馏 + 拒绝采样筛掉错误链 + 一题多条多样推理链 + 多来源多模态混合"这套数据配方,替代"堆架构/堆 RL/堆 epoch",把小模型的医学推理能力做到 SOTA。

方法详解

整体框架

OctoMed 走的是经典的"从强教师蒸馏到小学生"的 SFT 路线,但把功夫全花在数据上。形式化地,给定监督数据集 \(D=\{(x_i, y_i)\}_{i=1}^N\)\(x_i\) 是临床问题/影像问句,\(y_i\) 是正确答案,多选题时 \(y_i\) 来自有限选项集),用一个强教师 \(T\)(文本用 DeepSeek-R1、多模态用 GPT-4o)对每个问题生成中间推理步骤 \(r_i = (r_i^{(1)}, \dots, r_i^{(T_i)})\) 和最终答案 \(\hat{y}_i\)

关键在于拒绝采样:用打分函数 \(S(x_i, r_i, y_i, \hat{y}_i)\) 判断教师答案是否正确,多选题就是简单的对错二值

\[S(x_i, r_i, y_i, \hat{y}_i) = \begin{cases} 1, & \hat{y}_i = y_i \\ 0, & \text{否则} \end{cases}\]

只保留答对的链构成接受集 \(R^+ = \{(x_i, y_i, r_i)\mid S=1\}\),再用 \(R^+\) 微调学生 \(\sigma\)。这样既保证推理过程像样、又保证结论正确——这在医学这种安全攸关场景里是硬要求。整个方法本质是"教师生成 → 拒绝采样过滤 → 学生 SFT",没有 RL、没有复杂架构。真正的论文贡献是下面这几条数据配方上的设计选择,每一条都是用控制变量实验拍板的。

关键设计

1. 多来源混合优于单一来源:互补知识带来稳定泛化

医学任务横跨纯文本(USMLE 风格的 MedQA/HeadQA/MedMCQA)、多模态推理(MMMU-PRO、MedXpertQA 等,因缺训练集而用 PMC-VQA 训练分蒸馏)、多模态分类(眼底 Aptos/MESSIDOR2、病理 BCSS、脑肿瘤 MRI 等)三大类知识源。作者发现:只在单一来源上训练,模型在同类任务上最强、但对没见过的来源泛化很差;而把多个来源混在一起训练,学生能整合各来源知识、整体性能不退反升——多来源提供的是互补知识。纯文本问题是单看最强的来源,但混合才能在不损害域内表现的前提下提升泛化。

2. CoT 提示用于推理、直接提示用于感知:按任务类型选格式

提示模板对性能影响巨大。作者对比了 CoT 提示(先生成内部推理链再答)和直接提示(不推理直接答):在同一份 100k 子集上只改提示风格训两个学生。结果分化明显——CoT 在推理密集任务上大幅领先(多模态推理 38.15 vs 直接 23.08),直接提示在简单感知/分类任务上略好(分类总体 65.46 vs 63.33)。原因是分类任务(如糖网分级)更像一步到位的感知,硬加推理链反而引噪声。综合可用性与可解释性,SFT 阶段统一采用 CoT,但作者明确指出直接提示可看成"空推理链的 CoT",未来可训一个能切换两种思考模式的混合模型。

3. 一题多条推理链 + 拒绝采样:用多样性当正则,比多训 epoch 更值

数据有限但质量高时,怎么扩样本?作者在 MedQA 训练分上对每题采教师 16 次,分别只保留 1/4/16 条有效链做三组实验、各训 3 epoch(共 9 个 checkpoint)。发现两件事:早期阶段"多加一条链"和"多训一个 epoch"效果相近(如 1 条链训 3 epoch 得 75.16,约等于 4 条链训 1 epoch 的 76.50);但峰值性能会随链数单调上升——从 1 条链到 16 条链,MedQA 峰值从 75.16 抬到 85.01,提升近 10%。多样的推理链相当于一种正则化,提升泛化。配方因此定为:每题采教师 16 次、训 3 epoch。配合前面的拒绝采样过滤,整套"采样—过滤"链路保证保留下来的既多样又正确。

4. 推理型教师强于指令型教师,且过滤可省

教师选择上,作者比较 GPT-4o(指令跟随、支持多模态、简洁)与 DeepSeek-R1(推理强、解释详尽但仅文本):在约 30k 子集各训 1 epoch,发现两者都能提升纯文本医学任务,但 DeepSeek-R1 教师在域内和 OOD 上增益都更大——推理导向的模型族更适合当医学知识的教师;多模态数据因 R1 不支持图像而用 GPT-4o。另外作者还试了三种问题难度过滤(学生比例过滤、教师比例过滤、GPT-4.1-mini 当裁判按 1–10 打分留 3–6 难度),发现过滤只改善早期样本效率、最终峰值和不过滤的基线趋同,于是干脆不过滤以最大化数据覆盖,把质量把关交给拒绝采样。一个意外收获是 OctoMed 学会了"任务感知思考":在更难/OOD 的基准上自发生成更长更详细的推理链,这是一个可解释的任务难度信号——⚠️ 具体触发机制以原文为准。

损失函数 / 训练策略

全参数微调 Qwen2.5-VL-7B-Instruct,最终在 800 万推理链上训 3 epoch;学习率 5e-5、有效 batch size 512、cosine 调度 + 0.1 线性 warmup,训练框架用 llamafactory,推理用 vllm(最大响应 8192 token,最多 10 张 262,144 像素影像输入)。图像统一预处理到 512×512,并按 S1 的做法做 n-gram 文本与图像去重防泄漏,分类任务做分层采样平衡类别。

实验关键数据

主实验

数据集规模:总样本 8,095,571(视觉-语言 3,687,105 + 纯文本 4,408,466),唯一图像 494,328,唯一问题 1,808,981,平均问句 71 token、平均 CoT 840 token。

OctoMed-7B 与各模型在三类医学基准的总体表现(部分代表性数字):

任务类别 指标/基准 OctoMed-7B Qwen2.5-VL-7B MedGemma-27B GPT-4o DeepSeek-R1
纯文本 MedQA 90.81 57.99 85.17 90.72 93.16
纯文本 总体 67.83 48.10 66.56 72.77 76.05
多模态推理 总体 50.36 37.19 44.25 58.07
多模态分类 Brain Tumor 80.86 27.82 58.33 65.99

OctoMed 在同尺寸(7B)开源模型上各类基准全面领先;对 4 倍大的 MedGemma-27B 也在每个类别上整体超越;多模态分类上甚至超过自己的教师 GPT-4o(67.29 vs 53.96)。MedQA 90.8% 超过 GPT-4 base、Med-PaLM 2、MedGemma-27B 等强基线。

消融实验

消融维度 配置 关键结果 结论
提示格式 CoT vs 直接(多模态推理总体) 38.15 vs 23.08 推理任务用 CoT
提示格式 CoT vs 直接(多模态分类总体) 63.33 vs 65.46 感知/分类用直接更好
推理链数 1 / 16 条(MedQA 峰值) 75.16 → 85.01 多链当正则,峰值 +近10%
难度过滤 过滤 vs 不过滤 最终峰值趋同 不过滤换最大覆盖
教师模型 GPT-4o vs DeepSeek-R1(纯文本) R1 增益更大 推理型教师更强

关键发现

  • 链数是性价比最高的杠杆:早期"多一条链 ≈ 多一个 epoch",但提升峰值只有靠增加链的多样性(1→16 条 +近 10%),这是配方里最关键的一条。
  • 格式要分任务:CoT 不是万灵药,分类等一步到位的感知任务上直接提示反而更准。
  • 过滤主要影响样本效率而非峰值:所有过滤策略早期收敛更快,但最终都追平不过滤基线,因此把质量把关交给拒绝采样、保覆盖更划算(过滤对需要样本效率的 RL 后训练仍有价值)。
  • 涌现的任务感知推理:训练混合里既有长(R1)又有短(GPT-4o)的链,使模型在更难/OOD 任务上自发拉长推理,给出可解释的难度信号。

亮点与洞察

  • 把"数据配方"做成可控变量的科学:逐项消融知识来源、提示格式、链数、过滤、教师,再扩到 800 万规模,给医学多模态 SFT 提供了一份能直接照搬的"菜谱",比单纯发一个更大数据集更有方法论价值。
  • 小模型逆袭大模型:7B 的 OctoMed 在分类上超过教师 GPT-4o、整体超过 4 倍大的 MedGemma-27B,印证"高质量推理链规模化"可以替代"堆参数"。
  • 多样推理链 = 隐式正则:一题多条正确但不同的链,本质是给模型看"同一结论的多条合法路径",可迁移到任何蒸馏式训练里当数据增强。
  • 自校准推理长度:长短链混合训练带来的任务感知思考,提示未来可以用"模型自发的推理长度"反过来做数据过滤或难度估计。

局限与展望

  • 整套配方建立在"几乎全是可验证的多选题"之上,打分函数退化成对错二值;开放式生成任务的拒绝采样还需更复杂的评分(论文只提及可借助推理链额外信息),可靠性待验证。
  • 方法停在 SFT,未引入 RL;作者也承认当前 RL 多是精修 SFT 行为,但 RL 在样本效率(配合过滤)上的潜力没在本文展开。
  • "任务感知思考"是观察到的涌现现象,其触发条件与稳定性缺乏机制层面的解释——⚠️ 以原文为准。
  • 教师选择受可用性约束(R1 仅文本、多模态只能用 GPT-4o),多模态推理链的质量上限被 GPT-4o 限制。

相关工作与启发

  • vs LLaVA-Med / HuatuoGPT-Vision: 它们靠从生物医学图文对蒸馏 PubMedVision 类数据集开多模态推理之先河;OctoMed 不发新架构,而是系统研究"混合怎么配",并扩到目前最大的 800 万医学推理数据。
  • vs MedVLThinker / LingShu / MedGemma(SFT+RL): 这些在 SFT 之上叠 RL 做可验证推理;OctoMed 论证纯 SFT + 好配方就能打到 SOTA,把"数据"而非"目标函数"放在中心。
  • vs MedVLM-R1 / Med-R1(纯 RL,跳过 SFT): 它们靠 RL 目标提升样本效率;本文则提供了它们所依赖的高质量 SFT 数据本身该如何构建的答案。
  • vs Honeybee / FineVision(通用数据配方): 同样研究 VL 数据配方,但面向通用域;OctoMed 把"平衡模态覆盖 + 推理难度"的配方思想专门落到医学多模态。

评分

  • 新颖性: ⭐⭐⭐⭐ 不在架构而在数据配方上做系统消融,视角扎实但单项技术(蒸馏+拒绝采样)非首创
  • 实验充分度: ⭐⭐⭐⭐⭐ 五维消融 + 800 万规模 + 24 类基准 + 与大模型/教师对比,证据链完整
  • 写作质量: ⭐⭐⭐⭐ 每个实验都配 Takeaway,逻辑清晰;部分配方结论需对照图表细看
  • 价值: ⭐⭐⭐⭐⭐ 开源数据与模型,配方可直接复用,对医学 LLM 后训练有强实践指导意义