Phase 09: Reinforcement Learning

نموذج المكافآت & RLHF

لا يمكن للبشر كتابة وظيفة مكافأة لـ "استجابة مساعد جيدة"، ولكن يمكنهم مقارنة ردود فعل اثنين واختيار أفضل. تناسب نموذج مكافأة لتلك المقارنات، ثم RL نموذج اللغة ضد ذلك. كريستيانو 2017.

Type: Build

Languages: Python

Prerequisites: Phase 5 · 05 (Sentiment), Phase 9 · 08 (PPO)

Time: ~45 minutes

المشكلة

لقد تدربت نموذج لغة على هدف التنبؤ التالي. يكتب اللغة الإنجليزية الجهامية. كما يكذب ويتجول ويرفض الرفض. لا يمكنك إصلاح هذا مع المزيد من التدريب.

تريد مكافأة مقياسية تقول "الرد A أفضل من الرد B للتعليمات X". كتابة وظيفة مكافأة يدويا مستحيل. "المساعدة" ليست تعبيرًا مغلقًا على الرموز. ولكن البشر يمكنهم مقارنة نتائج اثنين وتحديد تفضيل. وهذا رخيص لجمعها على مقياس.

RLHF (Christiano et al. 2017; Ouyang et al. 2022) تحويل التفضيلات إلى نموذج مكافأة ، ثم تحسين LM عن طريق PPO ضد هذه المكافأة. في ثلاث خطوات: SFT → RM → PPO. إنها وصفة شحن ChatGPT ، كلود ، جيميني ، وجميع التوافقات الأخرى-LLM في 20232025.

في عام 2026 يتم استبدال خطوة PPO معظمها ب DPO (المرحلة 10 · 08) لأنه أرخص وأكثر فائدة تقريباً للتحديد التوالي. ولكن قطعة نموذج الجائزة لا تزال تتمثل في كل عينة أفضل من N ، وكل خط أنبوب RL-من-المكافآت المتحققة ، وكل نموذج التفكير باستخدام نموذج مكافأة العملية. فهم RLHF وفهم كومة التوالي بأكملها.

المفهوم

!Three-stage RLHF: SFT, RM training on pairwise prefs, PPO with KL penalty

Stage 1: Supervised Fine-Tuning (SFT).البدء من نموذج أساسي مدرب مسبقًا. تحسين التوضيحات المكتوبة من قبل الإنسان لسلوك الهدف (ردود تتابع التعليمات، الردود المفيدة، إلخ). النتيجة: نموذج π_SFTالتي تحيز نحو السلوك الجيد ولكن لا يزال لها مساحة عمل غير محدودة.

Stage 2: Reward Model training.

  • جمع أزواج من الردود (y_+, y_-)إلى الإشاراتx، يسميها البشر "y_+ تفضل على y_-. "
  • تدريب نموذج مكافأة R_φ(x, y)لتحديد درجات أعلى لy_+. . .
  • الخسارة:Bradley-Terry pairwise logistic:

L(φ) = -E[ log σ(R_φ(x, y_+) - R_φ(x, y_-)) ]

σ هو sigmoid. الفرق في المكافأة يعني إيقاع الاختيارات التميزية. كانت BT هي القاعدة منذ عام 1952 (برادلي-تيري) وهي الخيار المهيمن في RLHF الحديث.

  • R_φعادة ما يتم تشغيلها من نموذج SFT مع رأس سكالي على الأعلى. نفس العمود الفقري للمتحول؛ طبقة خطية واحدة تنطلق الجائزة.

Stage 3: PPO against the RM with KL penalty.

  • إطلاق سياسة التدريبπ_θمنπ_SFT. إبقَ مرجعًا مُجمدًاπ_ref = π_SFT. . .
  • مكافأة في نهاية الإجابةy:

r_total(x, y) = R_φ(x, y) - β · KL(π_θ(·|x) || π_ref(·|x))

