SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2405.01511 · 2024

D2PO: Discriminator-Guided DPO with Response Evaluation Models

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 13 functions out of this paper's own repositories and ran 11 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.

RepositoryRoleRan
PrasannS/d2po canonical 11 of 13
FunctionStatusWhere it lives
add_row_index Ran PrasannS/d2po/src/train_rm.py
pointer only (licence: NONE) · get_code("bdf1e0f893679196")
adjust_input Ran PrasannS/d2po/src/eval/generate_outs.py
pointer only (licence: NONE) · get_code("39dae513044dc499")
adjust_tulu Ran PrasannS/d2po/src/eval/generate_outs.py
pointer only (licence: NONE) · get_code("22de807813131078")
get_step_ckpt Ran PrasannS/d2po/src/eval/generate_outs.py
pointer only (licence: NONE) · get_code("af95fc70de192cc3")
lensco Ran PrasannS/d2po/src/utils/rl_utils.py
pointer only (licence: NONE) · get_code("ea8d7cf234eea3bb")
new_forward Ran PrasannS/d2po/rlhfutils/rlhfutils/modeling_override.py
pointer only (licence: NONE) · get_code("d0004fe553444d0e")
onlyans Ran PrasannS/d2po/src/train_dpo.py
pointer only (licence: NONE) · get_code("80a8b3f87c775a21")
prepare_sample_text Ran PrasannS/d2po/src/trainsft.py
pointer only (licence: NONE) · get_code("148dc2c38b7cd922")
preproc_wgpt Ran PrasannS/d2po/src/eval/generate_outs_old.py
pointer only (licence: NONE) · get_code("3f0252eb62a38d86")
simplecat Ran PrasannS/d2po/src/train_dpo.py
pointer only (licence: NONE) · get_code("b4cda67a5a5317e9")
tulu_pf Ran PrasannS/d2po/src/train_dpo.py
pointer only (licence: NONE) · get_code("ab9274275c75ba41")
get_pipeline Not yet run PrasannS/d2po/src/utils/rl_utils.py
pointer only (licence: NONE) · get_code("576b5052f87d577b")
load_stack Not yet run PrasannS/d2po/src/eval/generate_outs_old.py
pointer only (licence: NONE) · get_code("8faae6d33f36ed52")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Varied approaches for aligning language models have been proposed, including supervised fine-tuning, RLHF, and direct optimization methods such as DPO. Although DPO has rapidly gained popularity due to its straightforward training process and competitive results, there is an open question of whether there remain practical advantages of using a discriminator, like a reward model, to evaluate responses. We propose D2PO, discriminator-guided DPO, an approach for the online setting where preferences are being collected throughout learning. As we collect gold preferences, we use these not only to train our policy, but to train a discriminative response evaluation model to silver-label even more synthetic data for policy training. We explore this approach across a set of diverse tasks, including a realistic chat setting, we find that our approach leads to higher-quality outputs compared to DPO with the same data budget, and greater efficiency in terms of preference data requirements. Furthermore, we show conditions under which silver labeling is most helpful: it is most effective when training the policy with DPO, outperforming traditional PPO, and benefits from maintaining a separate discriminator from the policy model.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2405.01511")
get_code_for_paper("2405.01511")
have("2405.01511")

Connect an agent — have() is free.