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)\) 判断教师答案是否正确,多选题就是简单的对错二值
只保留答对的链构成接受集 \(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 后训练有强实践指导意义