পাঠ ২৯ · ৩২-এর মধ্যে · মডিউল ৪

DPO ও RLAIF — RLHF-এর সরলীকরণ

DPO & RLAIF: simplifying the RLHF pipeline
১০ মিনিট পড়া মাঝারি · Intermediate DPO loss in 5 lines

এই পাঠে যা শিখবেন

  • DPO-এর গাণিতিক derivation — কীভাবে RM eliminate হয়
  • DPO loss একটি single PyTorch function-এ
  • RLAIF — human-vs-AI feedback trade-off
  • Constitutional AI — principles + self-critique architecture

১ · RLHF-এর pain points

গত পাঠে আমরা দেখেছি — RLHF কাজ করে কিন্তু complicated. চারটি model একসাথে memory-তে — policy, reference, reward, value. PPO-এর instability — KL coefficient tune, advantage normalize, gradient clip. ৪-৫ engineering জোড়া হ্যান্ডস ফুল-টাইম।

প্রশ্ন: RM ও PPO দু'টোই কি অপরিহার্য? উত্তর: না।

DPO-র insight

Bradley-Terry preference model + KL-constrained reward maximization-এর closed-form solution আছে। সেই solution-এ implicit reward = $\beta \log(\pi_\theta / \pi_{\text{ref}})$। অর্থাৎ — policy নিজেই তার "secret RM". Preferences থেকে policy directly শিখি, RM intermediate ছাড়াই।

ভাবুন আপনি বাজারে দাম জানতে চান। RLHF দু'ধাপে — (১) দাম-list বানান (RM), (২) সেই list দিয়ে কেনাকাটা (PPO). DPO বলে — "list বানানো কেন? দু'টি জিনিস তুলনা করেই সরাসরি কিনুন।" Math একই, কাজ অনেক কম।

২ · DPO-র গাণিতিক derivation

RLHF objective:

$$\max_\pi \mathbb{E}_{x, y \sim \pi}[r(x,y)] - \beta \cdot \text{KL}(\pi \| \pi_{\text{ref}})$$

এই KL-regularized RL-এর closed-form optimal policy:

