{"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/perturbation-restrained-sequential-model","title":"Perturbation-Restrained Sequential Model Editing","arxiv_id":"2405.16821","date":"2024-05-27","proceeding":null,"authors":["Jun-Yu Ma","Hong Wang","Hao-Xiang Xu","Zhen-Hua Ling","Jia-Chen Gu"],"abstract":"Model editing is an emerging field that focuses on updating the knowledge embedded within large language models (LLMs) without extensive retraining. However, current model editing methods significantly compromise the general abilities of LLMs as the number of edits increases, and this trade-off poses a substantial challenge to the continual learning of LLMs. In this paper, we first theoretically analyze that the factor affecting the general abilities in sequential model editing lies in the condition number of the edited matrix. The condition number of a matrix represents its numerical sensitivity, and therefore can be used to indicate the extent to which the original knowledge associations stored in LLMs are perturbed after editing. Subsequently, statistical findings demonstrate that the value of this factor becomes larger as the number of edits increases, thereby exacerbating the deterioration of general abilities. To this end, a framework termed Perturbation Restraint on Upper bouNd for Editing (PRUNE) is proposed, which applies the condition number restraints in sequential editing. These restraints can lower the upper bound on perturbation to edited models, thus preserving the general abilities. Systematically, we conduct experiments employing three popular editing methods on three LLMs across four representative downstream tasks. Evaluation results show that PRUNE can preserve considerable general abilities while maintaining the editing performance effectively in sequential model editing. The code and data are available at https://github.com/mjy1111/PRUNE.","url_abs":"https://arxiv.org/abs/2405.16821v1","url_pdf":"https://arxiv.org/pdf/2405.16821v1.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":"perturbation-restrained-sequential-model","repo_url":"https://github.com/mjy1111/prune","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"continual-learning","task_name":"Continual Learning"},{"task_slug":"model-editing","task_name":"Model Editing"},{"task_slug":"model","task_name":"model"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.16821","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.16821"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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":"deterministic:regex_extraction","url":"https://github.com/mjy1111/PRUNE","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mjy1111/prune","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":3,"ran":5,"ran_fixture":3,"unverified":11},"by_repo_kind":{"official":{"samples":20,"ran":10,"repositories":1},"community":{"samples":2,"ran":1,"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":22,"samples":[{"code_sha256_prefix":"27659a9c234ffb11","entry":"binary_log_probs","repo":"mjy1111/PRUNE","repo_kind":"official","path":"easyeditor/trainer/losses.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/easyeditor/trainer/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"27659a9c234ffb11"}},{"code_sha256_prefix":"b8d4c7f1f1d41435","entry":"ems","repo":"mjy1111/PRUNE","repo_kind":"official","path":"edit_load.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/edit_load.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b8d4c7f1f1d41435"}},{"code_sha256_prefix":"4be72e172f90cb2c","entry":"exact_match_score","repo":"mjy1111/PRUNE","repo_kind":"official","path":"edit_load.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/edit_load.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4be72e172f90cb2c"}},{"code_sha256_prefix":"43f5e703d43cd3af","entry":"func_linear","repo":"mjy1111/prune","repo_kind":"official","path":"easyeditor/editors/bi_editor_loadw.py","file_url":"https://github.com/mjy1111/prune/blob/HEAD/easyeditor/editors/bi_editor_loadw.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"43f5e703d43cd3af"}},{"code_sha256_prefix":"4564d612fcb1466b","entry":"func_log","repo":"mjy1111/prune","repo_kind":"official","path":"easyeditor/editors/bi_editor_loadw.py","file_url":"https://github.com/mjy1111/prune/blob/HEAD/easyeditor/editors/bi_editor_loadw.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4564d612fcb1466b"}},{"code_sha256_prefix":"f1bdb8c20ac9eddc","entry":"func_logn","repo":"mjy1111/prune","repo_kind":"official","path":"easyeditor/editors/bi_editor_loadw.py","file_url":"https://github.com/mjy1111/prune/blob/HEAD/easyeditor/editors/bi_editor_loadw.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f1bdb8c20ac9eddc"}},{"code_sha256_prefix":"920b394e7ad80c53","entry":"hierarchical_subsequence","repo":"mjy1111/PRUNE","repo_kind":"official","path":"easyeditor/util/nethook.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/easyeditor/util/nethook.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"920b394e7ad80c53"}},{"code_sha256_prefix":"4cca112e5e6da5dc","entry":"normalize_answer","repo":"mjy1111/PRUNE","repo_kind":"official","path":"edit_load.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/edit_load.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4cca112e5e6da5dc"}},{"code_sha256_prefix":"93dd9ee7019cac04","entry":"parse_opt","repo":"yzqxy/Yolov8_obb_Prune_Track","repo_kind":"community","path":"track_predict.py","file_url":"https://github.com/yzqxy/Yolov8_obb_Prune_Track/blob/HEAD/track_predict.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"93dd9ee7019cac04"}},{"code_sha256_prefix":"70f6ab8bde55420e","entry":"recursive_copy","repo":"mjy1111/PRUNE","repo_kind":"official","path":"easyeditor/util/nethook.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/easyeditor/util/nethook.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"70f6ab8bde55420e"}},{"code_sha256_prefix":"440ff98c2b1ae1aa","entry":"subsequence","repo":"mjy1111/PRUNE","repo_kind":"official","path":"easyeditor/util/nethook.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/easyeditor/util/nethook.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"440ff98c2b1ae1aa"}},{"code_sha256_prefix":"b6c3e95c8701054a","entry":"BiEditor","repo":"mjy1111/prune","repo_kind":"official","path":"easyeditor/editors/bi_editor_loadw.py","file_url":"https://github.com/mjy1111/prune/blob/HEAD/easyeditor/editors/bi_editor_loadw.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b6c3e95c8701054a"}},{"code_sha256_prefix":"388678e8f4119c5e","entry":"HyperParams","repo":"mjy1111/prune","repo_kind":"official","path":"easyeditor/editors/bi_editor_loadw.py","file_url":"https://github.com/mjy1111/prune/blob/HEAD/easyeditor/editors/bi_editor_loadw.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"388678e8f4119c5e"}},{"code_sha256_prefix":"e8d5e9ffa03678b6","entry":"SingletonEditor","repo":"mjy1111/prune","repo_kind":"official","path":"easyeditor/editors/bi_editor_loadw.py","file_url":"https://github.com/mjy1111/prune/blob/HEAD/easyeditor/editors/bi_editor_loadw.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e8d5e9ffa03678b6"}},{"code_sha256_prefix":"17f0b985218dd2de","entry":"dist2bbox","repo":"yzqxy/Yolov8_obb_Prune_Track","repo_kind":"community","path":"models/yolo_prune.py","file_url":"https://github.com/yzqxy/Yolov8_obb_Prune_Track/blob/HEAD/models/yolo_prune.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"17f0b985218dd2de"}},{"code_sha256_prefix":"6780715b512fe3d5","entry":"get_model","repo":"mjy1111/PRUNE","repo_kind":"official","path":"easyeditor/trainer/models.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/easyeditor/trainer/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6780715b512fe3d5"}},{"code_sha256_prefix":"2defe42cf1a7f301","entry":"get_tokenizer","repo":"mjy1111/PRUNE","repo_kind":"official","path":"easyeditor/trainer/models.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/easyeditor/trainer/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2defe42cf1a7f301"}},{"code_sha256_prefix":"bcc592aa5c1e2bb3","entry":"kl_loc_loss","repo":"mjy1111/PRUNE","repo_kind":"official","path":"easyeditor/trainer/losses.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/easyeditor/trainer/losses.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bcc592aa5c1e2bb3"}},{"code_sha256_prefix":"0d697759222eb008","entry":"main","repo":"mjy1111/prune","repo_kind":"official","path":"experiments/summarize.py","file_url":"https://github.com/mjy1111/prune/blob/HEAD/experiments/summarize.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0d697759222eb008"}},{"code_sha256_prefix":"d8238a5b68add3f7","entry":"make_logs","repo":"mjy1111/prune","repo_kind":"official","path":"easyeditor/editors/bi_editor_loadw.py","file_url":"https://github.com/mjy1111/prune/blob/HEAD/easyeditor/editors/bi_editor_loadw.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d8238a5b68add3f7"}},{"code_sha256_prefix":"caf658f0bdfae9a9","entry":"multiclass_log_probs","repo":"mjy1111/PRUNE","repo_kind":"official","path":"easyeditor/trainer/losses.py","file_url":"https://github.com/mjy1111/PRUNE/blob/HEAD/easyeditor/trainer/losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"caf658f0bdfae9a9"}},{"code_sha256_prefix":"ec21131da929953e","entry":"read_weights","repo":"mjy1111/prune","repo_kind":"official","path":"easyeditor/editors/bi_editor_loadw.py","file_url":"https://github.com/mjy1111/prune/blob/HEAD/easyeditor/editors/bi_editor_loadw.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ec21131da929953e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}