عقوبة ك.إل تمنعπ_θمن التجول تعسفيًا منπ_SFT هو تنظيمي ، وليس منطقة ثقة صعبة. βعادةً0.01-أجل0.05. . .

  • تشغيل PPO (دروس 08) مع هذه المكافأة. يتم حساب المزايا على مسار مستوى الرمز، ولكن RM تسجل فقط الاستجابة الكاملة.

Why the KL?بدونها، سوف يجد PPO بكل سرور استراتيجيات اختراق المكافآت تم تدريب RM فقط على الانتهاءات في التوزيع. قد يحصل استجابة خارج التوزيع على درجة أعلى من أي من كتب البشر.π_θبالقرب من المجموعة حيث تم تدريب RM.

2026 status:

  • DPO(رافائيلوف 2023): الهجرة المغلقة تسقط المرحلة 2 + 3 إلى خسارة واحدة تحت الإشراف على بيانات الاختيارات. لا RM، لا PPO. نفس الجودة على معايير التنظيم لجزء من الحساب. تغطية في المرحلة 10 · 08.
  • GRPO(DeepSeek 20242025): PPO مع خط أساسي مرتبط بالجماعة بدلاً من النقاد، مكافأة من verifier (مشاركات الرمز / مطابقات الإجابات الرياضية) بدلاً من RM المدربة من قبل البشر. غالب على نماذج التفكير. تغطية في المرحلة 9 · 12.
  • Process reward models (PRMs):حلول جزئية (كل خطوة من الحجج) تستخدم في كل من فترات RLHF و GRPO للتحقيق.
  • Constitutional AI / RLAIF:استخدام القانون القانوني المتماشى لتوليد التفضيلات بدلا من البشر.

بناءها

تستخدم هذه الدروس "التسجيلات" وال"ردود" الصناعية الصغيرة الممثلة على أنها سلسلة. RM هو مستحق رصيد خطي على تمثيل حقيبة من الرموز. لا يوجد LLM حقيقي شكل من خط الأنابيب يهم ، وليس المقياس. انظر code/main.py. . .

الخطوة الأولى: بيانات تفضيل صناعية

pythonPROMPTS = ["help me", "answer me", "explain this"]
GOOD_WORDS = {"clear", "specific", "kind", "thorough"}
BAD_WORDS = {"vague", "rude", "wrong", "short"}

def make_pair(rng):
    x = rng.choice(PROMPTS)
    y_good = rng.choice(list(GOOD_WORDS)) + " " + rng.choice(list(GOOD_WORDS))
    y_bad = rng.choice(list(BAD_WORDS)) + " " + rng.choice(list(BAD_WORDS))
    return (x, y_good, y_bad)

في RLHF الحقيقي يتم استبدال هذا بالعلامات البشرية.(prompt, preferred_response, rejected_response) هو نفس الشيء

الخطوة الثانية: نموذج مكافأة برادلي تيري

النتيجة الخطية: R(x, y) = w · bag(y). التدريب لتقليل خسارة التسجيلات بالتزامن مع التسجيلات

pythondef rm_train_step(w, x, y_pos, y_neg, lr):
    r_pos = dot(w, bag(y_pos))
    r_neg = dot(w, bag(y_neg))
    p = sigmoid(r_pos - r_neg)
    for tok, cnt in bag(y_pos).items():
        w[tok] += lr * (1 - p) * cnt
    for tok, cnt in bag(y_neg).items():
        w[tok] -= lr * (1 - p) * cnt

بعد بضع مئات من التحديثاتwيُعطي الوزن الإيجابي لرمز الكلمات الجيدة والسلبي للسيئ.

الخطوة الثالثة: سياسة تشبه PPO فوق RM

سياسة ألعابنا تنتج رمز واحد من المفرداتlog π_θ(token | prompt)، إضافة عقوبة KL إلى المرجع، وتطبيق قطع PPO بديل.

pythondef rlhf_step(theta, ref, w, prompt, rng, eps=0.2, beta=0.1, lr=0.05):
    logits_theta = policy_logits(theta, prompt)
    probs = softmax(logits_theta)
    token = sample(probs, rng)
    logits_ref = policy_logits(ref, prompt)
    probs_ref = softmax(logits_ref)
    reward = dot(w, bag([token])) - beta * kl(probs, probs_ref)
    # ppo-style update on theta, treating reward as the return
    ...

