How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="EPFLiGHT/Apertus-70B-MeditronFO")
messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe(messages)
# pip install -U transformers accelerate
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("EPFLiGHT/Apertus-70B-MeditronFO")
model = AutoModelForCausalLM.from_pretrained("EPFLiGHT/Apertus-70B-MeditronFO", device_map="auto")
messages = [
    {"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

Apertus-70B-MeditronFO

👋 Join our LiGHT community.
📖 Check out the MeditronFO blog and MeditronFO preprint.
🔜 If you are a clinician join the MOOVE initiative here.

[Hugging Face] [Preprint] [GitHub] [Dataset]
License: Apache 2.0 | Authors: LiGHT

We're introducing Apertus-70B-MeditronFO, our latest flagship medical specialist LLM, medical specialization of Apertus-70B-Instruct on the Fully Open Meditron Corpus. This model is part of the Fully Open Meditron family — the first end-to-end auditable pipeline for clinical LLMs, with open weights, open data, open training recipe, and clinician-vetted corpus construction.

  • Part of the Fully Open Meditron family: End to end fully open clinical LLMs
  • Best medical accuracy among fully open medical LLMs: 54.56% on the five-benchmark average, against 48.35% for Apertus-70B-Instruct
  • Preferred over Apertus-70B-Instruct in 89.7% of comparisons on AutoMOOVE, the clinician-validated LLM-judge evaluation (three-judge majority, 516 clinician-written vignettes)

Benchmark

Accuracy (%) on four multiple-choice medical benchmarks (greedy decoding) and score (%) on HealthBench (all 5,000 conversations, Gemma-4-31B grader). See the paper for the full evaluation details, confidence intervals and the AutoMOOVE results.

Benchmark Apertus-70B-Instruct Apertus-70B-MeditronFO Δ
MedMCQA 52.8 60.2 +7.4
MedQA 61.9 71.1 +9.2
PubMedQA 74.7 74.9 +0.2
MedXpertQA 13.0 17.3 +4.3
HealthBench 39.4 49.3 +9.9
Average (5) 48.35 54.56 +6.21

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "EPFLiGHT/Apertus-70B-MeditronFO"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)

messages = [
    {"role": "user", "content": "A 62-year-old woman presents with a three-day history of dyspnea on exertion and a productive cough. What is the differential diagnosis?"},
]
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=512, do_sample=False)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))

Training

  • Base model: Apertus-70B-Instruct
  • Corpus: Fully Open Meditron, 533,888 examples: Curated QA (195.5k, seven public medical QA datasets), Synthetic Curated QA (184.5k), Guidelines QA (129.8k, generated from 14,192 clinical practice guidelines) and Synthetic vignettes (24.0k, modelled on clinician-written MOOVE vignettes). Every answer is written by gpt-oss-120b with rejection sampling (pass@8; multiple-choice answers must match the gold label), with generation prompts co-authored by four clinicians
  • Decontamination: two-stage n-gram decontamination against all evaluation benchmarks and the AutoMOOVE test set (4,197 rows removed)
  • Recipe: 1 epoch, learning rate 1e-5 with cosine decay and 10% warmup, effective batch 64 sequences of 8,192 packed tokens, AdamW, seed 42
  • Framework: Axolotl with DeepSpeed ZeRO-3, bf16

Full hyperparameters are in the training appendix of the paper.

Compute & footprint

The training was done on 16 nodes of 4 NVIDIA GH200 GPUs for 3 h 06 min (199 GPU-hours) on the Alps supercomputer of the CSCS Swiss National Supercomputing Centre. Our trainings have a carbon neutral footprint as the CSCS data center is carbon neutral (CSCS energy efficiency).

Limitations & intended use

MeditronFO can produce text on a variety of topics, but the generated content may not always be factually accurate, logically consistent, or free from biases present in the training data. MeditronFO has been trained to be specialised for Medicine and is intended to be used for Medicine related tasks evaluation. These models should be used as assistive tools rather than definitive sources of information. Users should always verify important information and critically evaluate any generated content.

Citation

If you find MeditronFO useful in your research, please cite our preprint:

@misc{theimerlienhard2026fullyopenmeditronauditable,
  title         = {Fully Open Meditron: An Auditable Pipeline for Clinical LLMs},
  author        = {Xavier Theimer-Lienhard and Mushtaha El-Amin and Fay Elhassan and Sahaj Vaidya and Victor Cartier-Negadi and David Sasu and Lars Klein and Mary-Anne Hartley},
  year          = {2026},
  eprint        = {2605.16215},
  archivePrefix = {arXiv},
  primaryClass  = {cs.AI},
  url           = {https://arxiv.org/abs/2605.16215}
}

Acknowledgments and Disclosure of Funding

This work was supported under project ID #27 as part of the Swiss AI Initiative, through a grant from the ETH Domain and computational resources provided by the Swiss National Supercomputing Centre (CSCS) under the Alps infrastructure. We thank the physician review panel within the LiGHT laboratory for their clinical auditing, methodological review, and validation of the synthetic generation and evaluation pipelines. We additionally thank the many physicians and clinical experts who contributed to the MOOVE initiative through expert review, pairwise evaluation, benchmarking, and clinical vignette development across diverse international settings.

Contact

Please use the community tab for any discussions or issue related to this model. Questions related to the project can be sent to xavier.theimer-lienhard@epfl.ch or mary-anne.hartley@epfl.ch.

Downloads last month
1,051
Safetensors
Model size
71B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for EPFLiGHT/Apertus-70B-MeditronFO

Finetuned
(5)
this model
Quantizations
2 models

Dataset used to train EPFLiGHT/Apertus-70B-MeditronFO

Collection including EPFLiGHT/Apertus-70B-MeditronFO

Paper for EPFLiGHT/Apertus-70B-MeditronFO