medmax-eval
MedMax: Mixed-Modal Instruction Tuning for Training Biomedical Assistants — Bansal et al. (2024) (arXiv:2412.12661, 2024)
What this evaluates
Evaluates biomedical multimodal foundation models across visual question answering, image captioning, image generation, visual chat, and interleaved text-image generation. It probes the model's ability to understand medical images, reason over clinical reports, and generate clinically grounded multimodal responses.
Datasets
- VQA-RAD — total ?; splits: test (-1)
- SLAKE — total ?; splits: test (-1)
- PathVQA — total ?; splits: test (-1)
- QuiltVQA — total ?; splits: test (-1)
- PMC-VQA — total ?; splits: test (-1)
- PathMMU — total ?; splits: validation (-1)
- ProbMed — total ?; splits: test (-1)
- OmniMedVQA — total 1000; splits: hidden (1000)
- PMC-OA — total 800; splits: test (800)
- MIMIC-CXR — total 400; splits: test (400)
- Quilt-1M — total 400; splits: unseen (400)
- LLaVA-Med — total 193; splits: test (193)
- MedMax-Instruct — total 500; splits: hidden (500)
Metrics
Accuracy (EM) (primary) — range: [0, 1]
- Exact match between the model's predicted answer and the ground-truth answer. Returns 1 if they match exactly, 0 otherwise. Averaged over all instances.
Accuracy (LLM) — range: [0, 1]
- An LLM (GPT-4o-mini) compares the predicted answer against the ground-truth answer and assigns a score of 0 or 1 based on reliability. Averaged over open-ended questions.
BioMedCLIPScore — range: [0, 1]
- Computes the similarity score from the BioMedCLIP model between the input image and the predicted caption (or generated image).
LLM score — range: [0, 1]
- An LLM scores the predicted answer out of 10 conditioned on the question and image context. The final metric is the average relative prediction score: score(predicted) / score(reference).
Image-Image BioMedCLIPScore — range: [0, 1]
- Computes the image-image similarity score from the BioMedCLIP model between the generated image and the reference image.
Input / output format
Input: Multimodal input consisting of a medical image paired with a text prompt (question, captioning instruction, or generation query).
Output: Text response (answer, caption, or chatbot reply) or interleaved text-image response for generation tasks.
Scoring recipe
def score_vqa(preds, golds, mode):
scores = []
for p, g in zip(preds, golds):
if mode == 'EM':
scores.append(1.0 if p.strip() == g.strip() else 0.0)
elif mode == 'LLM':
scores.append(llm_compare(p, g)) # GPT-4o-mini returns 0 or 1
return sum(scores) / len(scores)
def score_caption_gen(image, pred_caption):
return biomedclip_similarity(image, pred_caption)
def score_chatbot(pred_ans, ref_ans, question, image):
pred_score = llm_score(pred_ans, question, image) # out of 10
ref_score = llm_score(ref_ans, question, image) # out of 10
return pred_score / ref_score
Common pitfalls
- Open-ended VQA answers are subjective; using exact match instead of LLM evaluation unfairly penalizes semantically correct but differently phrased answers.
- The LLM score for chatbot/generation is a relative ratio (predicted/reference), not an absolute score, which can amplify reference quality differences.
- Contamination must be explicitly checked: ensure no exact matches between instruction-tuning data and evaluation splits, as noted in the paper's contamination analysis.
Evidence (verbatim from paper)
Subsequently, we compute the BioMedCLIPScore to assess the closeness between the input image (caption) and predicted caption (image).
Citation
@misc{bansal2024medmax,
title={MedMax: Mixed-Modal Instruction Tuning for Training Biomedical Assistants},
author={Bansal et al. (2024)},
year={2024},
note={arXiv:2412.12661}
}
1---2name: medmax-eval3description: Evaluates biomedical multimodal foundation models across visual question answering, image captioning, image generation, visual chat, and interleaved text-image generation. It probes the model's ability to understand medical images, reason over clinical reports, and generate clinically grounded multimodal responses. Use when the user wants to benchmark on VQA-RAD, SLAKE, PathVQA, QuiltVQA, PMC-VQA, PathMMU, ProbMed, OmniMedVQA, PMC-OA, MIMIC-CXR, Quilt-1M, LLaVA-Med, MedMax-Instruct, or asks about evaluating this task. Reports Accuracy (EM).4---56# medmax-eval78> MedMax: Mixed-Modal Instruction Tuning for Training Biomedical Assistants — Bansal et al. (2024) (arXiv:2412.12661, 2024)910## What this evaluates1112Evaluates biomedical multimodal foundation models across visual question answering, image captioning, image generation, visual chat, and interleaved text-image generation. It probes the model's ability to understand medical images, reason over clinical reports, and generate clinically grounded multimodal responses.1314## Datasets1516- **VQA-RAD** — total ?; splits: test (-1)17- **SLAKE** — total ?; splits: test (-1)18- **PathVQA** — total ?; splits: test (-1)19- **QuiltVQA** — total ?; splits: test (-1)20- **PMC-VQA** — total ?; splits: test (-1)21- **PathMMU** — total ?; splits: validation (-1)22- **ProbMed** — total ?; splits: test (-1)23- **OmniMedVQA** — total 1000; splits: hidden (1000)24- **PMC-OA** — total 800; splits: test (800)25- **MIMIC-CXR** — total 400; splits: test (400)26- **Quilt-1M** — total 400; splits: unseen (400)27- **LLaVA-Med** — total 193; splits: test (193)28- **MedMax-Instruct** — total 500; splits: hidden (500)2930## Metrics3132- `Accuracy (EM)` **(primary)** — range: [0, 1]33 - Exact match between the model's predicted answer and the ground-truth answer. Returns 1 if they match exactly, 0 otherwise. Averaged over all instances.34- `Accuracy (LLM)` — range: [0, 1]35 - An LLM (GPT-4o-mini) compares the predicted answer against the ground-truth answer and assigns a score of 0 or 1 based on reliability. Averaged over open-ended questions.36- `BioMedCLIPScore` — range: [0, 1]37 - Computes the similarity score from the BioMedCLIP model between the input image and the predicted caption (or generated image).38- `LLM score` — range: [0, 1]39 - An LLM scores the predicted answer out of 10 conditioned on the question and image context. The final metric is the average relative prediction score: score(predicted) / score(reference).40- `Image-Image BioMedCLIPScore` — range: [0, 1]41 - Computes the image-image similarity score from the BioMedCLIP model between the generated image and the reference image.4243## Input / output format4445**Input**: Multimodal input consisting of a medical image paired with a text prompt (question, captioning instruction, or generation query).4647**Output**: Text response (answer, caption, or chatbot reply) or interleaved text-image response for generation tasks.4849## Scoring recipe5051```python52def score_vqa(preds, golds, mode):53 scores = []54 for p, g in zip(preds, golds):55 if mode == 'EM':56 scores.append(1.0 if p.strip() == g.strip() else 0.0)57 elif mode == 'LLM':58 scores.append(llm_compare(p, g)) # GPT-4o-mini returns 0 or 159 return sum(scores) / len(scores)6061def score_caption_gen(image, pred_caption):62 return biomedclip_similarity(image, pred_caption)6364def score_chatbot(pred_ans, ref_ans, question, image):65 pred_score = llm_score(pred_ans, question, image) # out of 1066 ref_score = llm_score(ref_ans, question, image) # out of 1067 return pred_score / ref_score68```6970## Common pitfalls7172- Open-ended VQA answers are subjective; using exact match instead of LLM evaluation unfairly penalizes semantically correct but differently phrased answers.73- The LLM score for chatbot/generation is a relative ratio (predicted/reference), not an absolute score, which can amplify reference quality differences.74- Contamination must be explicitly checked: ensure no exact matches between instruction-tuning data and evaluation splits, as noted in the paper's contamination analysis.7576## Evidence (verbatim from paper)7778> Subsequently, we compute the BioMedCLIPScore to assess the closeness between the input image (caption) and predicted caption (image).7980## Citation8182```bibtex83@misc{bansal2024medmax,84 title={MedMax: Mixed-Modal Instruction Tuning for Training Biomedical Assistants},85 author={Bansal et al. (2024)},86 year={2024},87 note={arXiv:2412.12661}88}89```9091- arXiv: 2412.12661