{"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/from-complex-to-simple-enhancing-multi","title":"From Complex to Simple: Enhancing Multi-Constraint Complex Instruction Following Ability of Large Language Models","arxiv_id":"2404.15846","date":"2024-04-24","proceeding":null,"authors":["Qianyu He","Jie Zeng","Qianxi He","Jiaqing Liang","Yanghua Xiao"],"abstract":"It is imperative for Large language models (LLMs) to follow instructions with elaborate requirements (i.e. Complex Instructions Following). Yet, it remains under-explored how to enhance the ability of LLMs to follow complex instructions with multiple constraints. To bridge the gap, we initially study what training data is effective in enhancing complex constraints following abilities. We found that training LLMs with instructions containing multiple constraints enhances their understanding of complex instructions, especially those with lower complexity levels. The improvement can even generalize to compositions of out-of-domain constraints. Additionally, we further propose methods addressing how to obtain and utilize the effective training data. Finally, we conduct extensive experiments to prove the effectiveness of our methods in terms of overall performance and training efficiency. We also demonstrate that our methods improve models' ability to follow instructions generally and generalize effectively across out-of-domain, in-domain, and adversarial settings, while maintaining general capabilities.","url_abs":"https://arxiv.org/abs/2404.15846v2","url_pdf":"https://arxiv.org/pdf/2404.15846v2.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":"from-complex-to-simple-enhancing-multi","repo_url":"https://github.com/meowpass/followcomplexinstruction","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"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2404.15846","atlas_url":"https://app.syntology.ai/?focus=2404.15846","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.15846"}},"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/meowpass/followcomplexinstruction","reach":{"status":"ok"}}],"summary":{"ran":4,"unverified":4},"by_repo_kind":{"official":{"samples":8,"ran":4,"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":8,"samples":[{"code_sha256_prefix":"d197da35ee544f75","entry":"conflict_make","repo":"meowpass/followcomplexinstruction","repo_kind":"official","path":"get_data/instructions_registry.py","file_url":"https://github.com/meowpass/followcomplexinstruction/blob/HEAD/get_data/instructions_registry.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":"d197da35ee544f75"}},{"code_sha256_prefix":"cdcc85ca09b00f7e","entry":"count_words","repo":"meowpass/followcomplexinstruction","repo_kind":"official","path":"get_data/instructions_util.py","file_url":"https://github.com/meowpass/followcomplexinstruction/blob/HEAD/get_data/instructions_util.py","link_basis":"harvester_set","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":"cdcc85ca09b00f7e"}},{"code_sha256_prefix":"6ef1aee592402546","entry":"read_prompt_list","repo":"meowpass/followcomplexinstruction","repo_kind":"official","path":"get_data/check.py","file_url":"https://github.com/meowpass/followcomplexinstruction/blob/HEAD/get_data/check.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":"6ef1aee592402546"}},{"code_sha256_prefix":"34d346853108011e","entry":"split_into_sentences","repo":"meowpass/followcomplexinstruction","repo_kind":"official","path":"get_data/instructions_util.py","file_url":"https://github.com/meowpass/followcomplexinstruction/blob/HEAD/get_data/instructions_util.py","link_basis":"harvester_set","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":"34d346853108011e"}},{"code_sha256_prefix":"f79646ddd0a03162","entry":"count_sentences","repo":"meowpass/followcomplexinstruction","repo_kind":"official","path":"get_data/instructions_util.py","file_url":"https://github.com/meowpass/followcomplexinstruction/blob/HEAD/get_data/instructions_util.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":"f79646ddd0a03162"}},{"code_sha256_prefix":"ee0fb943a653c769","entry":"format_prompt","repo":"meowpass/followcomplexinstruction","repo_kind":"official","path":"get_data/do_inference.py","file_url":"https://github.com/meowpass/followcomplexinstruction/blob/HEAD/get_data/do_inference.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":"ee0fb943a653c769"}},{"code_sha256_prefix":"44bfe81032401eb3","entry":"generate","repo":"meowpass/followcomplexinstruction","repo_kind":"official","path":"get_data/do_inference.py","file_url":"https://github.com/meowpass/followcomplexinstruction/blob/HEAD/get_data/do_inference.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":"44bfe81032401eb3"}},{"code_sha256_prefix":"6c1a7db24cb308eb","entry":"get_res","repo":"meowpass/followcomplexinstruction","repo_kind":"official","path":"get_data/GPT_api.py","file_url":"https://github.com/meowpass/followcomplexinstruction/blob/HEAD/get_data/GPT_api.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":"6c1a7db24cb308eb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}