Medmarks

May 12, 2026 ยท View on GitHub

Website arXiv License: MIT Python

Open-source LLM benchmark suite for medical tasks.

medmarks.ai | arXiv:2605.01417

Medmarks is a comprehensive benchmark suite for evaluating medical capabilities in large language models. It includes 30 open-source benchmarks spanning question answering, information extraction, consumer health questions, clinical reasoning, EHR interactions, medical calculations, and open-ended medical tasks.

This repository contains the runnable benchmark environments, evaluation configs, result processing tools, and win-rate analysis pipeline used for Medmarks. It also contains the medarc_verifiers Python library, which provides the shared CLI, parsers, rewards, judging utilities, and orchestration helpers used by the benchmark environments.

Benchmark Suite

Medmarks is organized into three practical subsets:

SubsetDescription
Medmarks-VVerifiable tasks, including multiple-choice QA and other tasks with deterministic or programmatic grading
Medmarks-OEOpen-ended tasks evaluated with LLM-as-a-Judge
Medmarks-TExperimental training-capable environments with train/test splits for post-training and RL experiments

The benchmark suite is implemented as verifiers environments under environments/. The main runnable suite configs are:

ConfigPurpose
configs/medmarks-verified.tomlMedmarks-V suite
configs/medmarks-open_ended.tomlMedmarks-OE suite
configs/medmarks-endpoints.tomlPortable model aliases and sampling defaults for Medmarks runs
configs/medmarks-smoke.tomlSmall Medmarks-V sanity-check run

Quick Start

uv venv --python 3.12
source .venv/bin/activate
uv sync

Run a single benchmark:

uv run medarc-eval medqa -m openai/gpt-4.1-mini -n 25

Run a Medmarks suite config:

uv run medarc-eval bench --config configs/medmarks-verified.toml

Run a Medmarks suite with one of the published model aliases:

uv run medarc-eval bench \
  --config configs/medmarks-verified.toml \
  --endpoints-path configs/medmarks-endpoints.toml \
  -m gpt-oss-20b-low \
  --api-base-url https://api.pinference.ai/api/v1 \
  --api-key-var PRIME_API_KEY

configs/medmarks-endpoints.toml is an alias registry, not a deployment config. It maps names such as gpt-oss-20b-low or medgemma-27b-text to provider model IDs, client types, and model-specific sampling defaults. It intentionally omits url, key, and max_concurrent; supply those with --provider or with --api-base-url and --api-key-var for your deployment. The gpt-oss aliases use the Verifiers openai_responses client type.

Preview the resolved jobs before running:

uv run medarc-eval bench \
  --config configs/medmarks-verified.toml \
  --endpoints-path configs/medmarks-endpoints.toml \
  -m gpt-oss-20b-low \
  --api-base-url https://api.pinference.ai/api/v1 \
  --api-key-var PRIME_API_KEY \
  --dry-run

Run the same alias against a local vLLM server exposing an OpenAI-compatible API:

VLLM_API_KEY=local-key uv run medarc-eval bench \
  --config configs/medmarks-verified.toml \
  --endpoints-path configs/medmarks-endpoints.toml \
  -m gpt-oss-20b-low \
  --api-base-url http://127.0.0.1:8000/v1 \
  --api-key-var VLLM_API_KEY \
  --dry-run

Process outputs and compute win rates:

uv run medarc-eval process --runs-dir runs/evals
uv run medarc-eval winrate

Evaluation outputs are written under runs/evals/, processed parquet files under runs/processed/, and win-rate summaries under runs/processed/winrate/.

Documentation

PageDescription
docs/developer-guide.mdDeveloper setup, environment authoring, and local workflow
docs/medarc-eval.mdFull medarc-eval CLI documentation
docs/medarc-eval-bench.mdTOML benchmark suite execution
docs/medarc-eval-process.mdProcessing eval outputs into parquet
docs/medarc-eval-winrate.mdHELM-style win-rate computation
docs/medarc-orchestrate.mdRunning local vLLM benchmark jobs with Docker or Slurm/Pyxis

Datasets

-- indicates no dedicated training split. Not specified means we found no explicit dataset license in the dataset source. Evaluated counts reflect the effective Medmarks evaluation split or configured subset; MedDialog is intentionally capped at the first 2,500 examples.