الخطوة الرابعة: مراقبة الممر

متوسط المسارKL(π_θ || π_ref)كل تحديث، إذا كان يمر~5-10السياسة قد انحرفت بعيدا عنπ_SFT أقل βهذا هو التشخيص الأعلى في RLHF الحقيقي.

الخطوة 5: وصفة الإنتاج مع TRL

بمجرد أن تفهم خط أنابيب الألعاب، هنا نفس الحلقة التي يكتبه مستخدم مكتبة حقيقية.TRLهو تنفيذ المرجعية RewardTrainerللمرحلة 2 و PPOTrainer(مع جهاز KL-to-reference مدمج) للمرحلة الثالثة.

python# Stage 2: reward model from pairwise preferences
from trl import RewardTrainer, RewardConfig
from transformers import AutoModelForSequenceClassification, AutoTokenizer

tok = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B-Instruct")
rm = AutoModelForSequenceClassification.from_pretrained(
    "meta-llama/Llama-3.1-8B-Instruct", num_labels=1
)

# dataset rows: {"prompt", "chosen", "rejected"} — Bradley-Terry format
trainer = RewardTrainer(
    model=rm,
    tokenizer=tok,
    train_dataset=preference_data,
    args=RewardConfig(output_dir="./rm", num_train_epochs=1, learning_rate=1e-5),
)
trainer.train()
python# Stage 3: PPO against the RM with KL penalty to the SFT reference
from trl import PPOTrainer, PPOConfig, AutoModelForCausalLMWithValueHead

policy = AutoModelForCausalLMWithValueHead.from_pretrained("./sft-checkpoint")
ref    = AutoModelForCausalLMWithValueHead.from_pretrained("./sft-checkpoint")  # frozen

ppo = PPOTrainer(
    config=PPOConfig(learning_rate=1.41e-5, batch_size=64, init_kl_coef=0.05,
                     target_kl=6.0, adap_kl_ctrl=True),
    model=policy, ref_model=ref, tokenizer=tok,
)

for batch in dataloader:
    responses = ppo.generate(batch["query_ids"], max_new_tokens=128)
    rewards   = rm(torch.cat([batch["query_ids"], responses], dim=-1)).logits[:, 0]
    stats     = ppo.step(batch["query_ids"], responses, rewards)
    # stats includes: mean_kl, clip_frac, value_loss — the three PPO diagnostics

ثلاثة أشياء تقوم بها المكتبة من أجلكadap_kl_ctrl=Trueتنفيذ جدول التكيف-β: إذا تجاوز KL الملاحظ target_klالنموذج المرجعي يتم تجميده بالاتفاقية لا يجب أن تشارك المعلمات مع policyو رأس القيمة يعيش على نفس العمود الفقريAutoModelForCausalLMWithValueHeadيرفق رأس MLP (MLP) ، ولهذا السبب تقرير TRL policy/klوvalue/lossبشكل منفصل

الفخاخ

  • Over-optimization / reward hacking.الـ (مـ) غير كاملةπ_θالعلامات: الافضل يرتفع إلى أجل غير مسمى بينما تقدم البشر تقييم مستطيلات أو انخفاض.β، وتوسيع بيانات تدريب RM.
  • Length hacking.غالباً ما يتم تكافؤ المعلمين المهنيين على الاستجابات المفيدة بشكل ضمني. تتعلم السياسة كيفية تعبئة الاستجابات. التعويض: مكافأة طبيعية على طول، أو RLAIF مع RM واعية على طول.
  • Too-small RM.يجب أن يكون الرقم الكبير على الأقل مثل السياسة، ولا يمكن لـ RM الصغير أن يحصل على نتائج سياسة
  • KL tuning.انخفاض β → التجريد والكافأة القرصنة. انخفاض β → السياسة بالكاد يتغير. الخدعة القياسية هي التكيف β التي تهدف إلى KL ثابتة في كل خطوة.
  • Preference-data noise.~ 30% من اللوحات البشرية ضوضاء أو غامضة. قم بتعليم RM على بيانات مرشحة بالاتفاق أو استخدم درجة حرارة على BT.
  • Off-policy problems.بيانات PPO غير سياسية قليلا بعد العصر الأول.

