{"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/beyond-imitation-leveraging-fine-grained","title":"Beyond Imitation: Leveraging Fine-grained Quality Signals for Alignment","arxiv_id":"2311.04072","date":"2023-11-07","proceeding":null,"authors":["Geyang Guo","Ranchi Zhao","Tianyi Tang","Wayne Xin Zhao","Ji-Rong Wen"],"abstract":"Alignment with human preference is a desired property of large language models (LLMs). Currently, the main alignment approach is based on reinforcement learning from human feedback (RLHF). Despite the effectiveness of RLHF, it is intricate to implement and train, thus recent studies explore how to develop alternative alignment approaches based on supervised fine-tuning (SFT). A major limitation of SFT is that it essentially does imitation learning, which cannot fully understand what are the expected behaviors. To address this issue, we propose an improved alignment approach named FIGA. Different from prior methods, we incorporate fine-grained (i.e., token or phrase level) quality signals that are derived by contrasting good and bad responses. Our approach has made two major contributions. Firstly, we curate a refined alignment dataset that pairs initial responses and the corresponding revised ones. Secondly, we devise a new loss function can leverage fine-grained quality signals to instruct the learning of LLMs for alignment. Extensive experiments have demonstrated the effectiveness of our approaches by comparing a number of competitive baselines.","url_abs":"https://arxiv.org/abs/2311.04072v2","url_pdf":"https://arxiv.org/pdf/2311.04072v2.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":"beyond-imitation-leveraging-fine-grained","repo_url":"https://github.com/rucaibox/figa","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"imitation-learning","task_name":"Imitation Learning"}],"methods":[{"method_slug":"sft","method_name":"SFT"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2311.04072","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.04072"}},"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/rucaibox/figa","reach":{"status":"ok"}}],"summary":{"ran_fixture":1,"ran_honours":1,"ran":4,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":8,"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":8,"samples":[{"code_sha256_prefix":"9b4dff79d5e6102c","entry":"apply_rotary_pos_emb","repo":"rucaibox/figa","repo_kind":"official","path":"modeling_llama.py","file_url":"https://github.com/rucaibox/figa/blob/HEAD/modeling_llama.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9b4dff79d5e6102c"}},{"code_sha256_prefix":"6dbf1b2a5b901370","entry":"atoi","repo":"rucaibox/figa","repo_kind":"official","path":"utils/zero_to_fp32.py","file_url":"https://github.com/rucaibox/figa/blob/HEAD/utils/zero_to_fp32.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":"6dbf1b2a5b901370"}},{"code_sha256_prefix":"90a5eb11d360639f","entry":"default_compute_objective","repo":"rucaibox/figa","repo_kind":"official","path":"trainer_utils.py","file_url":"https://github.com/rucaibox/figa/blob/HEAD/trainer_utils.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":"90a5eb11d360639f"}},{"code_sha256_prefix":"9f1130d32c6430f8","entry":"get_last_checkpoint","repo":"rucaibox/figa","repo_kind":"official","path":"trainer_utils.py","file_url":"https://github.com/rucaibox/figa/blob/HEAD/trainer_utils.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":"9f1130d32c6430f8"}},{"code_sha256_prefix":"3a53f3109825e747","entry":"get_model_state_file","repo":"rucaibox/figa","repo_kind":"official","path":"utils/zero_to_fp32.py","file_url":"https://github.com/rucaibox/figa/blob/HEAD/utils/zero_to_fp32.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":"3a53f3109825e747"}},{"code_sha256_prefix":"7052cf0436949e37","entry":"natural_keys","repo":"rucaibox/figa","repo_kind":"official","path":"utils/zero_to_fp32.py","file_url":"https://github.com/rucaibox/figa/blob/HEAD/utils/zero_to_fp32.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":"7052cf0436949e37"}},{"code_sha256_prefix":"b99eea6376d1e212","entry":"rotate_half","repo":"rucaibox/figa","repo_kind":"official","path":"modeling_llama.py","file_url":"https://github.com/rucaibox/figa/blob/HEAD/modeling_llama.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b99eea6376d1e212"}},{"code_sha256_prefix":"cf0fe571e5b667a0","entry":"default_hp_space_optuna","repo":"rucaibox/figa","repo_kind":"official","path":"trainer_utils.py","file_url":"https://github.com/rucaibox/figa/blob/HEAD/trainer_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":"cf0fe571e5b667a0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}