RLHF in Practice: From Human Preferences to Better LLM Policies
Why RLHF Exists After Pretraining and SFT
Reinforcement Learning from Human Feedback (RLHF) helps align language models with human preferences after pretraining and SFT.
π― System Scenario & Requirements
System Goal
Reinforcement Learning from Human Feedback (RLHF) helps align language models with human preferences after pretraining and SFT.
Actors & Components
- Application or API tier
- Core service under design
- Operator or SRE observer
Functional Requirements
- TLDR: Reinforcement Learning from Human Feedback (RLHF) helps align language models with human preferences after pretraining and SFT.
- The typical pipeline is: collect preference comparisons, train a reward model, then optimize a policy (often with KL constraints to stay close to a reference model).
- RLHF can significantly improve usefulness and harmlessness, but it introduces risks like reward hacking and annotation bias.
Constraints & Assumptions
- RLHF can improve alignment, but it can also institutionalize the wrong preferences if the process is poorly governed.
β‘ Execution Stages & Decision Trace
Stage 1 β The RLHF Pipeline: Data, Reward, Policy
Most production RLHF pipelines include three parts: 1.
Policy optimization with regularization 1) Preference data collection Annotators compare candidate responses for the same prompt: - Which answer is more helpful?
Deep Dive
Scenario context
Reinforcement Learning from Human Feedback (RLHF) helps align language models with human preferences after pretraining and SFT. The typical pipeline is: collect preference comparisons, train a reward model, then optimize a policy (often with KL constraints to stay close to a reference model). RLHF can significantly improve usefulness and harmlessness, but it introduces risks like reward hacking and annotation bias.β¦
This walkthrough focuses on Why RLHF Exists After Pretraining and SFT.
Before making a design choice, clarify:
- GPT-2 could write fluent text but produced harmful content on request.
- The fix wasn't more data β it was RLHF: human raters scored outputs, a reward model learned their preferences, and PPO optimised the policy to score higher.
- This post explains that pipeline step by step.
Concepts in play: deep-learning-foundations, api-gateway, consistency-replication
Stage 1 β The RLHF Pipeline: Data, Reward, Policy
- Most production RLHF pipelines include three parts: 1.
- Policy optimization with regularization 1) Preference data collection Annotators compare candidate responses for the same prompt: - Which answer is more helpful?
- Which answer follows instructions better?
- 2) Reward model training A separate model learns to score responses so preferred outputs receive higher scores.
sequenceDiagram
participant SFT as SFT Model
participant A as Annotators
participant RM as Reward Model
participant PPO as PPO Trainer
participant KL as KL Constraint
SFT->>A: Generate candidate responses
A->>A: Rank response pairs (A > B)
A->>RM: Preference labels
RM->>RM: Train: maximize P(preferred > rejected)
SFT->>PPO: Initialize policy weights
PPO->>PPO: Generate response
PPO->>RM: Score response
RM-->>PPO: Reward scalar
PPO->>KL: Measure drift from SFT
KL-->>PPO: KL penalty
PPO->>PPO: Update policy weights
flowchart LR
P[Prompt]
RA[Response A]
RB[Response B]
RM["Reward Model (Bradley-Terry trained)"]
SA["Score A: r(x, y_A)"]
SB["Score B: r(x, y_B)"]
Rank[Rank: A > B if r_A > r_B]
Policy["Policy Update (maximize reward)"]
P --> RM
RA --> RM --> SA
RB --> RM --> SB
SA --> Rank
SB --> Rank
Rank --> Policy
Observable outcome: 2) Reward model training A separate model learns to score responses so preferred outputs receive higher scores.
Stage 2 β Preference Data Design: The Most Underrated Lever
- Teams often obsess over PPO hyperparameters and underinvest in preference data design.
- Good preference data characteristics - clear rubric (helpfulness, harmlessness, honesty), - diverse prompt categories, - difficult borderline cases, - explicit annotation disagreement tracking.
- If your labels are inconsistent, the reward model learns noise, and policy optimization amplifies that noise.
Observable outcome: If your labels are inconsistent, the reward model learns noise, and policy optimization amplifies that noise.
Stage 3 β Deep Dive: Reward Modeling and KL-Constrained Policy Updates
- Internals: reward model objective Given prompt x and two responses y w (winner) and y l (loser), reward model r theta is often trained with a Bradley-Terry style objective: [ \mathcal{L} {RM} = -\log \sigma(r \theta(x,β¦
- Policy optimization objective (conceptual) A common RLHF objective is: [ \max \pi \; \mathbb{E} {x \sim D, y \sim \pi(\cdot x)} [r \theta(x,y)] - \beta \; KL(\pi(\cdot x) \pi {ref}(\cdot x)) ] Where: - pi is the trainβ¦
- Performance analysis and stability controls Reward can become a proxy target that misses true user value.
- Human eval checkpoints are non-negotiable.
Observable outcome: Human eval checkpoints are non-negotiable.
Stage 4 β RLHF Training Flow in One Diagram
- This loop is expensive, so prioritizing data quality and evaluation design upfront saves many failed RL cycles.
flowchart TD
A[Prompt Set] --> B[Generate candidate responses]
B --> C[Human preference comparisons]
C --> D[Train reward model]
D --> E[Initialize policy from SFT model]
E --> F[RL optimization with KL penalty]
F --> G[Offline and online evaluations]
G --> H{Pass acceptance criteria?}
H -- No --> I[Refine data rubric and reward model]
I --> D
H -- Yes --> J[Release aligned policy]
Observable outcome: This loop is expensive, so prioritizing data quality and evaluation design upfront saves many failed RL cycles.
Stage 5 β Real-World Applications: Where RLHF Delivers Value
- Helpful assistant quality RLHF can reduce evasive or generic responses and improve usefulness under ambiguous prompts.
- Safety policy consistency Preference labels can encode policy-aligned refusal behavior better than plain SFT in many settings.
- Tone and interaction quality User satisfaction often improves when RLHF encourages clearer, context-sensitive responses.
Observable outcome: Tone and interaction quality User satisfaction often improves when RLHF encourages clearer, context-sensitive responses.
Stage 6 β Practical Sketch with TRL-Style Components
- This example demonstrates a minimal PPO-style RLHF training loop using Hugging Face TRL β the same pattern used by InstructGPT and open-source alignment pipelines.
- It is chosen because TRL's PPOTrainer encapsulates the three essential RLHF moves (generate, score, update) in a tight loop that mirrors the theoretical pipeline.
- As you read, focus on how the reward signal from the reward model flows into trainer.step() and how the KL-penalty config ( kl penalty , target kl ) controls drift from the reference policy.
- Production systems add: - reward model sanity checks, - adversarial prompt suites, - rollback thresholds based on human evaluation.
# Conceptual pseudo-pipeline (not production-ready):
# 1) Train reward model on preference pairs
# 2) Run PPO-style policy optimization with KL control
from trl import PPOTrainer, PPOConfig
ppo_config = PPOConfig(
learning_rate=1e-6,
batch_size=64,
mini_batch_size=8,
kl_penalty="kl",
target_kl=0.1,
)
# trainer = PPOTrainer(config=ppo_config, model=policy_model, ref_model=ref_model, tokenizer=tok)
# for batch in rollout_loader:
# responses = trainer.generate(batch["prompt_ids"])
# rewards = reward_model.score(batch["prompts"], responses)
# trainer.step(batch["prompt_ids"], responses, rewards)
Observable outcome: Production systems add: - reward model sanity checks, - adversarial prompt suites, - rollback thresholds based on human evaluation.
End-to-end outcome
GPT-2 could write fluent text but produced harmful content on request.
Alternatives considered
Decision Guide: RLHF vs Simpler Preference Methods
A common practical path is: Pretraining - SFT - preference optimization (DPO/RLHF) - continuous eval .
Failure and degraded modes
Trade-offs & Failure Modes: Risks, Trade-offs, and Failure Patterns
- Detection: RLHF can improve alignment, but it can also institutionalize the wrong preferences if the process is poorly governed.
- User or operator impact: RLHF can improve alignment, but it can also institutionalize the wrong preferences if the process is poorly governed.