استخدمها

RLHF في عام 2026 هو طبقات:

LayerTargetMethod
Instruction following, helpfulness, harmlessnessAlignmentDPO (Phase 10 · 08) preferred over RLHF-PPO.
Reasoning correctness (math, code)CapabilityGRPO with verifier reward (Phase 9 · 12).
Long-horizon multi-step tasksAgenticPPO / GRPO with process reward models over steps.
Safety / refusal behaviorSafetyRLHF-PPO with separate safety RM, or Constitutional AI.
Best-of-N at inferenceFast alignmentUse RM at decode time; no policy training needed.
Reward distillationInference computeTrain a small "reward head" on top of a frozen LM.

كان RLHF الطريقة في 20222024. في عام 2026 ، يتم استخدام خطوط أنابيب التنظيم الإنتاج DPO- أولاً ، PPO- فقط للخطوات المكثفة في RM أو الحرجة في السلامة.

أرسله

إبقواoutputs/skill-rlhf-architect.md:

markdown---
name: rlhf-architect
description: Design an RLHF / DPO / GRPO alignment pipeline for a language model, including RM, KL, and data strategy.
version: 1.0.0
phase: 9
lesson: 9
tags: [rl, rlhf, alignment, llm]
---

Given a base LM, a target behavior (alignment / reasoning / refusal / agent), and a preference or verifier budget, output:

1. Stage. SFT? RM? DPO? GRPO? With justification.
2. Preference or verifier source. Humans, AI feedback, rule-based, unit-test-pass, or reward distillation.
3. KL strategy. Fixed β, adaptive β, or DPO (implicit KL).
4. Diagnostics. Mean KL, reward stability, over-optimization guard (holdout human eval).
5. Safety gate. Red-team set, refusal rate, safety RM separate from helpfulness RM.

Refuse to ship RLHF-PPO without a KL monitor. Refuse to use an RM smaller than the target policy. Refuse length-only rewards. Flag any pipeline that does not hold back a blind human-eval set as lacking over-optimization protection.

التمارين

  1. Easy.تدريب نموذج مكافأة برادلي تيري فيcode/main.pyعلى 500 زوج من الأزواج المفضلة الاصطناعية. قياس دقة الأزواج على 100 زوج من الأزواج المحتملة. يجب أن يتجاوز 90%.
  2. Medium.إشغال حلقة لعبة PPO-RLHF مع β ∈ {0.0, 0.1, 1.0}لكل منهما، قم بتحديد النتيجة المقدمة مقابل النتيجة المرجعية من خلال التحديثات
  3. Hard.تنفيذ DPO (خسارة احتمالية تفضيل الشكل المغلق) على نفس البيانات المفضلة ومقارنة مع خط أنابيب RLHF-PPO في الحساب المستخدم والنتيجة النهائية RM التي تم تحقيقها.

الشروط الرئيسية

TermWhat people sayWhat it actually means
RLHF"Alignment RL"Three-stage SFT + RM + PPO pipeline (Christiano 2017, Ouyang 2022).
Reward Model (RM)"The scoring net"Learned scalar function fit to pairwise preferences via Bradley-Terry.
Bradley-Terry"Pairwise logistic loss"P(y_+ ≻ y_-) = σ(R(y_+) - R(y_-)); the standard RM objective.
KL penalty"Stay near the reference"β · KL(π_θ || π_ref) in the reward; the anti-reward-hacking regularizer.
Reward hacking"Goodhart's law"Policy exploits RM flaws; symptoms: reward up, human eval flat.
RLAIF"AI-labeled preferences"RLHF where labels come from another LM instead of humans.
PRM"Process Reward Model"Scores partial reasoning steps; used in reasoning pipelines.
Constitutional AI"Anthropic's method"AI-generated preferences guided by explicit rules.

المزيد من القراءة

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.