Xin Geng, Qi Dai, Chong Luo, Baining Guo, Xu Yang, Anxiang Zeng, Shuxia Lin, Miaosen Zhang, Peng Hou, Weihao Jiang, Yishan Liu
We lifted 2 functions out of this paper's own repositories and ran 2 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| zhangmiaosen2000/Towards-On-Policy-SFT | canonical | 2 of 2 |
| Function | Status | Where it lives |
|---|---|---|
| extract_step | Ran | zhangmiaosen2000/Towards-On-Policy-SFT/IDFT/verl/trainer/fsdp_sft_trainer.py pointer only (licence: NONE) · get_code("216e28c040173a61") |
| get_inference_model | Ran | zhangmiaosen2000/Towards-On-Policy-SFT/IDFT/verl/experimental/fully_async_policy/fsdp_workers.py pointer only (licence: NONE) · get_code("4c065218ad2f2d76") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Supervised fine-tuning (SFT) is computationally efficient but often yields inferior generalization compared to reinforcement learning (RL). This gap is primarily driven by RL's use of on-policy data. We propose a framework to bridge this chasm by enabling On-Policy SFT. We first present Distribution Discriminant Theory (DDT), which explains and quantifies the alignment between data and the model-induced distribution. Leveraging DDT, we introduce two complementary techniques: (i) In-Distribution Finetuning (IDFT), a loss-level method to enhance generalization ability of SFT, and (ii) Hinted Decoding, a data-level technique that can re-align the training corpus to the model's distribution. Extensive experiments demonstrate that our framework achieves generalization performance surpassing prominent offline RL algorithms, including DPO and SimPO, while maintaining the efficiency of an SFT pipeline. The proposed framework thus offers a practical alternative in domains where RL is infeasible. We open-source the code here: https://github.com/zhangmiaosen2000/Towards-On-Policy-SFT.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2602.12222")
get_code_for_paper("2602.12222")
have("2602.12222")
Connect an agent — have() is free.