--- license: cc-by-nc-sa-4.0 base_model: - OpenGVLab/InternVL3_5-2B base_model_relation: finetune datasets: - QiZishi/OphReason-Vision language: - en tags: - ophthalmology - multimodal - reasoning - reinforcement-learning ---

OphVLM-R1 project icon

OphVLM-R1

Efficient Ophthalmic Reasoning via Curriculum Reinforcement Learning

English · 简体中文

Project page OphAgent code

Model on Hugging Face Model on ModelScope

Dataset on Hugging Face Dataset on ModelScope

## Overview **OphVLM-R1** is a lightweight 2B-parameter vision-language model for ophthalmic multimodal reasoning. Starting from InternVL3.5-2B, it first acquires ophthalmic knowledge through LoRA supervised fine-tuning (SFT), then develops progressively harder clinical reasoning skills through four-stage curriculum reinforcement learning. Group Sequence-level Policy Optimization (GSPO) and hard-sample dynamic backtracking are used to improve optimization over long reasoning trajectories and difficult long-tail cases. This README focuses on the model training pipeline, architecture and algorithms, and experimental results. For dataset construction and distribution details, see the OphReason-Vision dataset repositories below. ## Project Resources - **Project page**: - **OphVLM-R1 model**: [Hugging Face](https://huggingface.co/QiZishi/OphVLM-R1) | [ModelScope](https://www.modelscope.cn/models/MoonNight/OphVLM-R1) - **OphReason-Vision dataset**: [Hugging Face](https://huggingface.co/datasets/QiZishi/OphReason-Vision) | [ModelScope](https://www.modelscope.cn/datasets/MoonNight/OphReason-Vision) - **OphAgent system**: [GitHub](https://github.com/QiZishi/OphAgent/) ## Model and Training Framework OphVLM-R1 uses InternVL3.5-2B as its backbone. Its 2B parameter scale targets deployment in resource-constrained settings while retaining multimodal clinical reasoning capacity. Training consists of two stages. ![Two-stage training pipeline](figures/two_stage_training.png) ### Stage 1: LoRA Supervised Fine-Tuning The cold-start stage injects ophthalmic domain knowledge with Low-Rank Adaptation: $$ W_0 + \Delta W = W_0 + BA, \qquad h = W_0x + \frac{\alpha}{r}BAx $$ where \\(B \in \mathbb{R}^{d \times r}\\), \\(A \in \mathbb{R}^{r \times k}\\), and \\(r \ll \min(d,k)\\). The SFT objective is $$ \mathcal{L}_{\mathrm{SFT}}=-\mathbb{E}\left[\sum_{t=1}^{\lvert y\rvert}\log\pi_\phi(y_t\mid x,y_{\lt t})\right]. $$ | Setting | Value | |---|---| | Training subset | 3,418 cold-start samples | | LoRA rank / scaling | \\(r=64\\), \\(\alpha=128\\) | | Target projections | \\(W_q\\), \\(W_k\\), \\(W_v\\), \\(W_o\\) | | Learning rate | \\(1\times10^{-4}\\) with cosine annealing | | Batch size / epochs | 32 / 3 | | Trainable parameters | Approximately 0.5% | ### Stage 2: Curriculum Reinforcement Learning GSPO computes the policy ratio at sequence level rather than independently clipping token-level ratios: $$ s_i(\phi)=\left(\frac{\pi_\phi(y_i\mid x)}{\pi_{\phi_{\mathrm{old}}}(y_i\mid x)}\right)^{\frac{1}{\lvert y_i\rvert}}=\exp\left(\frac{1}{\lvert y_i\rvert}\sum_{t=1}^{\lvert y_i\rvert}\log\frac{\pi_\phi(y_{i,t}\mid x,y_{i,\lt t})}{\pi_{\phi_{\mathrm{old}}}(y_{i,t}\mid x,y_{i,\lt t})}\right). $$ The PPO-style objective uses group-normalized advantages: $$ \mathcal{J}_{\mathrm{GSPO}}(\phi)=\mathbb{E}\left[\frac{1}{G}\sum_{i=1}^{G}\min\left(s_i\hat A_i,\operatorname{clip}(s_i,1-\varepsilon,1+\varepsilon)\hat A_i\right)\right]. $$ Each stage uses a mixed reward $$ r(x,y)=\lambda_1r_{\mathrm{rule}}(x,y)+\lambda_2r_{\mathrm{judge}}(x,y), $$ where the judge reward is produced by Intern-S1-mini. The curriculum follows increasing clinical complexity: 1. **Lesion Localization** — single-image visual perception. 2. **Multi-image Selection** — cross-image comparison. 3. **Report Generation** — structured, long-form synthesis. 4. **Knowledge Q&A** — integration of visual findings and clinical knowledge. | Setting | Value | |---|---| | Group size / clipping | \\(G=8\\), \\(\varepsilon=0.2\\) | | Learning rate | \\(5\times10^{-6}\\) | | KL coefficient | \\(\beta_{\mathrm{KL}}=0.04\\) | | Reward weights | \\(\lambda_1=0.6\\), \\(\lambda_2=0.4\\) | | Training length | 2 epochs per curriculum stage | ### Hard-Sample Dynamic Backtracking Prompts that repeatedly receive low rewards during the most recent \\(k=5\\) rounds are resampled on-policy: $$ P_{\mathrm{sample}}(x,y)\propto f(x,y)^\beta, $$ where \\(f(x,y)\\) is the consecutive failure count and \\(\beta=2.0\\). Resampled prompts always receive fresh rollouts, and the resampling share is capped at 30% of each batch. ### Training Stack - **Hardware**: 8 NVIDIA GeForce RTX 4090 GPUs (24 GB each). - **SFT**: 4 GPUs. - **Reinforcement learning**: 6 GPUs for training and 2 GPUs for vLLM rollout generation. - **Software**: ms-swift, DeepSpeed ZeRO-3, AdamW, vLLM, and EvalScope. ## Experiments ### Evaluation Benchmarks | Benchmark | Samples | Tasks / sources | Role | |---|---:|---:|---| | In-Domain | 2,000 | 4 tasks | Held-out clinical reasoning | | Fundus-MMBench | 620 | 31 tasks | Fine-grained fundus analysis | | OmniMedVQA-Eye | 10,044 | 11 sources | Out-of-domain VQA | ### Main Results Accuracy is reported in percent. The cross-benchmark average is reference-only because the benchmarks differ in task format, difficulty, and random baseline; per-benchmark comparisons are primary. | Model | In-Domain | Fundus | Omni-Eye | Avg.* | |---|---:|---:|---:|---:| | 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 (ours)** | 38.40 | 42.58 | **88.24** | 56.41 | OphVLM-R1 reaches 88.24% on OmniMedVQA-Eye and 42.58% on Fundus-MMBench. Its 56.41% reference average is 4.46 percentage points above InternVL3.5-4B and 2.30 points above OphthaReason-Qwen-3B. Comparisons with off-the-shelf 7B/8B models should be interpreted cautiously because data exposure and parameter scale are not controlled. ### Ablation Results | Configuration | In-Domain | Fundus | Omni-Eye | \\(\Delta\\) Omni | |---|---:|---:|---:|---:| | **OphVLM-R1 (full)** | **38.40** | **42.58** | **88.24** | — | | SFT only | 37.52 | 34.47 | 62.03 | -26.21 | | SFT + RL one-shot | 37.96 | 38.62 | 78.14 | -10.10 | | SFT + RL shuffled | 37.73 | 37.85 | 76.48 | -11.76 | | Without Stage 1 | 38.14 | 40.43 | 85.62 | -2.62 | | Without Stage 2 | 38.02 | 40.17 | 85.13 | -3.11 | | Without Stage 3 | 37.88 | 39.72 | 84.38 | -3.86 | | Without Stage 4 | 38.07 | 40.31 | 85.47 | -2.77 | | Token-level GRPO | 37.84 | 39.76 | 84.52 | -3.72 | | Without hard-sample backtracking | 38.11 | 40.83 | 86.12 | -2.12 | The ablations show that ordered curriculum RL, sequence-level optimization, and hard-sample backtracking make independent contributions. All reported results are single runs without confidence intervals or significance tests. In addition, the theoretical variance-reduction argument for GSPO is exact only under i.i.d. per-token log-ratio assumptions and is approximate for correlated natural-language tokens. ## Citation ```bibtex @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} } ``` ## Acknowledgements We thank [OpenGVLab](https://github.com/OpenGVLab/InternVL) for the InternVL foundation model and the ophthalmologists who contributed to data review and quality assurance.