$$\pi^*(y|x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left(\frac{r(x,y)}{\beta}\right)$$

Rearrange — reward as function of policy:

$$r(x,y) = \beta \log \frac{\pi^*(y|x)}{\pi_{\text{ref}}(y|x)} + \beta \log Z(x)$$

Bradley-Terry preference probability:

$$P(y_w \succ y_l | x) = \sigma(r(x, y_w) - r(x, y_l))$$

$\log Z(x)$ cancels (depends only on $x$)! তাই:

$$P(y_w \succ y_l | x) = \sigma\left(\beta \log \frac{\pi^*(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log \frac{\pi^*(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right)$$

DPO loss — directly on preference data $(x, y_w, y_l)$:

$$\mathcal{L}_{\text{DPO}} = -\mathbb{E} \left[\log \sigma\left(\beta \log \frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right)\right]$$

Pure supervised loss. Policy gradient নাই, environment rollout নাই, RM নাই। শুধু $(x, y_w, y_l)$ batch — log-prob ratio compute, sigmoid, BCE.

DPO mathematically equivalent to RLHF when (a) Bradley-Terry preferences exact, (b) infinite data, (c) optimal RM trained. Practice-এ — DPO often slightly worse than well-tuned RLHF, but ৩-৫× cheaper, more stable. Trade-off worth it most use cases.

৩ · DPO PyTorch — পাঁচ লাইনে

Python · PyTorch · DPO loss
import torch, torch.nn.functional as F

def dpo_loss(policy, ref_policy, batch, beta=0.1):
    """
    batch = {
      'prompt_chosen_ids':   (B, T_c),
      'prompt_rejected_ids': (B, T_r),
      'prompt_chosen_mask':  (B, T_c),  # 1 over response, 0 over prompt+pad
      'prompt_rejected_mask':(B, T_r),
    }
    """
    def logprobs(model, ids, mask):
        out = model(ids).logits[:, :-1]                  # (B, T-1, V)
        target = ids[:, 1:]                              # (B, T-1)
        lp = F.log_softmax(out, -1).gather(-1, target.unsqueeze(-1)).squeeze(-1)
        # only over response tokens
        return (lp * mask[:, 1:]).sum(-1)                # (B,)

    pi_chosen   = logprobs(policy,     batch['prompt_chosen_ids'],   batch['prompt_chosen_mask'])
    pi_rejected = logprobs(policy,     batch['prompt_rejected_ids'], batch['prompt_rejected_mask'])
    with torch.no_grad():
        ref_chosen   = logprobs(ref_policy, batch['prompt_chosen_ids'],   batch['prompt_chosen_mask'])
        ref_rejected = logprobs(ref_policy, batch['prompt_rejected_ids'], batch['prompt_rejected_mask'])

    chosen_reward   = beta * (pi_chosen   - ref_chosen)
    rejected_reward = beta * (pi_rejected - ref_rejected)

    loss = -F.logsigmoid(chosen_reward - rejected_reward).mean()
    # diagnostics
    margin   = (chosen_reward - rejected_reward).mean().item()
    accuracy = (chosen_reward > rejected_reward).float().mean().item()
    return loss, {"margin": margin, "accuracy": accuracy}

    
পুরো DPO algorithm এতটুকু। Policy ও frozen reference দু'জনের log-prob ratio difference — Bradley-Terry binary cross-entropy. PPO-র ৫০০ লাইন code এখন ১৫ লাইন।

৪ · DPO-র শক্তি ও দুর্বলতা

শক্তি:

  • Simplicity: single supervised loss. Hyperparameter মাত্র $\beta$।
  • Stability: no rollouts, no reward exploitation cycle. Loss curve smooth.
  • Memory: ২ models (policy + ref), ৪ না। ২× memory save.
  • Data efficient: existing preference dataset reuse — UltraFeedback, HH-RLHF, Chatbot Arena.
  • Open-source friendly: Mistral, Llama-3, Gemma — সব DPO standard ship করে।

দুর্বলতা:

  • Offline only: data fixed. Online improvement-এ চাইলে — iterative DPO (sample new responses, re-label, retrain).
  • Overoptimization: policy chosen response-এর likelihood বেশি বাড়ায়, rejected অনেক কমায় — but absolute likelihood-এ subtle issue. SimPO, IPO এই fix.
  • Reference dependency: $\pi_{\text{ref}}$ poor হলে — DPO খারাপ। Strong SFT essential.
  • Length bias: longer responses-এর log-prob বেশি — reward inflated. Length-normalized variants (SimPO).

৫ · DPO variants — explosion of methods

  • IPO (Identity Preference Optimization): DPO-র overoptimization fix — sigmoid replace by squared loss. Theoretically grounded.
  • KTO (Kahneman-Tversky Optimization): "যেখানে preference নাই, শুধু binary thumbs-up/down — সেখানেও কাজ করে"। Practical.
  • cDPO: noisy labels হ্যান্ডল।
  • SimPO: reference-free, length-normalized. Llama-3-Instruct competitive.
  • ORPO: SFT + preference একসাথে — single-stage training.
  • NCA, RPO, BCO: বছরে নতুন variant. Field rapidly evolving.

৬ · RLAIF — humans replace করা

RLHF-এর সবচেয়ে costly bottleneck — human labelers. ১ million preference pairs ~$1M-$5M. Anthropic-এর "Constitutional AI" (২০২২) সমাধান দিল: AI labels itself.

RLAIF pipeline (Constitutional AI):

  1. Step 1 — SL-CAI (Supervised Constitutional AI):
    • Helpful-only model দিয়ে harmful prompts answer generate (red-teaming).
    • Same model প্রতিটি principle অনুযায়ী response critique.
    • Same model revised, principle-aligned response generate.
    • Original prompt + revised response → SFT fine-tune dataset.
  2. Step 2 — RL-CAI:
    • SL-CAI model দু'টি response generate per prompt.
    • Same model (or stronger judge) — কোনটা principle-align — choose.
    • Preference dataset → RM train → PPO/DPO.

"Constitution": ~৭০টি plain-English principles. যেমন:

  • "Choose the response that is least harmful and most helpful to the human."
  • "The response should not encourage illegal activity."
  • "Prefer responses that are honest about uncertainty."
  • "Avoid stereotyping based on race, gender, religion."

AI প্রতিটি principle-এর বিপরীতে response evaluate করে। Bangladeshi context-এর জন্য — local principles add (cultural sensitivity, religious harmony, language-specific norms).

৭ · RLAIF-এর trade-offs

সুবিধা:

  • Cost: $0.001/comparison vs $1-10/human. ১০০০-১০,০০০× cheaper.
  • Speed: Parallel API calls — millions of labels per day.
  • Consistency: AI judge "একই" — inter-rater disagreement নেই।
  • Scaling: humans don't scale; AI does.
  • Iteration: principle update করে — instant relabel.

Risk:

  • Bias amplification: AI judge own biases label-এ encode. Human-AI gap গভীরায়।
  • Echo chamber: Same model labeling its own outputs — recursive blind spots.
  • Hard cases: nuanced ethical dilemmas — AI judge inconsistent.
  • Cultural blindness: AI trained on English-Western corpus — Bangla nuances miss.
তিনটি Alignment Pipeline তুলনা RLHF (চারটি model) SFT RM PPO π_RLHF Cost: $$$, complex DPO (দুটি model) SFT DPO loss (chosen vs rejected) π_DPO Cost: $, simple RLAIF / Constitutional SFT AI judge labels RM π_RLAIF Cost: ¢, fast scale ২০২৪ trend: DPO + Constitutional AI dominant Llama-3, Mistral, Gemma — সব DPO. Anthropic Claude — RLHF + RLAIF + Constitutional AI mix.
তিনটি alignment recipe — RLHF (full pipeline), DPO (RM ও PPO eliminate), RLAIF (humans-ও eliminate).

৮ · কখন কোনটি বাছবেন?

  • DPO: default choice ২০২৪+. Resource-constrained, open-source, fast iteration. Llama-3 fine-tune করতে চান — DPO.
  • RLHF/PPO: production-grade, multi-objective, online improvement, cost no-issue. Frontier labs.
  • RLAIF + Constitutional AI: safety-critical, scalable labeling, principle-driven. Anthropic Claude-এর secret sauce.
  • Hybrid: Modern best practice — SFT → DPO → RL polish + RLAIF data augmentation.
Field changing fast: ২০২৩-এ RLHF king, ২০২৪-এ DPO challenger, ২০২৫-এ likely SimPO/ORPO/new method. Foundation principle (Bradley-Terry preferences + KL regularization) স্থির — কিন্তু optimization technique evolve.

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ DPO mathematically RLHF-এর equivalent. তবু empirically RLHF কখনো কখনো better — কেন?

চমৎকার subtle question. Theory-practice gap-এর classic case.

(১) Online vs offline:

  • RLHF on-policy — current $\pi_\theta$ থেকে rollout, fresh feedback.
  • DPO offline — fixed dataset. Policy improve করলে — old preferences-এর coverage gap বাড়ে।
  • Solution: Iterative DPO — multiple rounds, between rounds new responses generate.

(২) Reward model expressivity:

  • Explicit RM separate from policy — different inductive bias. Sometimes better generalization.
  • DPO implicit RM = policy itself. Limited expressivity.

(৩) Overoptimization differently:

  • RLHF — reward hacks RM, KL keeps near SFT.
  • DPO — chosen log-prob increase, rejected decrease. But absolute log-prob can decrease overall (subtle issue). Some work shows DPO model-এর likelihood SFT-এর চেয়ে কম — quality concern.

(৪) Distribution shift:

  • RLHF — policy stays near SFT due to KL. RM accurate near SFT.
  • DPO — same KL effect implicitly via reference, but no online correction.

(৫) Empirical evidence:

  • Original DPO paper (২০২৩): summarization, dialogue — DPO ≥ PPO.
  • Tulu 2 (২০২৩): DPO competitive with PPO.
  • Gemma technical report: DPO insufficient at scale, hybrid better.
  • Llama-3.1 technical report: extensive DPO + iterative + safety models.

(৬) Hyperparameter sensitivity:

  • RLHF more knobs but well-understood (PPO since ২০১৭)।
  • DPO simpler but $\beta$ critical. Wrong $\beta$ — collapse or no learning.

(৭) Production reality:

  • OpenAI/Anthropic — full RLHF + RLAIF, compute available.
  • Open-source — DPO economy choice.
  • Hybrid frontier: PPO fine-tune after DPO base — some labs use.

মূল উপলব্ধি: DPO 90% case-এ ভাল enough at 10% cost. Frontier-frontier (last 1% improvement) full RLHF apparatus pay off. Most users — DPO first, RLHF if needed.

প্র ০২ RLAIF "AI judges AI" — recursive blindspot তৈরি করার কথা। তবু Anthropic Claude এত safe কেন? কী differently?

চমৎকার alignment-philosophy question.

(১) Constitutional AI design:

  • Principles plain English-এ written — humans audit-able.
  • AI judge নিজে generate করে না principles; humans curate.
  • "Helpful + Harmless + Honest" trade-off explicit.

(২) Stronger judge model:

  • Judge ≠ policy. Often stronger model (Claude-3-Opus judges Claude-3-Sonnet).
  • Asymmetry breaks recursive trap.

(৩) Multi-stage human oversight:

  • Constitution itself written by humans (Anthropic researchers + iterations).
  • Spot-check sampling — random AI labels human-verify.
  • Red-team ongoing — adversarial prompts, jailbreaks identified.
  • Post-deployment monitoring — user reports trigger investigation.

(৪) Different blind spots:

  • Humans + AI mistakes don't perfectly correlate.
  • Mixing human + AI labels — coverage union of error patterns.
  • "AI vouches" + "Human spot-check" — both required.

(৫) Specific Constitutional AI tricks:

  • Multiple critiques per response: AI critique against multiple principles, sample one.
  • Chain-of-thought: AI explains reasoning before judgment. Auditable.
  • Adversarial pairing: intentionally diverse responses (one harmful, one safe) — AI must distinguish.

(৬) Bias mitigation:

  • Diverse training corpus → judge less biased to single perspective.
  • Specifically anti-bias principles in constitution.
  • Bias evaluation suite (BBQ, BOLD) regular monitoring.

(৭) Failure modes acknowledged:

  • Anthropic-এর own research: Claude সখানে fails — sycophancy, evasion, hidden harms.
  • Continuous improvement, not "solved".
  • Mechanistic interpretability research — circuit-level safety understanding.

(৮) Comparative safety:

  • External evals (HHEM, MT-Bench-Safety, RewardBench) — Claude top-3 consistently.
  • Jailbreak resistance highest among major models (২০২৪ data).
  • Hallucination rate competitive.

(৯) Open question: "AI-AI alignment recursive eventually fail?" — research অযৌক্তিক না। Mesa-optimization, deceptive alignment — long-term concerns. Constitutional AI buys time, not final solution.

মূল কথা: RLAIF safe হলে — humans-in-the-loop at higher abstraction level (constitution writing, oversight). "Pure AI judge" naïve; "AI + human + structured principles" robust. Engineering layered defense, not single magic technique.

প্র ০৩ $\beta$ DPO-তে RLHF-এর KL coefficient-এর মতো — বড়/ছোট হলে কী হয়? Tuning intuition?

চমৎকার practical hyperparameter question.

$\beta$ এর role — KL regularization strength:

  • Implicit reward $r = \beta \log(\pi/\pi_{\text{ref}})$।
  • Large $\beta$: small log-ratio difference → large reward difference. Policy stays near reference.
  • Small $\beta$: large log-ratio difference → small reward difference. Policy can move far.

$\beta$ very small (e.g., 0.01):

  • Reward range narrow — preferences encode কম।
  • Loss easily saturate (sigmoid extreme tail).
  • Policy moves a lot from reference — reference irrelevant.
  • Risk: degenerate to maximizing chosen log-prob alone, ignore KL anchor.
  • Empirical: training unstable, accuracy plateau low.

$\beta$ very large (e.g., 1.0):

  • Tiny policy change → big reward shift.
  • Loss easily saturate other direction (stuck near reference).
  • Improvement minimal.
  • Empirical: model behavior similar to SFT, no gain.

Sweet spot ($\beta = 0.1$ - $0.3$ typically):

  • Original DPO paper: $\beta=0.1$ default.
  • Anthropic-style preference: $\beta=0.2-0.5$।
  • Domain-specific: longer responses → smaller $\beta$ (length factor).

Tuning intuition:

  1. Start $\beta=0.1$।
  2. Track validation accuracy + reward margin.
  3. Margin > 5: probably overoptimizing, increase $\beta$।
  4. Margin < 1: not learning enough, decrease $\beta$।
  5. Eval downstream task — ultimate truth.

Comparison to RLHF KL:

  • RLHF: explicit KL term, tunable runtime. Adaptive controllers possible.
  • DPO: $\beta$ fixed at training time. Less flexible, simpler.

Pathological cases:

  • Reference too weak — DPO struggles regardless of $\beta$।
  • Preferences low-quality — $\beta$ tuning won't fix data issue.
  • Length bias — even $\beta$ tuning insufficient; SimPO needed.

Practical advice:

  • Default $\beta=0.1$, sweep $\{0.05, 0.1, 0.2, 0.5\}$।
  • Monitor "rewards/margins" and "rewards/accuracies" — TRL library exposes.
  • Validate on held-out preference set + downstream eval (MT-Bench).

মূল কথা: $\beta$ — DPO-এর single most-important knob. Wrong $\beta$ = wasted training run.

প্র ০৪ আপনি Bangla কোম্পানি — ১০টি GPU, $50K বাজেট, ৩-মাস timeline-এ একটি Bangla customer-support agent বানাতে হবে। DPO-RLHF-RLAIF-এর কোন combination?

চমৎকার applied resource-constrained scenario.

Initial approach — তিন-tier strategy:

  1. Foundation: Llama-3.1-8B base বা Aya-23-8B (multilingual).
  2. Stage 1 — Bangla SFT (১ মাস, $20K):
    • ~৫০K Bangla customer-support dialogues collect.
    • Sources: existing chat logs (anonymized), translation from English support data, synthetic from GPT-4.
    • LoRA fine-tune (rank 32) — full param-tune করতে গেলে compute চাই।
    • 4 GPUs × 2 weeks = ৬৪ GPU-day.
  3. Stage 2 — RLAIF preference data (২ সপ্তাহ, $5K):
    • Constitution লিখুন — Bangla-specific (10-15 principles).
    • SFT model generate ২ responses per prompt, ~৩০K prompts.
    • GPT-4 + Claude judge — Bangla-aware. Cost ~$3-5K.
    • Humans (Bangladesh annotators) ১,০০০ comparisons spot-check + correct ($2K).
  4. Stage 3 — DPO training (৩ সপ্তাহ, $15K):
    • DPO loss + LoRA, 4 GPUs × 2 weeks.
    • Iterative — initial DPO → new responses generate → re-label → second DPO round.
    • Hyperparam: $\beta=0.1$ start, sweep ৩টি।
  5. Stage 4 — Eval + iteration (২ সপ্তাহ, $10K):
    • Bangla customer-support test suite — 500 prompts.
    • Human eval ($5K) ও automated (BLEU, BERTScore, GPT-4 judge).
    • A/B test internal — current rule-based vs LLM.
    • Safety red-teaming — Bangla jailbreak attempts.

Why this combination:

  • DPO over PPO: $50K budget — PPO infrastructure prohibitive. DPO 5× cheaper.
  • RLAIF for scale: ১০K human comparisons would cost $30K alone — RLAIF brings it to $3K.
  • LoRA over full fine-tune: 8B model full FT needs 80GB+ per GPU. LoRA 24GB doable on standard GPU.
  • Hybrid human+AI labels: pure RLAIF risky for production; humans validate critical principles.

Bangla-specific considerations:

  • Tokenizer: base model-এর tokenizer Bangla-friendly check. Llama-3 OK; older models bloat.
  • Code-switching: "ami order ta cancel korte chai" — 50%+ customer queries. Train data must include.
  • Address forms: Auto-detect formal (আপনি) vs casual (তুমি) — match user's tone.
  • Religious sensitivity: festivals, dietary preferences — politely accommodate.
  • Localization: currency BDT, time zones GMT+6, addresses Bangladeshi format.

Risks ও mitigation:

  • Hallucination: wrong order info = customer angry. Solution: RAG with order DB, "I'll check" fallback.
  • Escalation: AI uncertain → human agent. Confidence threshold.
  • Privacy: customer data — local hosting, GDPR-style protection.
  • Compliance: Bangladesh Telecom Act/Consumer Rights Act — refund policies in answer cap.

Deliverables timeline:

  • Week 4: SFT model alpha — internal testing.
  • Week 7: DPO model beta — pilot with select customers.
  • Week 10: Production-ready, monitoring dashboard.
  • Week 12: Public launch + continuous improvement framework.

Continuous improvement (post-launch):

  • User feedback loops — thumbs up/down → preference data.
  • Monthly DPO refresh with new data.
  • Quarterly constitution update — issues addressed.

মূল কথা: $50K + ১০ GPU + ৩ মাস — Bangladesh-এ realistic budget. DPO + RLAIF + LoRA — sweet spot. Production deploy + iterate, course-end project hিsebe excellent.

অনুশীলন

  1. DPO loss derivation: RLHF objective থেকে DPO loss-এ পৌঁছানোর key step কী? কোন term cancel হয়?

    (১) KL-regularized RL-এর closed-form optimal $\pi^* \propto \pi_{\text{ref}} \exp(r/\beta)$। (২) Reward as $r = \beta \log(\pi^*/\pi_{\text{ref}}) + \beta \log Z$। (৩) Bradley-Terry: $\sigma(r_w - r_l)$। (৪) $\log Z(x)$ both terms-এ একই — cancel. তাই DPO loss = $-\log\sigma(\beta \log(\pi/\pi_{\text{ref}})$-এর difference).

  2. RLAIF cost-benefit: ১০০K preference labels — humans-এ $500K, RLAIF-এ $500. কী কী scenarios-এ "human-only" তবু worth?

    (১) Cultural/legal nuance — Bangladesh-specific religious sensitivity AI-judge miss. (২) Frontier model alignment — AI-judge model itself untrustworthy. (৩) Safety-critical — medical, legal advice. (৪) Subjective taste — humor, creativity. (৫) Bias-evaluation — must come from humans. Hybrid (90% RLAIF + 10% human spot-check) best practice.

  3. Method choice: (a) ৫০K Llama-3 fine-tune budget, (b) $5M Claude-equivalent build, (c) Quick research prototype. কোন approach বাছবেন?

    (a) ৫০K — DPO + LoRA. PPO infeasible. (b) $5M — full RLHF + RLAIF + Constitutional AI hybrid. Multi-stage iterative. (c) Prototype — DPO with HuggingFace TRL library, 1 day setup, default hyperparams. Validate idea cheaply, scale if needed.

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

পূর্ববর্তী পাঠ
পাঠ ২৮ · RLHF — LLM alignment