The one sentence
InstructGPT made broad instruction following work by training GPT-3 with demonstrations, human preference rankings, a reward model, and PPO.
This is the baseline recipe for post-training agent models: collect task-facing behavior data, model preferences, optimize against that model, and measure the resulting assistant on user-distribution prompts instead of only academic NLP tasks.
---
Core idea
Start with GPT-3, train an SFT policy on human demonstrations, train a reward model from human-ranked model outputs, then fine-tune the policy with PPO against...
Start with GPT-3, train an SFT policy on human demonstrations, train a reward model from human-ranked model outputs, then fine-tune the policy with PPO against the reward model while using pretraining-mix updates to reduce regressions.
Modelreason
Runtimeact
Worldobserve
01
Collect prompts from the API distribution plus labeler-written prompts.
02
Have labelers write demonstrations of desired behavior and train SFT models.
03
Sample multiple outputs per prompt and have labelers rank the outputs.
04
Train a 6B reward model to predict the preferred output from ranking data.
---
Executable shape
The mechanism should fit on one screen.
```python
sft_data = collect_demonstrations(api_prompts, labelers)
policy = finetune_gpt3(sft_data)
comparison_data = []
for prompt in api_prompts:
outputs = sample_outputs(policy, prompt, k=4..9)
ranking = labelers.rank(outputs)
comparison_data.append((prompt, outputs, ranking))
rm = train_reward_model(comparison_data)
policy = ppo(policy, reward=rm, kl_to_sft=true, pretraining_mix=true)
return policy
```
---