{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/snap-unlearning-selective-knowledge-in-large","title":"Opt-Out: Investigating Entity-Level Unlearning for Large Language Models via Optimal Transport","arxiv_id":"2406.12329","date":"2024-06-18","proceeding":null,"authors":["Minseok Choi","Daniel Rim","Dohyun Lee","Jaegul Choo"],"abstract":"Instruction-following large language models (LLMs), such as ChatGPT, have become widely popular among everyday users. However, these models inadvertently disclose private, sensitive information to their users, underscoring the need for machine unlearning techniques to remove selective information from the models. While prior work has focused on forgetting small, random subsets of training data at the instance-level, we argue that real-world scenarios often require the removal of an entire user data, which may require a more careful maneuver. In this study, we explore entity-level unlearning, which aims to erase all knowledge related to a target entity while preserving the remaining model capabilities. To address this, we introduce Opt-Out, an optimal transport-based unlearning method that utilizes the Wasserstein distance from the model's initial parameters to achieve more effective and fine-grained unlearning. We also present the first Entity-Level Unlearning Dataset (ELUDe) designed to evaluate entity-level unlearning. Our empirical results demonstrate that Opt-Out surpasses existing methods, establishing a new standard for secure and adaptable LLMs that can accommodate user data removal requests without the need for full retraining.","url_abs":"https://arxiv.org/abs/2406.12329v2","url_pdf":"https://arxiv.org/pdf/2406.12329v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"snap-unlearning-selective-knowledge-in-large","repo_url":"https://github.com/brightjade/Opt-Out","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"snap-unlearning-selective-knowledge-in-large","repo_url":"https://github.com/brightjade/snap-unlearning","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"instruction-following","task_name":"Instruction Following"},{"task_slug":"machine-unlearning","task_name":"Machine Unlearning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2406.12329","atlas_url":"https://app.syntology.ai/?focus=2406.12329","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.12329"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/brightjade/Opt-Out","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/brightjade/snap-unlearning","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"unverified":4},"by_repo_kind":{"official":{"samples":7,"ran":3,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"8f34ac05d4406cde","entry":"create_reference_model","repo":"brightjade/Opt-Out","repo_kind":"official","path":"model.py","file_url":"https://github.com/brightjade/Opt-Out/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8f34ac05d4406cde"}},{"code_sha256_prefix":"04d68ff7fd17a649","entry":"custom_eval_collate_fn","repo":"brightjade/Opt-Out","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/brightjade/Opt-Out/blob/HEAD/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"04d68ff7fd17a649"}},{"code_sha256_prefix":"3cbc61d43fe1b010","entry":"custom_train_collate_fn","repo":"brightjade/Opt-Out","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/brightjade/Opt-Out/blob/HEAD/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3cbc61d43fe1b010"}},{"code_sha256_prefix":"7602201e656afaf5","entry":"evaluate","repo":"brightjade/Opt-Out","repo_kind":"official","path":"evaluator.py","file_url":"https://github.com/brightjade/Opt-Out/blob/HEAD/evaluator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7602201e656afaf5"}},{"code_sha256_prefix":"a0f7e584947785ef","entry":"load_data","repo":"brightjade/Opt-Out","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/brightjade/Opt-Out/blob/HEAD/dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a0f7e584947785ef"}},{"code_sha256_prefix":"1e894760d60a6582","entry":"load_model","repo":"brightjade/Opt-Out","repo_kind":"official","path":"model.py","file_url":"https://github.com/brightjade/Opt-Out/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1e894760d60a6582"}},{"code_sha256_prefix":"3e34efa256660441","entry":"load_tokenizer","repo":"brightjade/Opt-Out","repo_kind":"official","path":"model.py","file_url":"https://github.com/brightjade/Opt-Out/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3e34efa256660441"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}