GRASP: Group-Adaptive Hybrid RL-SFT Post-Training for Medical VQA without Reasoning Annotations
Organizations: National University of Singapore · Shandong Provincial Daizhuang Hospital
Abstract
Adapting general-purpose vision-language models (VLMs) to medical visual question answering (VQA) is valuable for helping clinicians read images and make diagnoses, but annotated data are scarce and provide only short answers, without reasoning annotations. Supervised fine-tuning (SFT) fits these labels but overfits to them and amplifies their biases, eroding out-of-domain (OOD) generalization. Reinforcement learning (RL) better preserves generalization but never uses the gold answer as a training target: GRPO-style algorithms learn from the contrast between correct and incorrect answers within a group of sampled responses, so all-correct or all-wrong groups give no correctness signal. Existing SFT-RL hybrids either apply SFT and RL in separate stages or switch between them per question, or need reasoning traces from experts or stronger models, which medical VQA data lack. We propose GRASP, which combines RL and SFT in every update using only short answers: RL lets the model explore its own reasoning, SFT teaches the gold answer after that reasoning to supply the direct supervision RL lacks, and their balance adapts to how well the model answers each question. Tuning only about 1% of the parameters with LoRA, GRASP outperforms all compared training objectives both in domain and on OOD open-ended questions across Qwen3-VL-8B, InternVL3-8B and Gemma 3-4B. On an OOD benchmark spanning eight imaging modalities, GRASP-trained InternVL3-8B and Qwen3-VL-8B beat all 10 compared general and medical VLMs in open-ended accuracy, including models trained on up to 2,600 times more data or with over 250 times more trainable parameters. We release MedTerse, a dataset of 12.9K short-answer questions, and our code at https://github.com/sea-comet/GRASP-MedVQA.
Figures & tables
| Group | RL signal | ||
| all-wrong | none | ||
| mixed | right vs. wrong | ||
| all-correct | none |
| In domain (local test splits, 6,600 questions) | OOD (OmniMedVQA) | ||||||||||||||
| open-ended | |||||||||||||||
| Objective | Type | Ep. | SLAKE | VQA-RAD | PathVQA | Val | Open | Y/N | All | CT | X-ray | MRI | Open | Y/N bal | All |
| Zero-shot | – | – | 43.4 | 52.5 | 59.6 | 36.6 | 15.2 | 68.5 | 51.9 | 1.0 | 24.2 | 30.1 | 15.9 | 63.6 | 25.6 |
| SFT | single | 2 | 71.3 | 54.2 | 66.8 | 47.0 | 32.9 | 76.0 | 62.5 | 19.8 | 34.5 | 31.6 | 22.9 | 47.1 | 21.2 |
| GSPO | single | 2 | 59.8 | 55.7 | 66.8 | 44.7 | 26.3 | 75.8 | 60.4 | 18.7 | 37.8 | 31.4 | 22.8 | 60.8 | 28.0 |
| GSPO-EGC | single | 2 | 64.3 | 56.4 | 67.8 | 47.3 | 29.5 | 77.1 | 62.2 | 18.6 | 42.9 | 31.6 | 24.2 | 61.7 | 29.3 |
| In domain | OOD (OmniMedVQA) | Kvasir | VQA-Med | |||||||||||
| Open | All | Open | All | All | All | |||||||||
| Model | Tuned | Data | EM | LLM | EM | LLM | EM | LLM | EM | LLM | EM | LLM | EM | LLM |
| Qwen3-VL-8B | – | – | 15.2 | 25.4 | 51.9 | 55.1 | 15.9 | 26.9 | 25.6 | 30.9 | 35.6 | 42.6 | 4.8 | 5.1 |
| InternVL3-8B | – | – | 16.6 | 27.4 | 49.7 | 53.3 | 19.2 | 30.1 | 22.2 | 31.5 | 38.7 | 40.7 | 5.1 | 5.7 |
| MedGemma-4B | 4.3B | 33.6M | 20.9 | 25.1 | 53.5 | 54.8 | 17.2 | 24.1 | 25.7 | 31.6 | 20.7 | 21.3 | 6.0 | 6.2 |
| MedGemma-27B | 27B | – ‡ | 26.0 | 33.2 | 55.3 | 57.5 | 15.3 | 21.2 | 20.9 | 25.9 | 33.4 | 34.3 | 8.2 | 8.8 |
| Components | In domain | Out of domain | ||||||||
| Variant | Simult. | Own | EGC | Open | All | Open | All | |||
| Grasp (2 ep.) | ✓ | cont. | ✓ | adapt. | ✓ | ✓ | 40.0 | 71.9 | 25.5 | 28.6 |
| answer only (no own ) | ✓ | cont. | ✗ | adapt. | ✓ | ✗ | 35.9 ( 4.1) | 69.7 ( 2.2) | 23.1 ( 2.4) | 24.0 ( 4.6) |
| exclusive switch (HPT) | ✗ | switch | ✓ | fixed | ✓ | ✓ | 36.2 ( 3.8) | 68.7 ( 3.2) | 24.2 ( 1.3) | 29.8 (+1.2) |
| constant | ✓ | const. | ✓ | fixed | ✓ | ✓ | 36.6 ( 3.4) | 68.6 ( 3.3) | 24.6 ( 0.9) | 27.0 ( 1.6) |
| w/o EGC | ✓ | cont. | ✓ | ✗ | ✓ | ✓ | 37.3 ( 2.7) | 69.2 ( 2.7) | 24.5 ( 1.0) | 27.6 ( 1.0) |
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
| Backbone / adapters | Qwen3-VL-8B-Instruct; BF16 LoRA , on attention and MLP layers; 102.7M parameters |
| Sequence / generation | 4,096 / 256 tokens |
| Group / batch | 8 rollouts; 12 questions per step |
| Sampling | temperature 1.15; fresh rollouts each step |
| Optimizer | 8-bit AdamW |
| Learning rate | , cosine, 10% warm-up |
| Epochs / steps | 2 / 2,148 |
| Run | L-all | L-open | O-open |
| Grasp ( ) | 71.35 0.56 | 39.72 0.27 | 25.34 0.24 |
| SFT ( ) | 62.89 0.31 | 33.35 0.46 | 22.91 0.06 |
| GSPO ( ) | 59.80 0.67 | 25.36 1.04 | 22.70 0.40 |
| In domain | OmniMedVQA | Kvasir | ||||||||||
| Open | All | Open | All | All | ||||||||
| Model | Tuned | Data | EM | LLM | EM | LLM | EM | LLM | EM | LLM | EM | LLM |
| Qwen3-VL-8B | – | – | 26.8 | 33.1 | 55.7 | 57.6 | 20.4 | 28.5 | 22.3 | 29.2 | 44.9 | 45.7 |
| InternVL3-8B | – | – | 32.0 | 35.5 | 56.6 | 57.7 | 21.3 | 28.1 | 25.3 | 31.1 | 40.3 | 41.0 |
| MedGemma-4B | 4.3B | 33.6M | 26.8 | 35.6 | 54.0 | 56.8 | 15.8 | 26.9 | 23.2 | 32.6 | 19.1 | 19.2 |
| MedGemma-27B | 27B | – | 26.5 | 34.8 | 53.9 | 56.5 | 18.2 | 25.2 | 17.2 | 23.2 | 27.3 | 30.9 |
| Setting | L-all | L-open | O-open |
| default ( ) | 71.4 | 39.7 | 25.3 |
| 68.7 | 35.9 | 25.0 | |
| 69.8 | 38.7 | 25.6 | |
| 69.4 | 37.5 | 25.0 | |
| 68.4 | 37.1 | 24.6 | |
| 69.0 | 37.3 | 24.6 |
| Sampling stratum | Consensus pairs | Judge agrees | |
| Judge same | 70 | 67 (95.7%) | 66/67 (98.5%) |
| Near different | 60 | 46 (76.7%) | 36/46 (78.3%) |
| Random different | 70 | 66 (94.3%) | 66/66 (100.0%) |
| All | 200 | 179 (89.5%) | 168/179 (93.9%) |
Medical VQA
Medical visual question answering studies how AI systems answer clinical questions using medical images and related patient or report data.
See all 175 papers