{"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/arxiv-2601-09233","title":"GIFT: Reconciling Post-Training Objectives via Finite-Temperature Gibbs Initialization","arxiv_id":"2601.09233","date":"2026-01-14","proceeding":null,"authors":["Zhengyang Zhao","Lu Ma","Yizhen Jiang","Xiaochen Ma","Zimo Meng","Chengyu Shen","Lexiang Tang","Haoze Sun","Peng Pei","Wentao Zhang"],"abstract":"The prevailing post-training paradigm for Large Reasoning Models (LRMs) - Supervised Fine-Tuning (SFT) followed by Reinforcement Learning (RL) - suffers from an intrinsic optimization mismatch: the rigid supervision inherent in SFT induces distributional collapse, thereby exhausting the exploration space necessary for subsequent RL. In this paper, we reformulate SFT to reconcile post-training objectives and propose Gibbs Initialization with Finite Temperature (GIFT). We characterize standard SFT as a degenerate zero-temperature limit that suppresses base priors. Conversely, GIFT incorporates supervision as a finite-temperature energy potential, establishing a distributional bridge that promotes objective consistency throughout the post-training pipeline. Our experiments demonstrate that GIFT significantly outperforms standard SFT and other competitive baselines when utilized for RL initialization, providing a mathematically principled pathway to preserve exploration and align the two post-training stages. Our code is available at https://github.com/zzy1127/GIFT.","url_abs":"https://arxiv.org/abs/2601.09233","url_pdf":"https://arxiv.org/pdf/2601.09233","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2601.09233","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2601.09233"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/zzy1127/GIFT","reach":{"status":"ok"}}],"summary":{"ran":2,"ran_draft_wrong":1,"ran_honours":1,"unverified":12},"by_repo_kind":{"found_in_text":{"samples":16,"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":16,"samples":[{"code_sha256_prefix":"f220595adfc5e83c","entry":"compute_ce_dpo_loss_rm","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"verl/recipe/prime/prime_core_algos.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/verl/recipe/prime/prime_core_algos.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":"f220595adfc5e83c"}},{"code_sha256_prefix":"4d91e4383716e42c","entry":"compute_detach_dpo_loss_rm","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"verl/recipe/prime/prime_core_algos.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/verl/recipe/prime/prime_core_algos.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":"4d91e4383716e42c"}},{"code_sha256_prefix":"0db9401e2d8d130e","entry":"extract_boxed_content","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/polymath/run_eval.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/polymath/run_eval.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":"0db9401e2d8d130e"}},{"code_sha256_prefix":"216e28c040173a61","entry":"extract_step","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"verl/verl/trainer/fsdp_gift_trainer.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/verl/verl/trainer/fsdp_gift_trainer.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"216e28c040173a61"}},{"code_sha256_prefix":"875194b0e06d05e1","entry":"check_conversation_format","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/data_utils.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/data_utils.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":"875194b0e06d05e1"}},{"code_sha256_prefix":"fb37d3c84b18e368","entry":"is_digit","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/polymath/scripts.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/polymath/scripts.py","link_basis":"plan_row","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":"fb37d3c84b18e368"}},{"code_sha256_prefix":"2a180d3156997924","entry":"is_digit","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/openmathinst_utils.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/openmathinst_utils.py","link_basis":"plan_row","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":"2a180d3156997924"}},{"code_sha256_prefix":"dadd2ed3c9c1e9fe","entry":"math_equal_ray","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/reward_utils/my_reward_func.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/reward_utils/my_reward_func.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":"dadd2ed3c9c1e9fe"}},{"code_sha256_prefix":"7aaa2eb334380beb","entry":"math_equal_ray","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/reward_utils/reward_func.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/reward_utils/reward_func.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":"7aaa2eb334380beb"}},{"code_sha256_prefix":"6b11d915b45fae0d","entry":"normalize","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/openmathinst_utils.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/openmathinst_utils.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":"6b11d915b45fae0d"}},{"code_sha256_prefix":"11d097e9be003804","entry":"normalize_answer_string","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/openmathinst_utils.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/openmathinst_utils.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":"11d097e9be003804"}},{"code_sha256_prefix":"a929aa929946ee74","entry":"numeric_equal","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/polymath/scripts.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/polymath/scripts.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":"a929aa929946ee74"}},{"code_sha256_prefix":"7d4b7f8c3875b126","entry":"parse_digits","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/polymath/scripts.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/polymath/scripts.py","link_basis":"plan_row","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":"7d4b7f8c3875b126"}},{"code_sha256_prefix":"f30ed7799f976908","entry":"pm_judge","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/polymath/judge.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/polymath/judge.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":"f30ed7799f976908"}},{"code_sha256_prefix":"dd9ca8cdc6aa690d","entry":"read_json","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/data_utils.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/data_utils.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":"dd9ca8cdc6aa690d"}},{"code_sha256_prefix":"82f198e67affc0bb","entry":"read_jsonl","repo":"zzy1127/GIFT","repo_kind":"found_in_text","path":"utils/data_utils.py","file_url":"https://github.com/zzy1127/GIFT/blob/HEAD/utils/data_utils.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":"82f198e67affc0bb"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}