license: cc-by-nc-sa-4.0
base_model:
- OpenGVLab/InternVL3_5-2B
base_model_relation: finetune
datasets:
- QiZishi/OphReason-Vision
language:
- zh
tags:
- ophthalmology
- multimodal
- reasoning
- reinforcement-learning
OphVLM-R1
基于课程强化学习的高效眼科推理模型
模型简介
OphVLM-R1 是一个面向眼科多模态推理的轻量级 2B 参数视觉语言模型。模型以 InternVL3.5-2B 为基座,先通过 LoRA 监督微调(SFT)学习眼科领域知识,再通过四阶段课程强化学习逐步获得更复杂的临床推理能力。训练过程引入 Group Sequence-level Policy Optimization(GSPO)和困难样本动态回溯,以改善长推理轨迹及长尾困难病例的优化效果。
本 README 聚焦模型训练流程、模型框架与算法、实验性能结果。数据集构建流程及数量分布详见下方 OphReason-Vision 数据集仓库。
项目资源
- 项目主页:https://qizishi.github.io/OphVLM-R1/
- OphVLM-R1 模型:Hugging Face | ModelScope
- OphReason-Vision 数据集:Hugging Face | ModelScope
- OphAgent 系统:GitHub
模型与训练框架
OphVLM-R1 以 InternVL3.5-2B 为主干网络。2B 参数规模兼顾多模态临床推理能力与资源受限环境中的部署需求,整体训练分为两个阶段。
阶段一:LoRA 监督微调
冷启动阶段使用 Low-Rank Adaptation 注入眼科领域知识:
其中 、\(A \in \mathbb{R}^{r \times k}\),且 。SFT 目标函数为:
| 配置 | 数值 |
|---|---|
| 训练子集 | 3,418 条冷启动样本 |
| LoRA rank / scaling | ,\(\alpha=128\) |
| 目标投影层 | 、\(W_k\)、\(W_v\)、\(W_o\) |
| 学习率 | ,余弦退火 |
| 批次大小 / 轮数 | 32 / 3 epochs |
| 可训练参数 | 约占总参数的 0.5% |
阶段二:课程强化学习
GSPO 在序列级计算策略重要性比率,避免独立裁剪 token-level ratio:
采用 group-normalized advantage 的 PPO 风格目标函数:
各阶段使用混合奖励:
其中 judge reward 由 Intern-S1-mini 提供。课程难度依照临床诊断路径递增:
- 病灶定位(Lesion Localization):单图像视觉感知。
- 多图选择(Multi-image Selection):跨图像比较。
- 报告生成(Report Generation):结构化长文本综合。
- 知识问答(Knowledge Q&A):视觉发现与临床知识整合。
| 配置 | 数值 |
|---|---|
| 组大小 / 裁剪范围 | ,\(\varepsilon=0.2\) |
| 学习率 | |
| KL 系数 | |
| 奖励权重 | ,\(\lambda_2=0.4\) |
| 训练轮数 | 每个课程阶段 2 epochs |
困难样本动态回溯
最近 轮中持续获得低奖励的 prompt 会以 on-policy 方式重新采样:
其中 表示连续失败次数,\(\beta=2.0\)。重采样 prompt 每次都生成新的 rollout,且其占比不超过单个 batch 的 30%。
训练技术栈
- 硬件:8 块 NVIDIA GeForce RTX 4090(每块 24 GB)。
- SFT:使用 4 块 GPU。
- 强化学习:6 块 GPU 用于训练,2 块 GPU 用于 vLLM rollout 生成。
- 软件:ms-swift、DeepSpeed ZeRO-3、AdamW、vLLM 和 EvalScope。
模型实验
评测基准
| 基准 | 样本数 | 任务 / 来源数 | 用途 |
|---|---|---|---|
| In-Domain | 2,000 | 4 个任务 | 留出临床推理评测 |
| Fundus-MMBench | 620 | 31 个任务 | 细粒度眼底分析 |
| OmniMedVQA-Eye | 10,044 | 11 个来源 | 域外 VQA |
主要结果
表中指标为准确率(%)。由于不同基准的任务形式、难度和随机基线不同,跨基准平均值仅供参考,应优先进行同一基准内比较。
| 模型 | In-Domain | Fundus | Omni-Eye | 平均* |
|---|---|---|---|---|
| InternVL3.5-2B | 34.50 | 36.61 | 55.47 | 42.19 |
| InternVL3.5-4B | 36.23 | 42.10 | 77.51 | 51.95 |
| MedVLM-R1-2B | 27.80 | 20.81 | 68.06 | 38.89 |
| Lingshu-7B | 44.20 | 41.29 | 87.42 | 57.64 |
| HuatuoGPT-Vision-7B | 38.30 | 28.06 | 71.78 | 46.05 |
| FundusExpert-8B | 31.20 | 54.84 | 64.71 | 50.25 |
| OphthaReason-Intern-2B | 31.00 | 35.48 | 79.61 | 48.70 |
| OphthaReason-Qwen-3B | 36.60 | 38.87 | 86.86 | 54.11 |
| OphVLM-R1-2B(本文) | 38.40 | 42.58 | 88.24 | 56.41 |
OphVLM-R1 在 OmniMedVQA-Eye 和 Fundus-MMBench 上分别达到 88.24% 和 42.58%。其 56.41% 的参考平均值比 InternVL3.5-4B 高 4.46 个百分点,比 OphthaReason-Qwen-3B 高 2.30 个百分点。与 off-the-shelf 7B/8B 模型的比较同时受到训练数据暴露和参数规模差异影响,需要谨慎解读。
消融实验
| 配置 | In-Domain | Fundus | Omni-Eye | Omni |
|---|---|---|---|---|
| OphVLM-R1(完整) | 38.40 | 42.58 | 88.24 | — |
| 仅 SFT | 37.52 | 34.47 | 62.03 | -26.21 |
| SFT + 一次性 RL | 37.96 | 38.62 | 78.14 | -10.10 |
| SFT + 随机课程 RL | 37.73 | 37.85 | 76.48 | -11.76 |
| 移除阶段 1 | 38.14 | 40.43 | 85.62 | -2.62 |
| 移除阶段 2 | 38.02 | 40.17 | 85.13 | -3.11 |
| 移除阶段 3 | 37.88 | 39.72 | 84.38 | -3.86 |
| 移除阶段 4 | 38.07 | 40.31 | 85.47 | -2.77 |
| 使用 token-level GRPO | 37.84 | 39.76 | 84.52 | -3.72 |
| 移除困难样本回溯 | 38.11 | 40.83 | 86.12 | -2.12 |
消融结果表明,有序课程强化学习、序列级优化与困难样本回溯均带来独立贡献。所有结果均来自单次运行,未提供置信区间或显著性检验。此外,GSPO 的方差缩减理论在 per-token log-ratio 相互独立同分布时严格成立;对于自然语言 token 相关的实际情形,该结论是近似的。
引用
@inproceedings{qi2026ophvlm,
title={OphVLM-R1: Efficient Ophthalmic Reasoning via Curriculum Reinforcement Learning},
author={Qi, Zishi and Hu, Xiaoya and Pan, Huilin and Gao, Ang and Hou, Jiaxin and Li, Jiankun and Qian, Yongao},
booktitle={Proceedings of the World Artificial Intelligence Conference Academic (WAICA)},
year={2026}
}
致谢
感谢 OpenGVLab 提供 InternVL 基础模型,并感谢参与数据审核与质量控制的眼科医生。
