Graph-Guided Selective Unlearning for Language Models: Controlling Support Routes Beyond Forget Seeds
Abstract
Enterprises fine-tune language models on proprietary data that may later require removal due to privacy, contractual, or compliance obligations. Selective unlearning removes requested knowledge while preserving model utility, offering a practical alternative to full retraining, but existing methods treat the explicitly identified forget examples as the complete deletion scope. This is insufficient when target knowledge remains recoverable through paraphrases, aliases, or neighboring training examples. We propose GRAPHSU, a graph-guided controller that expands the deletion scope beyond forget seeds by constructing a weighted support-route graph, propagating deletion pressure through it, and applying graded forgetting strengths to high-risk neighbors. On the Task of Fictitious Unlearning (TOFU), a synthetic author-profile question-answering benchmark, and PISTOL, a structural-unlearning benchmark built around interconnected factual samples, with GPT-2 Medium and Llama-3.2-3B-Instruct, GRAPHSU achieves the lowest utility-feasible soft leakage across all deletion settings, reducing leakage by up to 49.5 percentage points over a matched seed-only baseline, demonstrating that effective enterprise unlearning requires controlling support routes, not just forget seeds.
Figures & tables
| Setting | Complete | Entity | Partial |
| Steps | 1200 | 1200 | 720 |
| Graph activation | 120 | 120 | 220 |
| Neighbour cap | 72 | 72 | 40 |
| Neighbour | 0.35 | 0.32 | 0.15 |
| Entropy weight | 1.35 | 1.40 | 1.15 |
| Unlikelihood weight | 0.60 | 0.60 | 0.25 |
| Dataset | Method | Complete | Entity/Instance | Partial | |||
| Leak | PPL | Leak | PPL | Leak | PPL | ||
| TOFU | GA | 97.13 | 24.91 | 97.75 | 51.13 | 99.75 | 61.24 |
| GA+KL | 97.13 | 24.91 | 97.75 | 51.13 | 88.25 | 42.44 | |
| DPO | 99.88 | 1.24 | 100.00 | 1.30 | 100.00 | 2.94 | |
| NPO-TR | 91.50 | 4.79 | 88.63 | 9.12 | 95.13 | 10.75 | |
| AltPO | 97.50 | 1.58 | 97.19 | 1.30 | 100.00 | 9.02 | |
Appendix figures & tables16 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Leak | PPL |
| Seed-Only | 93.67 | 1.05 |
| GA | 99.70 | 1.08 |
| GA+KL | 94.33 | 1.09 |
| DPO | 94.33 | 1.30 |
| NPO-TR | 91.66 | 1.06 |
| AltPO | 90.00 | 1.08 |
| Method | Leak | PPL |
| Seed-Only | 25.11 | 1.04 |
| GA | 36.00 | 1.20 |
| GA+KL | 38.66 | 1.05 |
| DPO | 92.22 | 1.70 |
| NPO-TR | 33.33 | 1.09 |
| AltPO | 34.67 | 1.15 |
| Method | Leak | PPL |
| Seed-Only | 94.33 | 1.56 |
| GA | 94.36 | 1.05 |
| GA+KL | 89.00 | 1.16 |
| DPO | 96.36 | 1.03 |
| NPO-TR | 89.66 | 1.07 |
| AltPO | 88.67 | 1.09 |
| Setting | Pareto-optimal operating points |
| Complete | DPO (99.88, 1.24); SELU (92.88, 1.29); GraphSU (46.83, 3.27); GRU (38.13, 79.11) |
| Entity/instance | AltPO (97.19, 1.30); Seed-Only (96.25, 4.40); GraphSU (54.60, 4.94) |
| Partial | SELU (98.75, 1.27); GraphSU (81.67, 1.91) |
| Setting | Value |
| Extraction model | GPT-4.1 |
| Output format | JSON object ( json_object mode) |
| Nominal workload | Approximately one initial request per QA sample |
| Maximum retry attempts | 3 |
| Request timeout | 60 seconds |
| Maximum labelled few-shot examples | 20 |
| Metric | Original-SFT | Local-Qwen GraphSU |
| Soft leakage | 91.25% | 49.83% |
| Hard leakage | 37.67% | 1.33% |
| Forget-answer F1 | 84.37% | 33.86% |
| Retain F1 | 72.55% | 30.27% |
| Retain semantic cosine | 90.95% | 79.53% |
| Retain PPL | 4.30 | 9.95 |
| Route family | Generation rule | Representative prompt |
| Direct | Preserve the original question, optionally adding a neutral instruction wrapper. | “Please answer: ” |
| Paraphrase | Apply relation-specific lexical and syntactic transformations while preserving , , and target . | “At which institution is employed?” |
| Indirect | Ask for the same relation using contextual or descriptive wording rather than the original surface form. | “Which organisation is associated with ’s employment?” |
| Cloze | Convert the target fact into a declarative statement and replace the target value with a blank. | “ works at .” |
| Related-fact | Introduce another validated fact associated with or a selected graph neighbour, and then query the target relation. | “The researcher who studies is affiliated with which institution?” |
| Entity alias | Replace the canonical entity mention with a validated alias from . | “Where does work?” |
| Route | Generated prompt | Purpose |
| Direct | Where does Avery Collins work? | Tests recovery through the original question. |
| Paraphrase | At which institution is Avery Collins employed? | Changes lexical and syntactic form while preserving the target relation. |
| Indirect | Which university is associated with Avery Collins’s employment? | Avoids the original “where does … work” formulation. |
| Cloze | Avery Collins works at . | Tests whether the target completes a factual statement. |
| Related-fact | The researcher known for work on machine ethics is affiliated with which institution? | Uses a related fact to reach the target entity; emitted only when that fact identifies the intended entity without ambiguity. |
| Entity alias | Where does A. Collins work? | Tests recovery after replacing the canonical entity name with a validated alias. |
| Panel | Detector | Seed-Only | GraphSU | Reduction | 95% CI | McNemar |
| All targets | Fixed-reference | 74.18% | 61.68% | 12.50 pp | [8.02, 17.26] | |
| All targets | Combined | 75.68% | 62.09% | 13.59 pp | [8.97, 18.34] | |
| Confirmed attacks | Fixed-reference | 78.95% | 65.20% | 13.74 pp | [7.02, 20.76] | |
| Confirmed attacks | Combined | 79.82% | 65.50% | 14.33 pp | [7.89, 21.05] |
| Samples | Stored edges | Avg. degree | Build time (s) | CPU RAM (GB) | GPU mem. (GB) | Cache (MB) | Warm sel. (s) | Cold sel. (s) |
| 1K | 11,279 | 22.56 | 106.01 | 1.41 | 2.36 | 2.87 | 0.68 | 1.27 |
| 2K | 22,795 | 22.80 | 212.41 | 1.45 | 2.47 | 4.93 | 1.74 | 3.02 |
| 4K | 45,524 | 22.76 | 452.36 | 1.40 | 2.36 | 7.82 | 4.01 | 6.53 |
| Stage | Observed cost or workload |
| Request-conditioned support selection | 11.4–33.4 seconds per deletion request (mean 25.9 seconds), including request grounding, one- and two-hop support retrieval, support scoring, and retain-safety filtering. No external calls are used. |
| Model update and orchestration | Approximately 5.7–6.9 minutes per request, measured as total wall time minus logged evaluation time. The residual includes setup and checkpointing and is not a pure training-time measurement. |
| Full recovery-route audit | 63.0–83.1 minutes and 4,464–5,376 local model generations. This is an offline validation cost rather than request-time latency and uses no external LLM calls. |
| Setting | Method | Soft leak | Retain PPL | Retain F1 | ROUGE-L F1 |
| Complete | Seed-Only | 93.25 | 2.61 | 39.07 | 35.03 |
| Complete | GraphSU | 46.83 | 3.27 | 42.41 | 47.36 |
| Entity | Seed-Only | 96.25 | 4.40 | 37.16 | 33.38 |
| Entity | GraphSU | 54.60 | 4.94 | 59.11 | 56.82 |
| Partial | Seed-Only | 100.00 | 7.90 | 3.20 | 3.01 |
| Partial | GraphSU | 81.67 | 1.91 | 55.14 | 51.07 |
| Setting | Method | Far-retain F1 | Neighbour F1 | Safe-span F1 |
| Complete | Seed-Only | 41.05 | 31.79 | – |
| Complete | GraphSU | 51.06 | 32.77 | – |
| Entity | Seed-Only | 43.42 | 34.69 | – |
| Entity | GraphSU | 57.13 | 46.17 | – |
| Partial | Seed-Only | 1.14 | 0.83 | 1.26 |
| Partial | GraphSU | 54.58 | 54.54 | 61.31 |
Machine Unlearning
Machine unlearning removes the influence of selected data or concepts from trained models while preserving useful behavior and avoiding full retraining.
See all 351 papers