{"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/instruction-following-evaluation-for-large","title":"Instruction-Following Evaluation for Large Language Models","arxiv_id":"2311.07911","date":"2023-11-14","proceeding":null,"authors":["Jeffrey Zhou","Tianjian Lu","Swaroop Mishra","Siddhartha Brahma","Sujoy Basu","Yi Luan","Denny Zhou","Le Hou"],"abstract":"One core capability of Large Language Models (LLMs) is to follow natural language instructions. However, the evaluation of such abilities is not standardized: Human evaluations are expensive, slow, and not objectively reproducible, while LLM-based auto-evaluation is potentially biased or limited by the ability of the evaluator LLM. To overcome these issues, we introduce Instruction-Following Eval (IFEval) for large language models. IFEval is a straightforward and easy-to-reproduce evaluation benchmark. It focuses on a set of \"verifiable instructions\" such as \"write in more than 400 words\" and \"mention the keyword of AI at least 3 times\". We identified 25 types of those verifiable instructions and constructed around 500 prompts, with each prompt containing one or more verifiable instructions. We show evaluation results of two widely available LLMs on the market. Our code and data can be found at https://github.com/google-research/google-research/tree/master/instruction_following_eval","url_abs":"https://arxiv.org/abs/2311.07911v1","url_pdf":"https://arxiv.org/pdf/2311.07911v1.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":"instruction-following-evaluation-for-large","repo_url":"https://github.com/google-research/google-research/tree/master/instruction_following_eval","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"jax","reach":null},{"paper_slug":"instruction-following-evaluation-for-large","repo_url":"https://github.com/deepseek-ai/deepseek-llm","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"instruction-following-evaluation-for-large","repo_url":"https://github.com/josejg/instruction_following_eval","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"instruction-following-evaluation-for-large","repo_url":"https://github.com/lightblue-tech/M-IFEval","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"instruction-following","task_name":"Instruction Following"}],"methods":[{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[{"slug":"ifeval","name":"IFEval","full_name":"Instruction Following Evaluation Datset"}],"methods_introduced":[],"results":[{"leaderboard":"/sota/instruction-following-on-ifeval","task":"Instruction Following","dataset":"IFEval","model":"GPT-4","rank_in_archive_order":3,"of":4,"metrics":{"Inst-level loose-accuracy":"85.37","Inst-level strict-accuracy":"83.57","Prompt-level loose-accuracy":"79.3","Prompt-level strict-accuracy":"76.89"},"uses_additional_data":false},{"leaderboard":"/sota/instruction-following-on-ifeval","task":"Instruction Following","dataset":"IFEval","model":"PaLM 2 S","rank_in_archive_order":4,"of":4,"metrics":{"Inst-level loose-accuracy":"59.11","Inst-level strict-accuracy":"55.76","Prompt-level loose-accuracy":"46.95","Prompt-level strict-accuracy":"43.07"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2311.07911","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.07911"}},"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/google-research/google-research","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/deepseek-ai/deepseek-llm","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/josejg/instruction_following_eval","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-research/google-research/tree/master/instruction_following_eval","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lightblue-tech/M-IFEval","reach":null}],"summary":{"ran":1,"ran_draft_wrong":1,"unverified":5},"by_repo_kind":{"listed":{"samples":7,"ran":2,"repositories":2}},"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":"cdcc85ca09b00f7e","entry":"count_words","repo":"josejg/instruction_following_eval","repo_kind":"listed","path":"instruction_following_eval/instructions_util.py","file_url":"https://github.com/josejg/instruction_following_eval/blob/HEAD/instruction_following_eval/instructions_util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cdcc85ca09b00f7e"}},{"code_sha256_prefix":"1c91fdb27a21c14a","entry":"read_prompt_list","repo":"lightblue-tech/M-IFEval","repo_kind":"listed","path":"evaluation_main.py","file_url":"https://github.com/lightblue-tech/M-IFEval/blob/HEAD/evaluation_main.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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1c91fdb27a21c14a"}},{"code_sha256_prefix":"cd24b41647f51d39","entry":"conflict_make","repo":"josejg/instruction_following_eval","repo_kind":"listed","path":"instruction_following_eval/instructions_registry.py","file_url":"https://github.com/josejg/instruction_following_eval/blob/HEAD/instruction_following_eval/instructions_registry.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cd24b41647f51d39"}},{"code_sha256_prefix":"f79646ddd0a03162","entry":"count_sentences","repo":"josejg/instruction_following_eval","repo_kind":"listed","path":"instruction_following_eval/instructions_util.py","file_url":"https://github.com/josejg/instruction_following_eval/blob/HEAD/instruction_following_eval/instructions_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f79646ddd0a03162"}},{"code_sha256_prefix":"bca58caea98bb645","entry":"instruction_mean","repo":"josejg/instruction_following_eval","repo_kind":"listed","path":"instruction_following_eval/evaluation.py","file_url":"https://github.com/josejg/instruction_following_eval/blob/HEAD/instruction_following_eval/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bca58caea98bb645"}},{"code_sha256_prefix":"05d583bc67660802","entry":"mean","repo":"josejg/instruction_following_eval","repo_kind":"listed","path":"instruction_following_eval/evaluation.py","file_url":"https://github.com/josejg/instruction_following_eval/blob/HEAD/instruction_following_eval/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"05d583bc67660802"}},{"code_sha256_prefix":"a87fa9a878e94aa6","entry":"split_into_sentences","repo":"josejg/instruction_following_eval","repo_kind":"listed","path":"instruction_following_eval/instructions_util.py","file_url":"https://github.com/josejg/instruction_following_eval/blob/HEAD/instruction_following_eval/instructions_util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a87fa9a878e94aa6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}