{"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/cross-model-control-improving-multiple-large","title":"Cross-model Control: Improving Multiple Large Language Models in One-time Training","arxiv_id":"2410.17599","date":"2024-10-23","proceeding":null,"authors":["Jiayi Wu","Hao Sun","Hengyi Cai","Lixin Su","Shuaiqiang Wang","Dawei Yin","Xiang Li","Ming Gao"],"abstract":"The number of large language models (LLMs) with varying parameter scales and vocabularies is increasing. While they deliver powerful performance, they also face a set of common optimization needs to meet specific requirements or standards, such as instruction following or avoiding the output of sensitive information from the real world. However, how to reuse the fine-tuning outcomes of one model to other models to reduce training costs remains a challenge. To bridge this gap, we introduce Cross-model Control (CMC), a method that improves multiple LLMs in one-time training with a portable tiny language model. Specifically, we have observed that the logit shift before and after fine-tuning is remarkably similar across different models. Based on this insight, we incorporate a tiny language model with a minimal number of parameters. By training alongside a frozen template LLM, the tiny model gains the capability to alter the logits output by the LLMs. To make this tiny language model applicable to models with different vocabularies, we propose a novel token mapping strategy named PM-MinED. We have conducted extensive experiments on instruction tuning and unlearning tasks, demonstrating the effectiveness of CMC. Our code is available at https://github.com/wujwyi/CMC.","url_abs":"https://arxiv.org/abs/2410.17599v1","url_pdf":"https://arxiv.org/pdf/2410.17599v1.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":"cross-model-control-improving-multiple-large","repo_url":"https://github.com/wujwyi/cmc","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"instruction-following","task_name":"Instruction Following"},{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"}],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.17599","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.17599"}},"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/wujwyi/CMC","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wujwyi/cmc","reach":{"status":"ok"}}],"summary":{"ran_honours":1,"ran_draft_wrong":2,"ran":2,"unverified":5},"by_repo_kind":{"official":{"samples":10,"ran":5,"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":10,"samples":[{"code_sha256_prefix":"aff79cbf1aa89aab","entry":"count_parameters","repo":"wujwyi/cmc","repo_kind":"official","path":"train_by_text/train_delta_model.py","file_url":"https://github.com/wujwyi/cmc/blob/HEAD/train_by_text/train_delta_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":2,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aff79cbf1aa89aab"}},{"code_sha256_prefix":"23bfd2f7ec658737","entry":"add_pad_token","repo":"wujwyi/cmc","repo_kind":"official","path":"eval/predict.py","file_url":"https://github.com/wujwyi/cmc/blob/HEAD/eval/predict.py","link_basis":"first_harvest_node","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":"23bfd2f7ec658737"}},{"code_sha256_prefix":"cdd171f20cd6f53d","entry":"collate_fn","repo":"wujwyi/CMC","repo_kind":"official","path":"tofu/data_module.py","file_url":"https://github.com/wujwyi/CMC/blob/HEAD/tofu/data_module.py","link_basis":"plan_row","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":"cdd171f20cd6f53d"}},{"code_sha256_prefix":"5985b70afc6ef2b0","entry":"custom_data_collator","repo":"wujwyi/CMC","repo_kind":"official","path":"tofu/data_module.py","file_url":"https://github.com/wujwyi/CMC/blob/HEAD/tofu/data_module.py","link_basis":"plan_row","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":"5985b70afc6ef2b0"}},{"code_sha256_prefix":"649fc48067a48529","entry":"find_all_linear_names","repo":"wujwyi/CMC","repo_kind":"official","path":"tofu/finetune.py","file_url":"https://github.com/wujwyi/CMC/blob/HEAD/tofu/finetune.py","link_basis":"plan_row","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":"649fc48067a48529"}},{"code_sha256_prefix":"7dec325d088c0b76","entry":"convert_raw_data_to_model_format","repo":"wujwyi/CMC","repo_kind":"official","path":"tofu/data_module.py","file_url":"https://github.com/wujwyi/CMC/blob/HEAD/tofu/data_module.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":"7dec325d088c0b76"}},{"code_sha256_prefix":"ec441092c93ad116","entry":"dispatch_model","repo":"wujwyi/CMC","repo_kind":"official","path":"eval/chat_model.py","file_url":"https://github.com/wujwyi/CMC/blob/HEAD/eval/chat_model.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":"ec441092c93ad116"}},{"code_sha256_prefix":"7aba54878bdf4a47","entry":"dispatch_model","repo":"wujwyi/CMC","repo_kind":"official","path":"full_finetune/train_base_model.py","file_url":"https://github.com/wujwyi/CMC/blob/HEAD/full_finetune/train_base_model.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":"7aba54878bdf4a47"}},{"code_sha256_prefix":"d814621e5fc90dbf","entry":"get_model","repo":"wujwyi/CMC","repo_kind":"official","path":"full_finetune/train_base_model.py","file_url":"https://github.com/wujwyi/CMC/blob/HEAD/full_finetune/train_base_model.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":"d814621e5fc90dbf"}},{"code_sha256_prefix":"ea6ca0d37a96f16c","entry":"smooth","repo":"wujwyi/CMC","repo_kind":"official","path":"llm_base/model_trainer.py","file_url":"https://github.com/wujwyi/CMC/blob/HEAD/llm_base/model_trainer.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":"ea6ca0d37a96f16c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}