{"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/qfft-question-free-fine-tuning-for-adaptive","title":"QFFT, Question-Free Fine-Tuning for Adaptive Reasoning","arxiv_id":"2506.12860","date":"2025-06-15","proceeding":null,"authors":["Wanlong Liu","Junxiao Xu","Fei Yu","Yukang Lin","Ke Ji","Wenyu Chen","Yan Xu","Yasheng Wang","Lifeng Shang","Benyou Wang"],"abstract":"Recent advancements in Long Chain-of-Thought (CoT) reasoning models have improved performance on complex tasks, but they suffer from overthinking, which generates redundant reasoning steps, especially for simple questions. This paper revisits the reasoning patterns of Long and Short CoT models, observing that the Short CoT patterns offer concise reasoning efficiently, while the Long CoT patterns excel in challenging scenarios where the Short CoT patterns struggle. To enable models to leverage both patterns, we propose Question-Free Fine-Tuning (QFFT), a fine-tuning approach that removes the input question during training and learns exclusively from Long CoT responses. This approach enables the model to adaptively employ both reasoning patterns: it prioritizes the Short CoT patterns and activates the Long CoT patterns only when necessary. Experiments on various mathematical datasets demonstrate that QFFT reduces average response length by more than 50\\%, while achieving performance comparable to Supervised Fine-Tuning (SFT). Additionally, QFFT exhibits superior performance compared to SFT in noisy, out-of-domain, and low-resource scenarios.","url_abs":"https://arxiv.org/abs/2506.12860v1","url_pdf":"https://arxiv.org/pdf/2506.12860v1.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":"qfft-question-free-fine-tuning-for-adaptive","repo_url":"https://github.com/lwl-cpu/question-free-fine-tuning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[],"methods":[{"method_slug":"sft","method_name":"SFT"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2506.12860","atlas_url":"https://app.syntology.ai/?focus=2506.12860","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2506.12860"}},"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/lwl-cpu/question-free-fine-tuning","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":7,"unverified":7},"by_repo_kind":{"official":{"samples":14,"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":"33973ae45a70d4fe","entry":"check_sympy_equivalence","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/math_normalization.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/math_normalization.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"33973ae45a70d4fe"}},{"code_sha256_prefix":"809c0178a7ae90ff","entry":"choice_answer_clean","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/grader.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/grader.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":"809c0178a7ae90ff"}},{"code_sha256_prefix":"ed2f4689128f9885","entry":"extract_multi_choice_answer","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/parser.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/parser.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":"ed2f4689128f9885"}},{"code_sha256_prefix":"fb37d3c84b18e368","entry":"is_digit","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/grader.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/grader.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fb37d3c84b18e368"}},{"code_sha256_prefix":"b804c6d0a0ddb922","entry":"is_integer","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/math_normalization.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/math_normalization.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b804c6d0a0ddb922"}},{"code_sha256_prefix":"31ee6b861ee71ef7","entry":"normalize_final_answer","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/math_normalization.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/math_normalization.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":"31ee6b861ee71ef7"}},{"code_sha256_prefix":"7d4b7f8c3875b126","entry":"parse_digits","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/grader.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/grader.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":"7d4b7f8c3875b126"}},{"code_sha256_prefix":"b123cac6601e152a","entry":"contains_wait","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/analysis_difficulty.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/analysis_difficulty.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":"b123cac6601e152a"}},{"code_sha256_prefix":"3bf1dc9721e95221","entry":"extract_question","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/analysis_difficulty.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/analysis_difficulty.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":"3bf1dc9721e95221"}},{"code_sha256_prefix":"9c58d0990f07be11","entry":"get_conversation_prompt_by_messages","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/eval_tp.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/eval_tp.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":"9c58d0990f07be11"}},{"code_sha256_prefix":"e458dae2ed344834","entry":"get_three_prompt","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/eval_tp.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/eval_tp.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":"e458dae2ed344834"}},{"code_sha256_prefix":"41c9b27031e839a7","entry":"load_math_test_levels","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/utils/analysis_difficulty.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/utils/analysis_difficulty.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":"41c9b27031e839a7"}},{"code_sha256_prefix":"85f17e50933711f8","entry":"major_vote_accuracy","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/analysis/cal_all_cli.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/analysis/cal_all_cli.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":"85f17e50933711f8"}},{"code_sha256_prefix":"c5b5032445c33c60","entry":"parse_list","repo":"lwl-cpu/question-free-fine-tuning","repo_kind":"official","path":"eval/eval_tp.py","file_url":"https://github.com/lwl-cpu/question-free-fine-tuning/blob/HEAD/eval/eval_tp.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":"c5b5032445c33c60"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}