{"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/arxiv-2605-20803","title":"Tunable MAGMAX: Preference-Aware Model Merging for Continual Learning","arxiv_id":"2605.20803","date":"2026-05-20","proceeding":null,"authors":["Kei Hiroshima","Kento Uchida","Shinichi Shirakawa"],"abstract":"Continual learning (CL) aims to train models sequentially on multiple tasks while mitigating catastrophic forgetting of previously learned knowledge. Recent advances in large pre-trained models (LPMs) and model merging techniques, such as MAGMAX, have demonstrated effective CL performance by combining task-specific parameters. However, existing methods primarily focus on average performance across all tasks and do not adequately address how to construct models accommodating different deployment environments or varying user preferences. This paper proposes a model merging framework, termed Tunable MAGMAX, which enables preference-aware control of task-specific performance in CL. Our method introduces a preference vector that controls the number of elements selected from each task vector during model merging, allowing us to adjust the merged model performance according to their deployment needs. We further propose a method for automatically constructing appropriate preference vectors by leveraging small amounts of target environment data and datasets from model training tasks, thereby eliminating the need for manual specification. The experimental result on CL benchmark tasks demonstrates that Tunable MAGMAX effectively controls task-wise performance and successfully adapts merged models to various target environments. The proposed Tunable MAGMAX achieves superior or comparable performance to baseline methods, making it a practical solution for deploying CL models to various environments where the preferences of each task performance differ.","url_abs":"https://arxiv.org/abs/2605.20803","url_pdf":"https://arxiv.org/pdf/2605.20803","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2605.20803","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.20803"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/KeiHiroshima/tunable-magmax","reach":null}],"summary":{"ran":6,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"found_in_text":{"samples":10,"ran":7,"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":"b76500bc7f542ca5","entry":"build_file_path_list","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"postprocessing/utils.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/postprocessing/utils.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":"b76500bc7f542ca5"}},{"code_sha256_prefix":"2d5d7a12d8de02b7","entry":"cosine_lr","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"src/utils.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/src/utils.py","link_basis":"harvester_set","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":"2d5d7a12d8de02b7"}},{"code_sha256_prefix":"0950233b875181d6","entry":"get_class_incremental_classes_and_subset_indices","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"src/datasets/common.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/src/datasets/common.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":"0950233b875181d6"}},{"code_sha256_prefix":"6c5767d872d24a45","entry":"get_zeroshot_checkpoint","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"src/config.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/src/config.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6c5767d872d24a45"}},{"code_sha256_prefix":"b1e9e0d3d7d7e615","entry":"maybe_dictionarize","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"src/datasets/common.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/src/datasets/common.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b1e9e0d3d7d7e615"}},{"code_sha256_prefix":"05494a683cf8e3db","entry":"parse_competitor_key","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"postprocessing/utils.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/postprocessing/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"05494a683cf8e3db"}},{"code_sha256_prefix":"b5b2a970d71a6c73","entry":"resolve_dir_path","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"postprocessing/utils.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/postprocessing/utils.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":"b5b2a970d71a6c73"}},{"code_sha256_prefix":"aafcff3ad1ccef6e","entry":"accuracy","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"src/utils.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/src/utils.py","link_basis":"harvester_set","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":"aafcff3ad1ccef6e"}},{"code_sha256_prefix":"b1839b50380566e8","entry":"get_balanced_data_incremental_subset_indices","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"src/datasets/common.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/src/datasets/common.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":"b1839b50380566e8"}},{"code_sha256_prefix":"79ae2d63ada03edb","entry":"torch_load","repo":"KeiHiroshima/tunable-magmax","repo_kind":"found_in_text","path":"src/utils.py","file_url":"https://github.com/KeiHiroshima/tunable-magmax/blob/HEAD/src/utils.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":"79ae2d63ada03edb"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}