{"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/selective-reflection-tuning-student-selected","title":"Selective Reflection-Tuning: Student-Selected Data Recycling for LLM Instruction-Tuning","arxiv_id":"2402.10110","date":"2024-02-15","proceeding":null,"authors":["Ming Li","Lichang Chen","Jiuhai Chen","Shwai He","Jiuxiang Gu","Tianyi Zhou"],"abstract":"Instruction tuning is critical to large language models (LLMs) for achieving better instruction following and task adaptation capabilities but its success heavily relies on the training data quality. Many recent methods focus on improving the data quality but often overlook the compatibility of the data with the student model being finetuned. This paper introduces Selective Reflection-Tuning, a novel paradigm that synergizes a teacher LLM's reflection and introspection for improving existing data quality with the data selection capability of the student LLM, to automatically refine existing instruction-tuning data. This teacher-student collaboration produces high-quality and student-compatible instruction-response pairs, resulting in sample-efficient instruction tuning and LLMs of superior performance. Selective Reflection-Tuning is a data augmentation and synthesis that generally improves LLM finetuning and self-improvement without collecting brand-new data. We apply our method to Alpaca and WizardLM data and achieve much stronger and top-tier 7B and 13B LLMs.","url_abs":"https://arxiv.org/abs/2402.10110v2","url_pdf":"https://arxiv.org/pdf/2402.10110v2.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":"selective-reflection-tuning-student-selected","repo_url":"https://github.com/tianyi-lab/reflection_tuning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"selective-reflection-tuning-student-selected","repo_url":"https://github.com/mingliiii/reflection_tuning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"instruction-following","task_name":"Instruction Following"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2402.10110","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.10110"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mingliiii/reflection_tuning","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tianyi-lab/reflection_tuning","reach":null}],"summary":{"ran":5,"ran_draft_wrong":1,"ran_honours":2},"by_repo_kind":{"listed":{"samples":8,"ran":8,"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":"5aaf82b7b95d5096","entry":"dispatch_openai_requests","repo":"mingliiii/reflection_tuning","repo_kind":"listed","path":"reflection_code/reflect_instruction.py","file_url":"https://github.com/mingliiii/reflection_tuning/blob/HEAD/reflection_code/reflect_instruction.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":"5aaf82b7b95d5096"}},{"code_sha256_prefix":"6c184f2b97205b84","entry":"extract_ins","repo":"mingliiii/reflection_tuning","repo_kind":"listed","path":"reflection_code/reflect_instruction_postprocess.py","file_url":"https://github.com/mingliiii/reflection_tuning/blob/HEAD/reflection_code/reflect_instruction_postprocess.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":"6c184f2b97205b84"}},{"code_sha256_prefix":"fd6d362c841cc46b","entry":"extract_oup","repo":"mingliiii/reflection_tuning","repo_kind":"listed","path":"reflection_code/reflect_instruction_postprocess.py","file_url":"https://github.com/mingliiii/reflection_tuning/blob/HEAD/reflection_code/reflect_instruction_postprocess.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":"fd6d362c841cc46b"}},{"code_sha256_prefix":"33d3bbd8f5723eac","entry":"extract_segments","repo":"mingliiii/reflection_tuning","repo_kind":"listed","path":"reflection_code/reflect_response_postprocess.py","file_url":"https://github.com/mingliiii/reflection_tuning/blob/HEAD/reflection_code/reflect_response_postprocess.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":"33d3bbd8f5723eac"}},{"code_sha256_prefix":"9718b8fd167c7bab","entry":"gen_prompt_input","repo":"mingliiii/reflection_tuning","repo_kind":"listed","path":"reflection_code/reflect_response.py","file_url":"https://github.com/mingliiii/reflection_tuning/blob/HEAD/reflection_code/reflect_response.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":"9718b8fd167c7bab"}},{"code_sha256_prefix":"0acb012db8f3b45d","entry":"gen_prompt_no_input","repo":"mingliiii/reflection_tuning","repo_kind":"listed","path":"reflection_code/reflect_instruction.py","file_url":"https://github.com/mingliiii/reflection_tuning/blob/HEAD/reflection_code/reflect_instruction.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0acb012db8f3b45d"}},{"code_sha256_prefix":"906dab8ee3c01e55","entry":"get_perplexity_and_embedding_part_text","repo":"mingliiii/reflection_tuning","repo_kind":"listed","path":"selection_code/data_analysis.py","file_url":"https://github.com/mingliiii/reflection_tuning/blob/HEAD/selection_code/data_analysis.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"906dab8ee3c01e55"}},{"code_sha256_prefix":"3c94e259a4b7a436","entry":"get_perplexity_and_embedding_whole_text","repo":"mingliiii/reflection_tuning","repo_kind":"listed","path":"selection_code/data_analysis.py","file_url":"https://github.com/mingliiii/reflection_tuning/blob/HEAD/selection_code/data_analysis.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3c94e259a4b7a436"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}