SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2506.14003 · ICLR · 2025

Unlearning Isn't Invisible: Detecting Unlearning Traces in LLMs from Model Outputs

Sijia Liu, Qing Qu, Yimeng Zhang, Soumyadeep Pal, Yiwei Chen

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 7 functions out of this paper's own repositories and ran 0 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
OPTML-Group/Unlearn-Trace canonical 0 of 7
FunctionStatusWhere it lives
create_dataset Not yet run OPTML-Group/Unlearn-Trace/generate_response.py
code served (permissive licence) · get_code("726c7400ec239162")
create_dataset_from_json Not yet run OPTML-Group/Unlearn-Trace/generate_wmdp_response.py
code served (permissive licence) · get_code("7065a0494ef687e5")
load_dataset Not yet run OPTML-Group/Unlearn-Trace/classification.py
code served (permissive licence) · get_code("67ea27e453497ccc")
merge_fixed Not yet run OPTML-Group/Unlearn-Trace/data_process/mixed_eval.py
code served (permissive licence) · get_code("c6c3d297bf440870")
merge_fixed Not yet run OPTML-Group/Unlearn-Trace/data_process/mixed_train.py
code served (permissive licence) · get_code("b292f15dd2509309")
normalize_question Not yet run OPTML-Group/Unlearn-Trace/data_process/split.py
code served (permissive licence) · get_code("c557f5e22a5ff852")
relaxed_equal Not yet run OPTML-Group/Unlearn-Trace/data_process/split.py
code served (permissive licence) · get_code("9cbe3b77443b46dc")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Machine unlearning (MU) for large language models (LLMs), commonly referred to as LLM unlearning, seeks to remove specific undesirable data or knowledge from a trained model, while maintaining its performance on standard tasks. While unlearning plays a vital role in protecting data privacy, enforcing copyright, and mitigating sociotechnical harms in LLMs, we identify a new vulnerability postunlearning: unlearning trace detection. We discover that unlearning leaves behind persistent "fingerprints" in LLMs, detectable traces in both model behavior and internal representations. These traces can be identified from output responses, even when prompted with forget-irrelevant inputs. Specifically, even a simple supervised classifier can determine whether a model has undergone unlearning, using only its prediction logits or even its textual outputs. Further analysis shows that these traces are embedded in intermediate activations and propagate nonlinearly to the final layer, forming low-dimensional, learnable manifolds in activation space. Through extensive experiments, we demonstrate that unlearning traces can be detected with over 90% accuracy even under forget-irrelevant inputs, and that larger LLMs exhibit stronger detectability. These findings reveal that unlearning leaves measurable signatures, introducing a new risk of reverse-engineering forgotten information when a model is identified as unlearned, given an input query. Codes are available at https://github.com/OPTML-Group/Unlearn-Trace.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2506.14003")
get_code_for_paper("2506.14003")
have("2506.14003")

Connect an agent — have() is free.