May 28, 2026
Medical knowledge is continuously evolving. This creates a need to update or selectively forget information encoded in already-trained medical LLMs. Machine unlearning aims to remove the influence of specific training data from a model without full retraining. Yet, existing unlearning benchmarks rely on synthetic or small-scale general data, leaving clinical unlearning understudied. We introduce AMNESIA, the first large-scale, open source benchmark for medical unlearning, with 70,560 question-answer pairs from 8,820 patient notes across 11 disease categories. AMNESIA includes both factual questions testing direct recall and reasoning questions testing clinical inference. We use it to evaluate four widely used unlearning methods at both random patient and disease-level, and introduce a new metric for detecting leakage of medical terminology. We show that unlearning individual patients erodes knowledge of others with the same condition, calling for methods that can better separate patients from shared clinical knowledge.
Machine learning models trained on sensitive medical data face a critical challenge: how to remove the influence of specific training examples while preserving overall model utility. This capability, known as machine unlearning, is essential for healthcare applications where patients may request data deletion under privacy regulations like GDPR’s “right to be forgotten” [1], or where erroneous or outdated medical records must be excised from trained models without costly full retraining. Despite growing interest in machine unlearning across various domains, the medical field lacks standardized benchmarks for evaluating unlearning methods for clinical question-answering tasks.
To address these gaps, we introduce AMNESIA: A Large Scale Medical UNlearning BEnchmark Suite with Disease-Informed Analysis. AMNESIA provides the first large-scale benchmark for evaluating machine unlearning in medical question-answering (QA), comprising 70,560 question-answer pairs derived from 8,820 patient notes across 11 disease categories. Unlike prior unlearning benchmarks built on synthetic or general-domain QAs (Appendix 8), AMNESIA is grounded in real patient notes, spanning thousands of patients across many disease conditions. This is essential in medical contexts, where consent withdrawals, diagnostic revisions, and record corrections continually generate new unlearning targets. AMNESIA also distinguishes factual questions (direct recall) from reasoning questions (clinical inference) and supports both random patient-level and disease-level forgetting scenarios, enabling researchers to test whether models can forget patients with particular medical conditions.
Our contributions are as follows:
First large-scale clinically-grounded unlearning benchmark: 70,560 Question-Answer pairs (QAs) from 8,820 patient notes across 11 disease categories. Each patient has 4 factual (recall) and 4 reasoning (inference) QAs. 2
Multi-level evaluation across diverse forget/retain splits: Evaluation across random patient-level and disease-level forget/retain splits.
Comprehensive unlearning analysis: Four representative unlearning methods are evaluated and analyzed.
Medically-aware unlearning evaluation: Novel disease-focused keyword evaluation for forget performance.
Release of medical models and dataset: Our models are publicly available. Our detailed data construction pipeline makes AMNESIA reproducible and easy to extend.
Machine unlearning aims to remove the influence of specific training data from a model without full retraining [2]. TOFU [3] establishes the standard benchmark for LLM unlearning using synthetic author profiles, with methods including Gradient Difference [4], KL Minimization [5], and Negative Preference Optimization [6]. R-TOFU [7] extends TOFU to Large Reasoning Models, showing that answer-only objectives leave residual forget traces in chain-of-thought reasoning. MUSE [8] evaluates forgetting in LLMs but does not address clinical or cross-modal structures. Recent work further shows that existing methods fail on structured, multi-hop knowledge [9], motivating more realistic evaluation settings. We follow OpenUnlearning [10], a unified framework integrating 13 unlearning algorithms and 16 evaluations across TOFU, MUSE, and WMDP [11], to inform our selection and standardized comparison of unlearning methods.
Clinical NLP has benefited from large-scale datasets such as MIMIC-CXR [12], with models like LLaVA-Med [13] and Asclepius [14] demonstrating that LLMs fine-tuned on patient notes acquire patient-specific knowledge. Recent benchmarks have pushed medical QA in several directions: evaluating LLM reasoning and explanation on challenging clinical cases [15], detecting hallucinations in medical outputs [16], assessing multi-hop biomedical reasoning across knowledge graphs [17], and supporting argumentative explanation of diagnoses [18]. However, these benchmarks do not address machine unlearning in a medical QA setting.
Privacy regulations, including HIPAA [19] and GDPR [1], motivate the selective removal of patient data from trained models, with prior defenses such as federated learning [20] offering only partial protection. Other work has explored unlearning multimodal patient information in clinical imaging settings [21]. MedForget [22] is the closest prior work, providing a hierarchical multimodal benchmark of 3,840 Visual Question Answering (VQA) pairs across 64 patients from MIMIC-CXR. In contrast, AMNESIA scales to 70,560 clinical note–grounded QAs and introduces disease-level unlearning, a clinically motivated setting not addressed by prior work.
Figure 1 illustrates the AMNESIA framework. Given a patient note, AMNESIA includes factual and reasoning questions, each with gold-standard answers. After unlearning, models should produce substantially different (uninformative) responses to questions about forgotten patients while maintaining accurate answers for retained patients.
We use PMC-Patients-v2 [23], a large-scale publicly available dataset of de-identified patient notes extracted from reports in PubMed Central [24]. From this corpus, we randomly sampled 8,820 patient notes to create a computationally feasible yet substantial dataset for our study.
We used GPT-5.4-nano to assign a disease from Centers for Disease Control and Prevention (CDC)’s classification of common diseases 3 (11 diseases listed in Table 1) to each patient based on its note title. The note title is a single sentence describing the patient note. The prompt is designed to enforce GPT-5.4-nano to map each note’s title to a single disease category (see Appendix 9.1). This categorization enables AMNESIA’s disease-informed analysis of machine unlearning methods. We evaluate these categories in the .
For each patient, we use GPT-5-nano to generate 8 QAs: 4 factual QAs testing direct information recall from the patient’s note and 4 reasoning QAs requiring inference across multiple findings within the note, making them more challenging than factual questions. The generation prompt (Appendix 9.2) enforces strict quality criteria: questions must be answerable only from the specific patient’s details (not general medical knowledge), must avoid any personal information, and must maintain clinical specificity. This generation strategy produced 70,560 total QAs (35,280 factual and 35,280 reasoning), ensuring coverage of both knowledge retrieval and clinical reasoning capabilities. Table 1 presents the final dataset composition across disease categories.
| Disease Category | # Patients | # QA | Min | Avg | Max |
|---|---|---|---|---|---|
| Cancer | 2,669 (30.3%) | 21,352 | 55 | 695 | 3,920 |
| Infectious/Immune | 1,964 (22.3%) | 15,712 | 59 | 769 | 4,216 |
| Cardiovascular | 1,426 (16.2%) | 11,408 | 58 | 693 | 2,796 |
| Digestive and Liver | 590 (6.7%) | 4,720 | 48 | 713 | 3,160 |
| Dementia and Mental Health | 490 (5.6%) | 3,920 | 66 | 693 | 3,724 |
| Arthritis and Bone | 441 (5.0%) | 3,528 | 67 | 700 | 2,323 |
| Respiratory and Allergies | 435 (4.9%) | 3,480 | 42 | 707 | 2,430 |
| Kidney Disease | 350 (4.0%) | 2,800 | 95 | 738 | 2,212 |
| Diabetes | 208 (2.4%) | 1,664 | 92 | 736 | 3,489 |
| Oral and Dental Health | 192 (2.2%) | 1,536 | 77 | 698 | 2,271 |
| Anemia or Iron Deficiency | 55 (0.6%) | 440 | 178 | 740 | 1,488 |
| Total | 8,820 | 70,560 | 42 | 716 | 4,216 |
We validate both disease labels and QAs under majority vote with a three-judge LLM panel: a medical-specialized model (MedGemma-27B [25]), a general-purpose reasoning model (Qwen3-32B [26]), and a frontier model (GPT-5-mini [27]). For disease labels, we sample 900 patient notes (\(\sim\)10% of total notes) from the three most populated diseases (300 each from Cancer, Infectious/Immune, and Cardiovascular). For QAs, we sample 500 patients and take 1 factual and 1 reasoning QA from each, yielding 1,000 QAs. The judge panel supports \(\mathbf{91.8\%}\) of disease labels and rates \(\mathbf{97.6\%}\) of QA triples as valid against four criteria (clarity, correctness, derivability, clinical meaning); a biology student’s annotations of the same patient notes agree with the judges’ majority vote on \(\mathbf{90.4\%}\) of disease labels. Together, these results indicate that AMNESIA’s QAs and disease labels are trustworthy for unlearning evaluation. Full protocols, prompts, and per-judge breakdowns are in Appendices 13 and 14.
Our partition strategy creates hierarchical forget/retain splits at two levels: random patient-level and disease-level.
Similar to existing unlearning benchmarks [3], [22], we create forget splits by randomly selecting patients at 5%, 10%, 15%, 20%, and 25% of the total number of patients, where each smaller forget set is a proper subset of the next larger one (i.e., forget_5 \(\subset\) forget_10 \(\subset\) forget_15 \(\subset\) forget_20 \(\subset\) forget_25). For each forget split, the corresponding retain split contains all remaining patients.
We build disease-level splits for the three most prominent diseases in our dataset: Cancer, Infectious/Immune, and Cardiovascular. Each disease-level split matches the size of the corresponding random patient-level split, sampled only from the target disease. The size of the largest possible forget set for each disease depends on the total number of patients having that disease in the dataset (Table 1):
Cancer (30.3% of all patients): 5%, 10%, 15%, 20%, 25% forget splits.
Infectious/Immune Diseases (22.3% of all patients): 5%, 10%, 15%, 20% forget splits.
Cardiovascular (16.2% of all patients): 5%, 10%, 15% forget splits.
Each disease-level split maintains two key properties: (1) the subset relationship holds within each disease (e.g., cancer_forget_5 \(\subset\) ... \(\subset\) cancer_forget_25), and (2) all patients with a given disease label that appear in the random patient forget split are also included in the corresponding disease-level forget split at the same percentage (e.g., all cancer patients in forget_5 are guaranteed to appear in cancer_forget_5. Appendix 10 shows the size of each data split.). The 900 samples selected for human-in-the-loop evaluation of disease categories are drawn from cancer_forget_5, cardio_forget_5, and infectious/immune_forget_5 splits, which are shared among all forget sets of that disease (See ).
To evaluate generalization, we create a holdout set by withholding a factual and a reasoning QA per patient (17,640 total), never seen during fine-tuning and unlearning. Complete statistics for all splits are provided in Appendix 10.
We establish a medical unlearning benchmark through a four-stage workflow: (1) Pre-training on patient notes, (2) instruction fine-tuning on QAs, (3) applying unlearning methods on the fine-tuned model, and (4) evaluation across multiple metrics.
We select LLaMA 3-8B as the base language model, following established practices in medical AI [14]. We perform continued pre-training on 8,820 patient notes using standard next-token prediction, followed by instruction fine-tuning on 52,920 QAs (see Appendix 11 for hyperparameter details). The resulting fine-tuned model serves as the baseline for all unlearning experiments.
We evaluate four top-performing unlearning methods from OpenUnlearning [10], covering diverse algorithmic families. All methods operate on the forget set \(\mathcal{D}_f\) (patients to unlearn) and the retain set \(\mathcal{D}_r\) (patients to preserve), applied to the fine-tuned model. Following the instruction fine-tuning configuration, all unlearning methods are trained with forget/retain patient notes and their QAs as input:
RMU [11] steers internal representations of forget set inputs toward random targets at intermediate layers while preserving retain set representations, avoiding output-level gradient manipulation. In our experiments, steering is applied at layer 7, consistent with the OpenUnlearning default values.
GradDiff [4] jointly maximizes the loss on \(\mathcal{D}_f\) and minimizes the loss on \(\mathcal{D}_r\) via the objective \(\mathcal{L}_{\text{GD}} = -\mathcal{L}(\mathcal{D}_f, w) + \mathcal{L}(\mathcal{D}_r, w)\), where \(\mathcal{L}(\mathcal{D}_f, w)\) is implemented as gradient ascent on the forget set negative log-likelihood. Rather than fine-tuning the full model, we perform layer-selective unlearning: all parameters are frozen except those in layer 7. Freezing all other layers limits parameter drift on \(\mathcal{D}_r\), reduces catastrophic forgetting and training cost.
KL-Min(imization) [5] uses the same GradDiff forget objective and the same layer-7 parameter mask. KL-Min applies gradient ascent on \(\mathcal{D}_f\) while regularizing \(\mathcal{D}_r\) outputs to match the original model via KL divergence, preventing model collapse.
SimNPO [28] treats forgotten samples as negative preferences without reference-model dependency, addressing bias issues in standard NPO [6]. Like GradDiff and KL-Min, we update only layer 7.
To assess the trade-off between knowledge removal and utility preservation, we use four metrics from [7] and one from [10]. We also introduce a novel disease-informed leakage evaluation metric.
Standard unlearning metrics measure semantic and lexical similarity to references, but do not test whether disease-specific terminology about forget patients still surfaces in outputs. We therefore introduce a leakage metric based on disease-specific token matching.
For each QA instance, we build a disease-specific keyword set from the note, question, and answer. We parse each field with scispaCy [29] and collect biomedical named entities and noun chunks, dropping generic clinical terms (e.g., patient, history). Relevance to diseases is scored lexically against curated seed lists for Cancer (e.g., chemotherapy, metastasis), Infectious/Immune (e.g., sepsis, autoimmune), and Cardiovascular (e.g., stent, troponin). Complete seed lists and generic terms are detailed in Appendix 12.
For a candidate phrase \(p\) and seed \(s\), we assign lexical relevance \(\mathrm{rel}(p)\in[0,1]\) using exact or partial phrase matching. Each candidate receives a weight \(s_i\) based on its frequency in that field. We then merge the top K keywords from the notes and all surviving keywords from QAs.
Let \(y\) be the model’s generated answer. Leakage is the weighted fraction of keywords that reappear in \(y\) as a contiguous token subsequence, \[\mathrm{LS}(y)= \frac{\sum_i s_i \cdot \mathbb{1}\!\left[k_i \in_{\mathrm{tok}} y\right]}{\sum_i s_i} \in [0,1],\] where \(\mathbb{1}[k_i \in_{\mathrm{tok}} y]\) is \(1\) if the keyword \(k_i\) occurs consecutively in \(y\) after tokenization (case-insensitive, alphanumeric only). We report \(\mathrm{LS}\) as a percentage (mean over forget set QAs with at least one keyword). Higher values indicate more reproduction of disease-specific terms from the note.
We measure semantic similarity using PubMedBERT embeddings [30].
We employ PubMedBERT-MNLI-MedNLI [31] to verify factual consistency between model responses and reference answers.
We calculate ROUGE-L recall and position-aligned token Exact Memorization (EM) [10] to track lexical retention.
We monitor normalized unigram entropy [7] to identify instances of model collapse or repetitive output (higher indicates more diverse output).
We utilize the harmonic mean (\(H\)) to compute primary performance indices. This ensures that a model cannot achieve high scores by over-optimizing for a single metric while failing in others:
Measures the preservation of medical knowledge in the retain set, \[MU = H(\text{ROUGE, EM, CS, TE, ES})\]
Quantifies unlearning success on the forget set by aggregating the inversion of quality metrics (\(1 - \text{score}\)), \[AFE = H(1-\text{ROUGE, } 1-\text{EM, } 1-\text{CS, } 1-\text{ES})\]
Following [7], we exclude TE from this aggregate since it measures how repetitive the text is, which is unrelated to whether facts were actually forgotten. Instead, we report degradation score.
To detect gibberish output, we report a DS,
\[\text{DS} = \frac{|\{x \in \mathcal{D}_f : TE(x) = 0\}|}{|\mathcal{D}_f|},\] which is the fraction of forget set generations with zero mean TE. These correspond to fully repetitive token outputs; a high DS indicates output collapse rather than knowledge removal (Table 2).
We evaluate 4 unlearning methods across two patient selection strategies: random patient-level and disease-level. For all experiments, MU is measured on the retain set, and AFE is measured on the forget set. We expect the MU for unlearned models to be close to the baseline MU, and the AFE to exceed the baseline AFE. MU of the holdout set is measured on the unseen QAs of retain patients, and AFE is measured on unseen QAs of forget patients. We report results separately for factual and reasoning QAs.
Figure 2 presents random patient-level results, examining whether unlearning methods can forget patient information across different forget set sizes from 5% to 25%. On training (seen) questions (solid bars), RMU and SimNPO maintain high MU (above 0.9 in factual and above 0.75 in reasoning QAs) and low AFE (< 0.15) across all forget set sizes, indicating ineffective unlearning in the random patient-level setting. KL-Min exhibits the opposite pattern: high AFE (above 0.9 for both QA types) but low MU (\({\sim}0.0\)), achieving forgetting by generating repeated tokens (Table 2) rather than selective erasure. GradDiff balances both metrics at 5–15% splits (MU \({\sim}0.9\) for both QA types) but collapses at 20–25%, similar to KL-Min, losing model utility as more patients are forgotten.
Holdout QAs (hatched bars) yield much lower MU baseline values than train QAs (\({\sim}0.6\) vs \({\sim}1.00\) for factual and \({\sim}0.2\) vs \({\sim}0.95\) for reasoning) since these QAs are unseen. The large gap between factual and reasoning holdout MU values suggests that unlearned models recall direct facts from the note but fail to reason from it. Holdout AFE also remains low for RMU and SimNPO in both factual and reasoning QAs and close to baseline. This suggests that models struggle with novel QAs, creating a false sense of forgetting. Also, it means that unlearned models forget specific QAs from training data rather than truly erasing learned patient information (notes), which remains accessible via alternative questions.
Figure 4: Retain MU on seen questions for same-disease (solid) vs.out-of-disease (dashed) patients across forget set sizes for cancer and infectious/immune cohorts, averaged across both factual and reasoning questions.. a — Cancer vs.non-cancer retain patients., b — Infectious/Immune vs.non-infectious retain patients.
3pt
| Forget Set LS and DS (%) (Factual / Reasoning) | ||||||
|---|---|---|---|---|---|---|
| 3-7 Disease | Method | 5% | 10% | 15% | 20% | 25% |
| Cancer | GradDiff | 0.5 (76.2) / 0.5 (75.0) | 0.3 (93.8) / 0.3 (93.2) | 0.3 (90.9) / 0.3 (89.5) | 0.1 (97.7) / 0.1 (97.3) | 0.2 (87.5) / 0.3 (86.8) |
| KL-Min | 0.2 (86.4) / 0.5 (81.3) | 0.2 (91.0) / 0.3 (92.1) | 0.2 (91.6) / 0.3 (87.3) | 0.2 (90.9) / 0.3 (89.9) | 0.1 (95.4) / 0.1 (94.3) | |
| RMU | 13.9 (0.3) / 24.6 (0.0) | 13.9 (0.2) / 22.8 (0.0) | 14.0 (0.3) / 20.9 (0.0) | 14.2 (0.1) / 18.6 (0.0) | 10.4 (0.1) / 12.7 (0.0) | |
| SimNPO | 14.1 (0.5) / 24.1 (0.0) | 13.6 (0.2) / 16.9 (0.0) | 11.9 (0.1) / 14.5 (0.0) | 10.9 (0.3) / 13.8 (0.0) | 12.1 (0.1) / 11.6 (0.0) | |
| Infectious/ | GradDiff | 0.0 (100.0) / 0.0 (100.0) | 0.4 (92.1) / 0.6 (89.8) | 0.6 (82.1) / 0.9 (82.8) | 0.7 (72.2) / 1.0 (72.8) | – / – |
| Immune | KL-Min | 0.3 (92.1) / 0.6 (87.2) | 0.3 (92.4) / 0.6 (90.8) | 0.3 (95.2) / 0.4 (94.0) | 1.2 (82.4) / 1.3 (81.4) | – / – |
| RMU | 14.8 (0.4) / 23.8 (0.0) | 14.2 (0.3) / 21.9 (0.0) | 14.0 (0.3) / 20.0 (0.1) | 12.2 (0.2) / 16.0 (0.1) | – / – | |
| SimNPO | 14.8 (0.4) / 21.3 (0.0) | 14.2 (0.3) / 14.9 (0.0) | 12.3 (0.5) / 12.6 (0.2) | 10.9 (0.2) / 10.4 (0.1) | – / – | |
| Cardio- | GradDiff | 0.2 (97.7) / 0.1 (97.6) | 0.7 (79.6) / 0.7 (80.1) | 0.4 (88.9) / 0.5 (88.8) | – / – | – / – |
| vascular | KL-Min | 0.6 (7.0) / 0.5 (5.5) | 0.1 (97.3) / 0.1 (97.5) | 0.2 (97.2) / 0.1 (97.3) | – / – | – / – |
| RMU | 11.3 (0.3) / 14.8 (0.2) | 10.3 (0.2) / 12.5 (0.1) | 5.9 (0.1) / 7.5 (0.1) | – / – | – / – | |
| SimNPO | 11.9 (0.2) / 11.1 (0.2) | 10.4 (0.2) / 8.7 (0.0) | 8.8 (0.1) / 8.5 (0.0) | – / – | – / – | |
| Random | GradDiff | 14.3 (0.2) / 26.0 (0.0) | 14.7 (0.2) / 25.4 (0.0) | 14.4 (0.2) / 25.5 (0.0) | 0.1 (21.1) / 0.3 (16.7) | 0.0 (100.0) / 0.0 (100.0) |
| Patient | KL-Min | 0.7 (64.2) / 1.5 (33.4) | 0.0 (98.1) / 0.0 (98.4) | 0.0 (96.7) / 0.0 (97.4) | 0.0 (99.4) / 0.0 (99.4) | 0.0 (99.7) / 0.0 (99.7) |
| RMU | 14.3 (0.2) / 25.6 (0.0) | 14.6 (0.3) / 26.0 (0.0) | 14.6 (0.3) / 25.7 (0.0) | 14.6 (0.4) / 25.5 (0.0) | 14.5 (0.4) / 25.3 (0.0) | |
| SimNPO | 14.3 (0.2) / 24.8 (0.0) | 14.5 (0.3) / 25.6 (0.0) | 14.5 (0.3) / 24.0 (0.0) | 14.5 (0.4) / 23.5 (0.1) | 14.4 (0.4) / 23.1 (0.0) | |
Analysis in 6.1 showed that model unlearning for forgetting random patients either collapses (high AFE and low MU) or is ineffective (high MU and low AFE). We now examine whether this behavior changes when forgotten patients share the same disease.
The evaluation of the disease-level (Figure 3) reveals a fundamentally different pattern from the random-patient unlearning. We plot forget set AFE versus retain set MU for the three most populated diseases (Cancer, Infectious/Immune, Cardiovascular) across different forget set sizes. Perfect unlearning appears in the top-right corner (high MU, high AFE). Unlike random patients, patients sharing the same disease are interconnected through shared medical characteristics. KL-Min and GradDiff behave similarly across all three diseases. Both achieve moderate MU (\(\sim\)0.4–0.7) while preserving high AFE (\(\sim\)0.90–0.97). The pattern is noisy and non-monotonic for both QA types.
For RMU and SimNPO, MU also remains high across all three diseases, but AFE now increases with forget set size. For instance, RMU forgetting 5% of cancer patients achieves AFE below 0.2, but forgetting 25% raises AFE to \(\sim\)0.6. So, forget set size strongly influences RMU and SimNPO’s unlearning effectiveness when patients share diseases. This occurs because removing more patients from the same disease progressively erodes the shared medical knowledge, making it harder for the model to answer questions about that disease.
In Figures 4 (a) and 4 (b), for RMU and SimNPO, MU on seen questions (averaged over factual and reasoning) for same-disease retained patients degrades substantially with forget set size: in the cancer cohort, both methods drop from \({\sim}0.83\) to \({\sim}0.37\), while in the infectious/immune cohort, RMU declines from \({\sim}0.87\) to \({\sim}0.62\) and SimNPO from \({\sim}0.84\) to \({\sim}0.53\). However, MU for out-of-disease patients remains high (\({\sim}0.90\)–\(0.95\)). GradDiff and KL-Min, by contrast, collapse to near-zero MU for same-disease retained patients, but maintain moderate MU (\({\sim}0.50\)–\(0.77\)) for out-of-disease patients, indicating that their unlearning is disease-targeted rather than a global model collapse.
Holdout evaluation in Figure 3 mirrors the trends observed for seen QAs: AFE increases with forget set size, and MU shows disease-dependent trajectories. MU on reasoning QAs is consistently lower than MU on factual QAs, reflecting the greater difficulty of clinical inference. Critically, holdout AFE values remain comparable to training AFE, unlike random patient unlearning, where holdout AFE values dropped to \(\sim\)0.2. This indicates that disease-level patient unlearning operates at the patient-note level rather than just the QA level.
We now examine a novel privacy criterion: disease keyword leakage. Even if a model has high AFE, leakage of disease-related keywords from patient notes constitutes a privacy violation, as it confirms the model has retained specific information.
Table 2 reports disease-specific keyword leakage rates on the forget set across disease categories and forget set sizes. GradDiff and KL-Min achieve near-zero leakage score (LS) (\(\sim\)0.001–0.007) across all diseases and forget set sizes, but this occurs because these methods generate largely incoherent outputs (high degradation scores in Table 2) rather than because they have erased targeted information.
Disease-level forgetting shows a different pattern than random patient forgetting for RMU and SimNPO. For random patients, LS remains stable at \(\sim\)14–15% (factual) and \(\sim\)25% (reasoning) across all forget set sizes for RMU and SimNPO, consistent with the flat AFE patterns observed in Figure 2. In contrast, for RMU and SimNPO, disease-level forgetting shows declining leakage as forget set size increases, with degradation remaining near zero across all diseases. For example, for cancer, RMU’s reasoning LS drops from 24.6% (5%) to 12.7% (25%), and SimNPO’s drops from 24.1% to 11.6%. This mirrors the improving AFE trend in Figure 3, confirming that removing more patients from the same disease progressively erodes the shared medical knowledge, reducing leakage of medical terminology.
We introduced AMNESIA, a large-scale open source medical unlearning benchmark with 70,560 QAs from 8,820 patients, featuring random patient-level and disease-level splits. AMNESIA reveals the limitations of existing unlearning methods. For random patient-level splits, unlearning methods either fail to forget effectively or achieve forgetting through model collapse. Disease-level forgetting improves as the forget set grows, but at the cost of model utility on retained same-disease patients. Across both settings, clinical reasoning remains harder than factual recall. Holdout evaluation further shows that models forget specific QAs rather than the patient notes, since the underlying information remains accessible through alternative unseen questions. Our disease keyword leakage analysis also shows the importance of having a domain-specific question-answering evaluation metric in unlearning settings. Together, these findings highlight the need for medical-specific unlearning techniques that erase patient information without damaging shared medical knowledge and establish AMNESIA as an essential benchmark for advancing the field.
Our evaluation of forgetting relies on answer-level metrics (AFE, MU) and exact-match keyword leakage. A model with high AFE may still encode patient information recoverable through paraphrased queries, and our exact-match leakage metric does not catch paraphrased reproductions of forgotten terminology. Therefore, what fraction of a patient’s information is truly removed remains difficult to quantify.
All experiments use a single base model (LLaMA 3-8B), and gradient-based unlearning at layer 7 to match the RMU configuration from OpenUnlearning.
We partition patients into 11 single disease categories, but real clinical conditions exist on a spectrum, and comorbidities are common.
AMNESIA is built from publicly available, de-identified clinical notes and will be released without any restrictions on the source data.
Our central finding is that unlearning can coexist with substantial keyword leakage, and new questions recover information from supposedly forgotten patients. Deploying any of the methods we evaluate under the assumption that they fulfill a right-to-be-forgotten request would create a false sense of privacy compliance. We further show that forgetting a critical mass of patients sharing a disease degrades model utility for retained patients with the same condition, meaning batch deletion requests could compromise care quality for patients who never requested deletion. None of the models in this work is validated for clinical use.
We thank our human annotator for volunteering to do our human-in-the-loop evaluation.
We also acknowledge the use of Cursor 4 for coding assistance and Claude (Anthropic) 5 for writing assistance in preparing this manuscript.
| Benchmark | Modality | Scale | Disease | Grounded |
| Split | QA | |||
| General Domain | ||||
| MUSE | Text | 20K | ||
| TOFU | Text | 4K | ||
| R-TOFU | Text | 4K | ||
| WMDP | Text | 3.6K | ||
| Medical Domain | ||||
| Med-Forget | Image+Text | 3.8K | ||
| Forget-MI | Image+Text | 6.7K | ||
| AMNESIA | Text | 70.5K | ||
| (Ours) | ||||
This appendix provides the complete prompts used in our automated data generation pipeline.
We used the following prompt with GPT-5.4-nano to assign disease categories to patient cases based on article titles:
You are given a medical article with:
article_id
article_title
Your task is to assign exactly one top-level category to the article based primarily on the article title.
Use only this taxonomy:
Anemia or Iron Deficiency
Arthritis and Bone
Arthritis
Osteoporosis
Cancer
Cardiovascular
Cerebrovascular Disease or Stroke
Cholesterol
Heart Disease
Hypertension
Dementia and Mental Health
Alzheimer’s Disease
Attention Deficit Hyperactivity Disorder
Depression
Mental Health
Diabetes
Digestive and Liver
Digestive Diseases
Chronic Liver Disease and Cirrhosis
Infectious or Immune Diseases
AIDS and HIV
Viral Hepatitis
Infectious Disease
Influenza
Measles, Mumps, and Rubella
Pneumonia
Sexually Transmitted Diseases (STD)
Chronic Sinusitis
Whooping Cough or Pertussis
Kidney Disease
Oral and Dental Health
Respiratory and Allergies
Allergies and Hay Fever
Asthma
Chronic Obstructive Pulmonary Disease
Rules:
Return the best matching top-level category only.
Base the decision mainly on the article_title.
Use the subcategories only as guidance for mapping into the correct top-level category.
Do not use any category outside the taxonomy.
If no category is clearly supported by the title, choose “Other” and explain briefly.
Return valid JSON only in this exact format:
{
"article_id": "<article_id>",
"article_title": "<article_title>",
"category": "<one top-level category from the taxonomy>",
"short_reason": "<brief reason using title keywords>"
}We used the following prompt with GPT-5-nano to generate question-answer pairs for each patient case:
You are a medical education expert creating a clinical knowledge assessment dataset.
Given a patient case summary, generate two groups of QA pairs:
1. factual_items
direct recall from the summary
answerable solely from the provided summary
answers must be 1–2 sentences
cover diagnosis, symptoms, labs, treatments, outcomes
2. reasoning_items
multi-hop clinical reasoning
each question MUST connect at least TWO findings from the summary
answers should explain the reasoning chain in 2–3 sentences
Global rules:
Do NOT ask about patient name, age, gender, or any PII
Questions must REQUIRE this specific patient’s details and must NOT be answered confidently from general medical knowledge alone
Keep questions clinically specific and grounded
Return only valid JSON matching the schema
| Disease Category | \(|\mathrm{Q}|_{\mathrm{fact}}\) | \(|\mathrm{Q}|_{\mathrm{reas}}\) | \(|\mathrm{A}|_{\mathrm{fact}}\) | \(|\mathrm{A}|_{\mathrm{reas}}\) |
|---|---|---|---|---|
| Cancer | 15.6 | 23.2 | 34.3 | 54.5 |
| Infectious/Immune | 15.6 | 22.8 | 34.5 | 55.7 |
| Cardiovascular | 16.1 | 23.3 | 34.6 | 56.1 |
| Digestive and Liver | 15.5 | 22.7 | 34.9 | 54.3 |
| Dementia and Mental Health | 15.4 | 23.8 | 31.4 | 55.0 |
| Arthritis and Bone | 15.1 | 22.4 | 36.1 | 53.3 |
| Respiratory and Allergies | 16.0 | 23.1 | 33.9 | 54.8 |
| Kidney Disease | 16.2 | 23.7 | 35.8 | 55.9 |
| Diabetes | 16.2 | 24.0 | 35.7 | 57.5 |
| Oral and Dental Health | 15.4 | 22.6 | 33.1 | 53.2 |
| Anemia or Iron Deficiency | 16.7 | 24.7 | 35.2 | 56.0 |
@rrrX@ % & # Patients & # QAs & Available For
& 441 & 2,646 & Random, Cancer, Inf/Imm., Cardio.
10 & 882 & 5,292 & Random, Cancer, Inf/Imm., Cardio.
15 & 1,323 & 7,938 & Random, Cancer, Inf/Imm., Cardio.
20 & 1,764 & 10,584 & Random, Cancer, Inf/Imm.
25 & 2,205 & 13,230 & Random, Cancer
& 8,379 & 50,274 & Random, Cancer, Inf/Imm., Cardio.
10 & 7,938 & 47,628 & Random, Cancer, Inf/Imm., Cardio.
15 & 7,497 & 44,982 & Random, Cancer, Inf/Imm., Cardio.
20 & 7,056 & 42,336 & Random, Cancer, Inf/Imm.
25 & 6,615 & 39,690 & Random, Cancer
– & 8,820 & 17,640 & All
We perform pre-training on patient clinical notes to adapt LLaMA 3-8B model to medical language and terminology. Patient notes are tokenized using the LLaMA 3 tokenizer with a maximum sequence length of 2048 tokens and then packed to maximize GPU utilization. We employ distributed training across 8 AMD MI250X GPUs. Gradient checkpointing is enabled to reduce memory consumption. Unlearning also occurred for 3 epochs, and all experiments are from the last checkpoint of each unlearned model (the same as finetuning).
@lXX@ Hyperparameter & Pretraining & Finetuning
Base model & LLaMA 3-8B & Pretrain checkpoint
Training data & 8820 notes & notes + \(\sim\)52.9K QAs
Max sequence length & 2048 & 2048
Optimizer & AdamW & AdamW
Learning rate & \(2e\text{-}5\) & \(2e\text{-}5\)
LR scheduler & Cosine & Cosine
Warmup ratio & 0.03 & 0.03
Weight decay & 0.0 & 0.0
Epochs & 1 & 3
Per-device batch size & 2 & 2
Gradient accumulation steps & 4 & 4
Effective batch size & 64 & 64
GPUs & 8 MI250X & 8 MI250X
Gradient checkpoint & On & On
During instruction fine-tuning, we use the following template to structure each training example:
You are an intelligent clinical language model.
Below is a snippet of patient’s discharge summary and the following instruction from a healthcare professional. Write a response that appropriately completes the instruction. The response should provide the accurate answer to the instruction, while being concise.
[Discharge Summary Begin]
{patient_note}
[Discharge Summary End]
[Instruction Begin]
{question}
[Instruction End]
We introduce a disease-specific keyword extraction pipeline to detect whether unlearned models continue reproducing specific medical terminology from forget patients. This provides fine-grained evaluation beyond aggregate metrics.
For each patient in the dataset, we extract disease-relevant keywords from three text sources: patient notes, questions, and answers. The pipeline uses scispaCy [29] medical NLP models to identify biomedical entities and noun chunks. Specifically, we use en_core_sci_lg for patient notes, a large English biomedical model trained on scientific literature with word2vec embeddings that can process arbitrarily long texts without token-length restrictions. For questions and answers, the same model is used by default, though the pipeline supports alternative models such as en_core_sci_scibert (a BERT-based transformer model with higher run-time and a 512-token limit). We focus on three major disease categories: Cancer, Cardiovascular, and Infectious or Immune Diseases.
| Category | Subcategory | Terms |
|---|---|---|
| Cancer | General oncology | cancer, tumor, tumour, neoplasm, malignancy, malignant, carcinoma, sarcoma, lymphoma, leukemia, leukaemia, myeloma, glioma, blastoma |
| Pathology | metastasis, metastatic, adenocarcinoma, melanoma, squamous cell, hepatocellular, biopsy, cytology, grade, staging, margins, excision | |
| Specific cancers | lung cancer, breast cancer, colon cancer, prostate cancer, ovarian cancer, pancreatic cancer, lymph node, bone marrow, recurrence, relapse | |
| Treatment | chemotherapy, radiotherapy, radiation therapy, adjuvant, neoadjuvant, palliative, targeted therapy, hormone therapy, resection, debulking, pet scan, screening, remission, immunotherapy | |
| Cardiovascular | General | cardiovascular, cardiac, coronary, myocardial, infarction, angina, arrhythmia, atrial fibrillation, ventricular, heart failure, cardiomyopathy, pericarditis |
| Conditions | hypertension, atherosclerosis, ischemia, ischaemia, stroke, aortic, mitral, valve, embolism, thrombosis, dvt, pulmonary embolism, bradycardia, tachycardia, syncope, heart attack | |
| Biomarkers | troponin, bnp, ntprobnp, ejection fraction, lipids, cholesterol, statin | |
| Procedures | stent, cabg, bypass, angioplasty, revascularization, echocardiogram, ecg, ekg, defibrillation, pacemaker, catheterization, chest pain, cad, chf, hfref, hfpef | |
| Infectious or Immune | Infection (general) | infection, infectious, sepsis, bacteremia, fever, abscess, cellulitis, wound infection |
| Pathogens | viral, virus, bacterial, bacteria, fungal, candida, pathogen, mrsa, tuberculosis, covid, hiv, hepatitis, influenza | |
| Specific infections | pneumonia, meningitis, encephalitis, osteomyelitis, uti | |
| Immune system | immune, immunity, autoimmune, immunosuppression, immunocompromised, complement, cytokine, interferon, rheumatoid, lupus, vasculitis, seropositive | |
| Inflammation markers | inflammation, inflammatory, crp, esr, leukocytosis, neutrophil, lymphocyte, wbc | |
| Diagnostics & treatment | antibiotic, antiviral, antifungal, prophylaxis, culture, pcr, serology | |
| Common Terms | — | patient, patients, year, years, old, male, female, history, medical history, past medical history, pmh, today, yesterday, day, days, week, weeks, month, months, time, normal, none, no, yes, denies, reported, reports, present, mg, ml, cm, right, left, bilateral, mild, moderate, severe, acute, chronic, follow, follow up, plan, assessment, exam, physical exam, question, answer, following, option, options, true, false |
For each disease category, we maintain a curated list of seed terms (Table 5) covering core terminology, conditions, biomarkers, and treatments. These seed lists were curated by prompting Claude (Anthropic) to generate medical terminology for each disease category, followed by manual review and validation by the authors. We also filter out common clinical terms that lack patient-specific diagnostic value.
From each scispaCy-parsed document, we extract:
Named entities identified by the biomedical entity recognizer
Noun chunks from the dependency parser
Filtering: remove common clinical terms, phrases \(<\) 3 characters, and phrases \(>\) 6 words
Each candidate phrase receives a lexical disease relevance score based on its overlap with seed terms:
Exact match: score = 1.0
Multi-word phrase containment: score = 0.9 (e.g., “lung cancer” contains seed “lung cancer”)
Partial word overlap: score = 0.0–0.6 (proportional to Jaccard similarity)
Phrases scoring below 0.5 are filtered. The final score combines relevance with frequency: \(\text{score} = \text{relevance} + \min(\text{freq}, 5) \times 0.05\).
For patient notes, we select the top-5 highest-scoring keywords after removing redundant longer phrases that contain shorter selected keywords (e.g., keep “lung cancer”, remove “small tumor lung cancer”). For questions and answers, we extract all keywords meeting the relevance threshold without top-k limitation, as these texts are shorter and contain fewer candidates.
For each model prediction \(y\) on a forget-set question, we compute the weighted keyword leakage score: \[\text{Leakage}(y) = \frac{\sum_{i} s_i \cdot \mathbb{1}[k_i \in y]}{\sum_{i} s_i}\] where \(k_i\) are the extracted keywords from the corresponding patient (note + question + answer), \(s_i\) are their relevance scores, and \(\mathbb{1}[k_i \in y]\) indicates the exact phrase match detected via tokenized n-gram comparison. The prediction and keywords are lowercased and tokenized (alphanumeric tokens only), then we check if each keyword appears as a contiguous sequence in the prediction tokens.
This metric quantifies the extent to which the model reproduces disease-specific medical terminology associated with forget patients. Algorithm 5 shows the entire pipeline.
This appendix details the LLM-as-judge panel used to verify disease category assignments in AMNESIA, together with the human validation study used to verify the panel itself.
We assembled a three-judge panel with deliberately heterogeneous families to limit single-model bias:
MedGemma-27B-IT (google/medgemma-27b-it): A 27B-parameter medical-specialized instruction-tuned model by Google DeepMind, built on the Gemma 3 backbone and trained on clinical text, medical QA pairs, and EHR data. It
achieves 87.7% on MedQA, making it one of the strongest open-weight models for clinical reasoning and medical question answering.
Qwen3-32B (Qwen/Qwen3-32B): A 32.8B-parameter open-weight model by Alibaba released under Apache 2.0, featuring a hybrid architecture that switches between extended chain-of-thought thinking mode and fast
non-thinking mode. It supports a 128K-token context window with strong performance in mathematics, coding, and agentic reasoning across 119 languages.
GPT-5 mini (gpt-5-mini-2025-08-07): A closed-source proprietary model by OpenAI and the cost-efficient variant of the flagship GPT-5 (released August 2025), supporting a 272K-token context window with vision, function
calling, and web search. It delivers approximately 45% fewer hallucinations than GPT-4o while targeting high-volume, low-latency workloads requiring reliable multi-step reasoning.
Each judge received the article title and assigned category and was required to return a JSON object with three fields: (i) a 1–2 sentence rationale, (ii) a verdict in \(\{\textit{Supported}, \textit{Unsupported}, \textit{Ambiguous}\}\), and (iii) the category the judge believed best fit the title, drawn from {Cardiovascular, Cancer, Infectious/Immune Diseases, Unclear}. The final per-title label was the majority verdict across the three judges; ties (one judge each on three different labels) were recorded as Disagree.
[System]
You are a medical research expert evaluating whether a category label is correctly assigned to a medical article title.
The three valid categories and their definitions:
- Cardiovascular: heart disease, vascular conditions, blood pressure, cardiac interventions, stroke (cerebrovascular), arrhythmias, coronary artery disease.
- Cancer: oncology, tumors, malignancies, carcinomas, chemotherapy, radiotherapy, cancer screening, neoplasms.
- Infectious or Immune Diseases: infections (bacterial, viral, fungal, parasitic), vaccines, autoimmune conditions, immunodeficiency, inflammatory immune responses, sepsis.
You must respond ONLY with a valid JSON object.
[User]
Article Title: “{title}”
Assigned Category: “{category}”
Task: Does the assigned category accurately reflect the medical focus of this title?
Reason step by step:
1. What is the primary medical topic of this title?
2. Which of the three categories does it best fit?
3. Does the assigned category match?
Respond ONLY with this JSON (no markdown, no extra text):
{
"reasoning": "<1-2 sentence explanation>",
"verdict": "<Supported | Unsupported | Ambiguous>",
"correct_category": "<Cardiovascular | Cancer | Infectious or Immune Diseases | Unclear>"
}
The panel evaluated all 900 sampled patient titles spanning Cancer (300 titles), Cardiovascular (300 titles), and Infectious/Immune Diseases (300 titles). Table 6 shows the verdict distribution across models. Table 7 breaks the panel verdict down by assigned disease, and Table 8 reports pairwise inter-judge agreement.
| Verdict | MedGemma | Qwen | GPT-5-m | Panel |
|---|---|---|---|---|
| Supported | 819 (91.0%) | 827 (91.9%) | 827 (91.9%) | 826 (91.8%) |
| Unsupported | 80 (8.9%) | 65 (7.2%) | 70 (7.8%) | 71 (7.9%) |
| Ambiguous | 1 (0.1%) | 8 (0.9%) | 3 (0.3%) | 1 (0.1%) |
| Disagree | — | — | — | 2 (0.2%) |
| Disease | Supp. | Unsupp. | Amb. | Dis. |
|---|---|---|---|---|
| Cancer | 284 | 16 | 0 | 0 |
| Cardiovascular | 283 | 16 | 1 | 0 |
| Infectious / Immune | 259 | 39 | 0 | 2 |
| Total | 826 | 71 | 1 | 2 |
| Pair | Agreement |
|---|---|
| MedGemma \(\leftrightarrow\) Qwen | 95.6% |
| MedGemma \(\leftrightarrow\) GPT-5-mini | 95.1% |
| Qwen \(\leftrightarrow\) GPT-5-mini | 95.8% |
| Fleiss’ \(\kappa\) (binary) | 0.726 (Substantial) |
| Avg.per-row agreement | 95.5% |
To evaluate the panel, one biology student manually verified the aforementioned 900 titles. For each title, the annotator was shown the title and the assigned category and answered a binary question: “Is the assigned category label supported by the title?”(Yes/No). The annotator was blinded to all LLM judge outputs and to the panel verdict at annotation time. The resulting human label distribution was \(870\) Yes and \(30\) No.
We aligned the human Yes/No labels with the LLM Supported/ Unsupported scheme and computed agreement statistics per judge against the human. We report a confusion matrix per judge (Table 12). For each judge’s confusion matrix, that judge’s Ambiguous verdicts were excluded from the denominator (1 for MedGemma, 8 for Qwen, 3 for GPT-5-mini). For the panel matrix, the 1 Ambiguous and 2 Disagree panel outcomes were excluded, yielding 897 rows.
We sampled two QAs (one factual and one reasoning) per 500 randomly selected patients, resulting in \(1{,}000\) (patient note, question, answer) triples from the AMNESIA training pool. We submitted each to the same three-judge panel used for disease-label validation (Appendix 13): MedGemma-27B, Qwen3-32B,and GPT-5-mini.
| (a) MedGemma | ||
|---|---|---|
| human \(\backslash\) judge | Supp. | Unsupp. |
| Supported | 805 | 64 |
| Unsupported | 14 | 16 |
| (b) Qwen | ||
|---|---|---|
| human \(\backslash\) judge | Supp. | Unsupp. |
| Supported | 813 | 52 |
| Unsupported | 14 | 13 |
| (c) GPT-5-mini | ||
|---|---|---|
| human \(\backslash\) judge | Supp. | Unsupp. |
| Supported | 816 | 52 |
| Unsupported | 11 | 18 |
| (d) Panel | ||
|---|---|---|
| human \(\backslash\) judge | Supp. | Unsupp. |
| Supported | 814 | 54 |
| Unsupported | 12 | 17 |
Each judge was given the full patient note alongside the candidate question and answer, and asked for a strict binary verdict together with a brief rationale. The verbatim prompt is below.
[System]
You are a medical AI expert evaluating the quality of question-answer pairs derived from clinical case reports.
You must respond ONLY with a valid JSON object.
[User]
You are evaluating the quality of a medical question-answer pair.
PATIENT NOTE:
{patient_note}
QUESTION:
{question}
ANSWER:
{answer}
TASK:
Evaluate if this QA pair is valid for a medical AI benchmark. A valid QA pair must meet ALL criteria:
1. The question is clear and well-formed
2. The answer is correct based on the patient note
3. The answer can be derived from the information in the patient note
4. The question and answer are clinically meaningful
Provide your evaluation in JSON format:
{
"valid": true/false,
"reasoning": "Brief explanation of your decision (2-3 sentences)"
}
Be strict in your evaluation. If ANY criterion is not met, mark as invalid.
Table 13 summarizes verdicts at the judge and panel level over the \(N=1{,}000\) triples, and Table 14 reports pairwise inter-judge agreement and Fleiss’ \(\kappa\).
| Verdict | MedGemma | Qwen | GPT-5-m | Panel |
|---|---|---|---|---|
| Valid | 957 (95.7%) | 970 (97.0%) | 952 (95.2%) | 976 (97.6%) |
| Invalid | 42 (4.2%) | 29 (2.9%) | 48 (4.8%) | 23 (2.3%) |
| Unknown | 1 (0.1%) | 1 (0.1%) | 0 (0.0%) | — |
| Split | — | — | — | 1 (0.1%) |
| Pair | Agreement |
|---|---|
| MedGemma \(\leftrightarrow\) Qwen | 94.3% |
| MedGemma \(\leftrightarrow\) GPT-5-mini | 93.6% |
| Qwen \(\leftrightarrow\) GPT-5-mini | 93.8% |
| Avg.per-row agreement | 93.9% |
| Fleiss’ \(\kappa\) (Valid vs.Invalid) | 0.216 (Fair) |
Equal contribution.↩︎
All data, code, and baselines will be publicly available without restrictions or data usage agreements.↩︎
https://www.cdc.gov/nchs/fastats/diseases-and-conditions.htm↩︎