DatasetDescriptionLicense / terms# Evaluated# Training
Medmarks-V (Verifiable)
CareQAHealthcare QA exam questions with multiple-choice reasoning questions, English subset.Apache-2.05,621--
HEAD-QA v2Extended healthcare questions spanning 10 years of Spanish professional exams, English subset.MIT12,751--
LongHealthLong-context synthetic patient cases with information extraction and sorting tasks, task1 and task2 splits.Apache-2.01,200--
M-ARCLong-tail medical questions designed to test model resistance to inflexible clinical reasoning patterns.Apache-2.0100--
Med-HALTClinical Reasoning Hallucination detection via false confidence tests and "none of the above" recognition.Apache-2.022,152--
MedCalc-BenchClinical calculator questions evaluating medical computation and formula application skills.CC-BY-SA-4.01,10010,538
MedConceptsQAMultiple-choice questions on medical coding systems, e.g., ICD-9, ICD-10, etc., only ICD-10CM subsamples evaluated.Not specified6,000--
MedbulletsUSMLE Step 2 and Step 3 style clinical reasoning questions sourced from social media.Not specified308--
MedHalluMedical hallucination detection benchmark with four domain-specific error categories derived from the PubMedQA dataset.MIT2,000--
MedMCQAMultiple-choice questions from Indian medical entrance exams across 21 medical subjects.Apache-2.04,183182,822
MedQAMultiple-choice questions from USMLE medical licensing exams.CC-BY-4.01,27310,178
MedXpertQAHigh-difficulty MCQ questions with ~10 options across 17 specialties to evaluate expert-level medical knowledge, text subset.MIT2,450--
MetaMedQAQuestions testing model's awareness and recognition of unanswerable medical queries using uncertainty options.CC-BY-4.01,373--
MMLU-Pro-HealthHealth subset of MMLU-Pro benchmark featuring general health-related questions with up to 10 answer options per question.MIT818--
PubHealthBenchMultiple-choice questions derived from UK government public health guidance documents, reviewed subset.CC-BY-4.0760--
PubMedQAYes/no/maybe question answering requiring reasoning over biomedical research abstracts, labeled subset.MIT500211,269
SCTPublicScript Concordance Tests evaluating clinical reasoning under diagnostic uncertainty.MIT174--
SuperGPQA-MedGraduate-level questions spanning 6 medical fields, easy and hard difficulty subsets.ODC-BY1,126--
Medmarks-OE (Open-Ended)
ACI-BenchClinical dialogue transcripts paired with corresponding structured clinical notes.CC-BY-4.0210114
AgentClinicMultimodal multi-agent OSCE-style clinical dialogues for interactive diagnostic reasoning evaluation.MIT214--
CareQA OpenHealthcare QA exam questions with open-ended reasoning questions, English subset.Apache-2.02,769--
HealthBenchMulti-turn healthcare conversations evaluated using physician-written scoring rubrics.MIT5,000--
MedAgentBench v2Agentic electronic health record tasks requiring FHIR API interactions.Not specified; V1 MIT600--
MedCaseReasoningDiagnostic QA with clinician-authored reasoning traces from clinical case reports.MIT50013,092
MedDialogLarge-scale patient-doctor conversations for medical dialogue generation and understanding; Medmarks evaluates a small subsample.Not specified2,500205,973
MedExQAQuestions with dual expert explanations across 5 underrepresented medical specialties.CC-BY-NC-SA-4.0940--
MedicationQAConsumer-style medication questions with expert-validated answers from MedlinePlus.CC-BY-4.0690--
MEDECMedical dataset for clinical error detection, extraction, and correction in synthetic medical notes.CC-BY-4.05972,189
MedR-BenchClinical reasoning benchmark with step-by-step diagnostic and treatment planning traces on rare disease cases.CC-BY-SA-4.01,453--
MTSamplesTranscribed medical operative notes and reports evaluating models on procedural summaries and clinically appropriate treatment plans.Not specified559--

Citation

@misc{warner2026medmarkscomprehensiveopensourcellm,
      title={Medmarks: A Comprehensive Open-Source LLM Benchmark Suite for Medical Tasks},
      author={Benjamin Warner and Ratna Sagari Grandhi and Max Kieffer and Aymane Ouraq and Saurav Panigrahi and Geetu Ambwani and Kunal Bagga and Nikhil Khandekar and Arya Hariharan and Nishant Mishra and Manish Ram and Shamus Sim Zi Yang and Ahmed Essouaied and Adepoju Jeremiah Moyondafoluwa and Robert Scholz and Bofeng Huang and Molly Beavers and Srishti Gureja and Anish Mahishi and Sameed Khan and Maxime Griot and Hunar Batra and Jean-Benoit Delbrouck and Siddhant Bharadwaj and Ronald Clark and Ashish Vashist and Anas Zafar and Leema Krishna Murali and Harsh Deshpande and Ameen Patel and William Brown and Johannes Hagemann and Connor Lane and Paul Steven Scotti and Tanishq Mathew Abraham},
      year={2026},
      eprint={2605.01417},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2605.01417},
}

License

Medmarks code in this repository is released under the MIT License. Individual benchmark datasets may have their own licenses or terms of use; consult the corresponding dataset sources and environment documentation before redistribution or commercial use.