فاز 9 · درس 9

آموزش RLHF و مدل‌سازی پاداش در مدل‌های زبانی بزرگ

نوع
ساختنی
زمان
حدود 45 دقیقه
زبان‌ها
Python
پیش‌نیاز
فاز 5 · درس 05 (تحلیل احساسات)، فاز 9 · درس 08 (PPO)
یک ترازوی سنجش برنجی قدیمی که دو بلوک متنی را وزن می‌کند و یک عقربه‌ی نوری دیجیتال در پشت آن پاداش عددی را محاسبه می‌کند
فهرست مطالب
  1. صورت مسئله
  2. مفهوم اصلی
  3. پیاده‌سازی
  4. گام 1: داده‌های ترجیحی ساختگی
  5. گام 2: مدل پاداش بردلی-تری
  6. گام 3: خط‌مشی شبه‌PPO بر فراز مدل پاداش
  7. گام 4: پایش واگرایی KL
  8. گام 5: دستورالعمل عملیاتی با TRL
  9. تله‌ها و خطاهای رایج
  10. کاربردها در دنیای واقعی
  11. تحویل نهایی
  12. تمرین‌ها
  13. اصطلاحات کلیدی
  14. برای مطالعه‌ی بیشتر

مدل‌های پایه‌ای پس از اتمام پیش‌آموزش روی مقادیر عظیمی از داده‌های وب، ممکن است متنی کاملاً روان تولید کنند اما همچنان پاسخ‌هایی گمراه‌کننده، پر از توهم یا خارج از چارچوب ارائه دهند. برای تبدیل یک پیش‌بینی‌کننده‌ی خام کلمات به دستیاری امن، کارآمد و مطیع، ناچاریم رفتار آن را همسو کنیم. الگوریتم یادگیری تقویتی با بازخورد انسانی (RLHF) دقیقاً همان فرمولی است که مدل‌هایی مانند ChatGPT و Claude را وارد جریان کاری روزمره کرد.

اگرچه روش‌های سبک‌تر و جدیدتری مانند DPO بخشی از فرایندهای امروزی را بر عهده گرفته‌اند، اما درک مفهوم «مدل پاداش» و بهینه‌سازی خط‌مشی در برابر آن هنوز زیربنای اصلی تکنیک‌های استدلال، سیستم‌های چندمرحله‌ای و رتبه‌بندی‌های Best-of-N به شمار می‌آید. شناخت دقیق پیوند میان مدل پاداش، تابع بردلی-تری و کنترل واگرایی KL به شما کمک می‌کند پشته‌ی کامل همسوسازی مدرن را عمیقاً درک کنید.

برای تسلط بر این معماری، این درس روند آموزش را از داده‌های ترجیحی ساختگی شروع کرده و شما را با پیاده‌سازی مدل پاداش و ادغام آن با PPO آشنا می‌کند. پیاده‌سازی گام‌های مفهومی در این آموزش بدون نیاز به خوشه‌های محاسباتی گران‌قیمت یا پردازنده‌های گرافیکی سنگین ابری روی سیستم‌های محلی قابل اجرا است؛ هرچند در صورت نیاز به استفاده از فریم‌ورک‌های تولیدی مانند TRL و دانلود وزن‌ها، ممکن است با اختلالات و کندی‌های رایج دانلود مخازن خارجی از ایران مواجه شوید که استفاده از آینه‌های داخلی یا دانلود آفلاین این روند را تسهیل می‌کند.

انسان‌ها نمی‌توانند برای «پاسخ خوبِ یک دستیار» تابع پاداش بنویسند، اما می‌توانند دو پاسخ را مقایسه کنند و پاسخ بهتر را برگزینند. یک مدل پاداش را روی این مقایسه‌ها برازش کنید، سپس مدل زبانی را با یادگیری تقویتی (RL) در برابر آن بهینه‌سازی کنید. Christiano 2017. InstructGPT 2022. همان دستورالعملی که GPT-3 را به ChatGPT تبدیل کرد. در سال 2026 این روش تا حد زیادی با DPO جایگزین شده است — اما مدل ذهنی آن همچنان پابرجاست.

صورت مسئله

شما یک مدل زبانی را با هدف پیش‌بینی توکن بعدی آموزش داده‌اید. این مدل انگلیسیِ درست و باگرامری می‌نویسد؛ اما در عین حال دروغ می‌گوید، به حاشیه می‌رود و از امتناع کردن در مواقع لازم سر باز می‌زند. نمی‌توانید این مشکل را با پیش‌آموزش بیشتر حل کنید — متن‌های وب خودِ مشکل هستند، نه درمان آن.

شما یک پاداش اسکالر می‌خواهید که بگوید «برای دستور X، پاسخ A از پاسخ B بهتر است». نوشتن دستیِ چنین تابع پاداشی ناممکن است. «مفید بودن» فرمول تحلیلی و فرم بسته‌ای (closed-form) بر حسب توکن‌ها ندارد. اما انسان‌ها می‌توانند دو خروجی را با هم مقایسه کنند و اولویت خود را مشخص کنند. جمع‌آوری چنین داده‌هایی در مقیاس بالا ارزان تمام می‌شود.

روش RLHF (Christiano et al. 2017؛ Ouyang et al. 2022) ترجیحات را به یک مدل پاداش تبدیل می‌کند، سپس مدل زبانی را از طریق PPO در برابر آن پاداش بهینه‌سازی می‌کند؛ در سه مرحله: SFT → RM → PPO. این همان دستورالعملی است که ChatGPT، Claude، Gemini و تمام مدل‌های زبانی همسوشده‌ی دیگر را در سال‌های 2023 تا 2025 روانه‌ی بازار کرد.

در سال 2026، مرحله‌ی PPO تا حد زیادی جای خود را به DPO (فاز 10 · درس 08) داده است، چرا که ارزان‌تر است و برای تیونینگ همسوسازی تقریباً همان کیفیت را ارائه می‌دهد. اما بخش مدل پاداش همچنان زیربنای همه‌ی نمونه‌گیرهای (sampler) Best-of-N، تمام پایپ‌لاین‌های RL مبتنی بر پاداش‌های قابل‌وارسی، و همه‌ی مدل‌های استدلال‌گری است که از مدل پاداش فرآیندی بهره می‌برند. اگر RLHF را بشناسید، کل پشته‌ی همسوسازی (alignment stack) را فهمیده‌اید.

مفهوم اصلی

RLHF سه‌مرحله‌ای: SFT، آموزش مدل پاداش روی ترجیحات جفتی، PPO با جریمه‌ی واگرایی KL

مرحله‌ی 1: فاین‌تیونینگ نظارت‌شده (SFT). کار را از یک مدل پایه‌ی پیش‌آموزش‌دیده شروع کنید. آن را روی نمونه‌رفتارهای هدف که به دست انسان نوشته شده‌اند (پاسخ‌های پیرو دستور، جواب‌های مفید و غیره) فاین‌تیون کنید. نتیجه: مدلی به نام πSFT\pi_{\text{SFT}} که به سمت رفتار خوب سوگیری دارد اما فضای عمل آن همچنان نامحدود است.

مرحله‌ی 2: آموزش مدل پاداش (RM).

  • جفت پاسخ‌های (y+,y−)(y_+, y_-) را برای پرامپت‌های xx جمع‌آوری کنید، به‌طوری که برچسب انسانی نشان دهد «y_+ به y_- ترجیح داده شده است».

  • یک مدل پاداش Rϕ(x,y)R_\phi(x, y) را آموزش دهید تا امتیاز بالاتری به y+y_+ بدهد.

  • تابع زیان (loss): لجستیک جفتی بردلی-تری (Bradley-Terry):

    L(ϕ)=−E[log⁡σ(Rϕ(x,y+)−Rϕ(x,y−))]L(\phi) = -\mathbb{E}[ \log \sigma(R_\phi(x, y_+) - R_\phi(x, y_-)) ]

    σ\sigma تابع سیگموئید است. اختلاف پاداش نشان‌دهنده‌ی لگاریتم شانس (log-odds) ترجیح است. مدل بردلی-تری از سال 1952 استاندارد بوده و گزینه‌ی غالب در RLHF امروزی است.

  • RϕR_\phi معمولاً با وزن‌های مدل SFT مقداردهی اولیه می‌شود و یک سر (head) اسکالر روی آن قرار می‌گیرد. بک‌بون (backbone) ترنسفورمر یکسان است؛ فقط یک لایه‌ی خطی ساده پاداش را خروجی می‌دهد.

مرحله‌ی 3: اجرای PPO در برابر مدل پاداش با جریمه‌ی واگرایی KL.

  • خط‌مشی قابل آموزش πθ\pi_\theta را از روی πSFT\pi_{\text{SFT}} مقداردهی کنید. یک مدل مرجع ثابت و فریز‌شده به نام πref=πSFT\pi_{\text{ref}} = \pi_{\text{SFT}} را نگه دارید.

  • پاداش در انتهای یک پاسخ yy:

    rtotal(x,y)=Rϕ(x,y)−β⋅KL(πθ(⋅∣x)∥πref(⋅∣x))r_{\text{total}}(x, y) = R_\phi(x, y) - \beta \cdot \mathrm{KL}(\pi_\theta(\cdot \mid x) \Vert \pi_{\text{ref}}(\cdot \mid x))

    جریمه‌ی KL مانع از آن می‌شود که πθ\pi_\theta بی‌رویه از πSFT\pi_{\text{SFT}} فاصله بگیرد — این جریمه یک تنظیم‌کننده (regularizer) است، نه یک ناحیه‌ی اطمینان سخت‌گیرانه. مقدار β\beta معمولاً بین 0.01 تا 0.05 است.

  • الگوریتم PPO (درس 08) را با این پاداش اجرا کنید. مقادیر مزیت (advantage) روی مسیر در سطح توکن محاسبه می‌شوند، اما مدل پاداش فقط به کل پاسخ نمره می‌دهد.

چرا جریمه‌ی KL؟ بدون آن، PPO به‌راحتی استراتژی‌های هک پاداش (reward hacking) را پیدا می‌کند — زیرا مدل پاداش تنها روی خروجی‌های درون‌توزیع آموزش دیده است. یک پاسخ خارج‌از‌توزیع ممکن است امتیازی بالاتر از هر متن نوشته‌شده به دست انسان بگیرد. جریمه‌ی KL مدل πθ\pi_\theta را نزدیک خمینه‌ای (manifold) نگه می‌دارد که مدل پاداش روی آن آموزش دیده است. این مهم‌ترین اهرم کنترلی در RLHF به شمار می‌رود.

وضعیت در سال 2026:

  • الگوریتم DPO (Rafailov 2023): با محاسبات جبریِ فرم بسته، مرحله‌ی 2 و 3 را در یک تابع زیان نظارت‌شده‌ی واحد روی داده‌های ترجیحی ادغام می‌کند. بدون مدل پاداش و بدون PPO. کیفیت روی بنچمارک‌های همسوسازی یکسان است، آن هم با کسری از هزینه‌ی محاسباتی. در فاز 10 · درس 08 به آن می‌پردازیم.
  • الگوریتم GRPO (DeepSeek 2024–2025): روش PPO با یک خط مبنای نسبی گروهی به‌جای مدل منتقد (critic)، که در آن پاداش از یک وارس‌گر (verifier) می‌آید (اجرای کد / مطابقت جواب ریاضی)، نه از مدل پاداشِ آموزش‌دیده با انسان. رویکرد غالب برای مدل‌های استدلال‌گر. در فاز 9 · درس 12 بررسی می‌شود.
  • مدل‌های پاداش فرآیندی (PRMs): راه‌حل‌های ناتمام (هر گام استدلال) را امتیازدهی می‌کنند و در انواع مختلف RLHF و GRPO برای مسائل استدلالی به کار می‌روند.
  • هوش مصنوعی قانون‌محور (Constitutional AI) / روش RLAIF: استفاده از یک مدل زبانی همسوشده به‌جای انسان برای تولید ترجیحات؛ روشی که بودجه‌ی جمع‌آوری ترجیحات را مقیاس‌پذیر می‌کند.
مدل پاداش (REWARD MODEL)شکاف امتیاز را بکشید
REWARD MODELA reward model turns human preferences into a scalar score. For each pair a human marked chosen over rejected, the Bradley-Terry objective trains the model so the chosen response scores higher. The wider the score gap, the higher the modeled probability that a human prefers the chosen answer, and the smaller the preference loss.ردشده -0.60برگزیده 0.60
یک مدل پاداش ترجیحات انسانی را به یک امتیاز اسکالر تبدیل می‌کند. برای هر جفتی که انسان پاسخ برگزیده (chosen) را بر پاسخ ردشده (rejected) ترجیح داده، تابع هدف بردلی-تری (Bradley-Terry) مدل را طوری آموزش می‌دهد که پاسخ برگزیده امتیاز بالاتری بگیرد. هر چه این شکاف امتیاز بیشتر باشد، احتمال مدل‌شده برای ترجیح پاسخ برگزیده توسط انسان بالاتر رفته و تابع زیان ترجیح (preference loss) کمتر می‌شود.

پیاده‌سازی

در این درس از «پرامپت‌ها» و «پاسخ‌های» ساختگی و بسیار کوچک در قالب رشته‌های متنی استفاده می‌کنیم. مدل پاداش، یک امتیازدهنده‌ی خطی روی نمایش کیسه‌توکن‌ها (bag-of-tokens) است. مدل زبانی واقعی در کار نیست — ساختار کلی پایپ‌لاین مهم است، نه ابعاد و مقیاس آن. فایل code/main.py را ببینید.

گام 1: داده‌های ترجیحی ساختگی

PROMPTS = ["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) — کاملاً یکسان است.

گام 2: مدل پاداش بردلی-تری

امتیاز خطی: R(x, y) = w · bag(y). مدل را طوری آموزش دهید که تابع زیانِ لگاریتمی جفتی بردلی-تری را کمینه کند:

def 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 وزن‌های مثبت را به توکن‌های کلمات خوب و وزن‌های منفی را به کلمات بد اختصاص می‌دهد.

گام 3: خط‌مشی شبه‌PPO بر فراز مدل پاداش

خط‌مشی ساده‌ی ما یک توکن منفرد از دایره‌ی واژگان تولید می‌کند. توکن را با مدل پاداش امتیازدهی می‌کنیم، log⁡πθ(token∣prompt)\log \pi_\theta(\text{token} \mid \text{prompt}) را محاسبه می‌کنیم، جریمه‌ی واگرایی KL نسبت به مرجع را اضافه می‌کنیم و تابع هدف جانشینِ بریده‌شده‌ی (clipped surrogate) PPO را اعمال می‌کنیم.

def 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 روی theta، با در نظر گرفتن reward به عنوان بازده (return)
    ...

گام 4: پایش واگرایی KL

میانگین KL(πθ∥πref)\mathrm{KL}(\pi_\theta \Vert \pi_{\text{ref}}) را در هر به‌روزرسانی زیر نظر بگیرید. اگر این مقدار از حدود 5-10 بیشتر شود (واگرایی KL به ازای هر پاسخ بر حسب نات، جمع‌شده روی توکن‌ها، که همان واحد ثبت گزارش در TRL است)، یعنی خط‌مشی از πSFT\pi_{\text{SFT}} فاصله گرفته است: یا β\beta خیلی پایین است (باید آن را بالا ببرید تا مدل را به جای قبلی بکشد) یا هک پاداش آغاز شده است. این مهم‌ترین شاخص ارزیابی در RLHF واقعی است.

گام 5: دستورالعمل عملیاتی با TRL

وقتی پایپ‌لاین ساده را درک کردید، در ادامه همان حلقه را آن‌طور که یک توسعه‌دهنده با کتابخانه‌های واقعی می‌نویسد پیاده می‌کنیم. کتابخانه‌ی TRL از Hugging Face پیاده‌سازی مرجع به حساب می‌آید — کلاس RewardTrainer برای مرحله‌ی 2 و PPOTrainer (با جریمه‌ی درونی KL نسبت به مرجع) برای مرحله‌ی 3.

# مرحله 2: مدل پاداش از ترجیحات جفتی
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()
# مرحله 3: اجرای PPO در برابر RM با جریمه KL نسبت به مدل مرجع SFT
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)
    # شامل این آمارها است: mean_kl ،clip_frac ،value_loss — سه معیار تشخیصی PPO

سه کاری که کتابخانه برایتان انجام می‌دهد: گزینه‌ی adap_kl_ctrl=True برنامه‌ی زمان‌بندی تطبیقی β را پیاده می‌کند؛ اگر KL مشاهده‌شده از target_kl بیشتر شود، β دو برابر می‌شود؛ اگر به کمتر از نصف برسد، β نصف می‌شود. مدل مرجع طبق قرارداد فریز است — نباید تصادفاً پارامترهای مشترکی با policy داشته باشد. سر ارزش (value head) نیز روی همان بک‌بون خط‌مشی قرار می‌گیرد (AutoModelForCausalLMWithValueHead یک سر MLP اسکالر وصل می‌کند)، و دقیقاً به همین دلیل TRL معیارهای policy/kl و value/loss را جداگانه گزارش می‌دهد.

تله‌ها و خطاهای رایج

  • بهینه‌سازی بیش‌ازحد / هک پاداش. مدل پاداش بی‌نقص نیست؛ πθ\pi_\theta خروجی‌های متخاصمانه‌ای (adversarial) پیدا می‌کند که امتیاز بالایی می‌گیرند اما در عمل بی‌کیفیت هستند. نشانه‌ها: پاداش مدام بالا می‌رود ولی نمره‌ی ارزیابی انسانی ثابت می‌ماند یا افت می‌کند. راه‌حل: توقف زودهنگام (early stopping)، بالا بردن β\beta، و تنوع‌بخشی به داده‌های آموزش مدل پاداش.
  • هک طول متن (Length hacking). مدل‌های پاداشی که روی پاسخ‌های مفید آموزش می‌بینند، اغلب به شکل ضمنی به پاسخ‌های بلندتر پاداش می‌دهند. در نتیجه خط‌مشی یاد می‌گیرد پاسخ‌ها را بیهوده کش بدهد. راهکار: پاداش نرمال‌شده بر اساس طول، یا RLAIF با یک مدل پاداشِ آگاه به طول متن.
  • کوچک بودن بیش از حد مدل پاداش. مدل پاداش باید حداقل هم‌اندازه‌ی خط‌مشی باشد. یک مدل پاداش کوچک نمی‌تواند خروجی‌های خط‌مشی را به‌درستی ارزیابی کند.
  • تنظیم جریمه‌ی KL. مقدار خیلی کم β منجر به انحراف مدل و هک پاداش می‌شود. مقدار خیلی زیاد β باعث می‌شود خط‌مشی عملاً تغییر نکند. راهکار استاندارد، استفاده از یک β تطبیقی است که مقدار ثابتی از KL را در هر گام هدف می‌گیرد.
  • نویز داده‌های ترجیحی. حدود 30% از برچسب‌های انسانی دارای نویز یا ابهام هستند. مدل پاداش را روی داده‌هایی آموزش دهید که برچسب‌زن‌ها بر سر آن‌ها توافق داشته‌اند، یا از یک پارامتر دما (temperature) در رابطه‌ی بردلی-تری استفاده کنید تا مدل کالیبره شود.
  • مشکلات داده‌های خارج از خط‌مشی (Off-policy). داده‌های PPO بعد از اولین دور (epoch) کمی از توزیع خط‌مشی جاری فاصله می‌گیرند. نسبت برش (clip fraction) را مطابق درس 08 پایش کنید.

کاربردها در دنیای واقعی

در سال 2026 رویکرد RLHF به‌صورت لایه‌بندی‌شده به کار می‌رود:

لایه هدف روش
پیروی از دستورات، مفید بودن، بی‌ضرر بودن همسوسازی (Alignment) ترجیح روش DPO (فاز 10 · درس 08) به RLHF-PPO.
درستی استدلال (ریاضی، کدنویسی) توانمندی (Capability) روش GRPO با پاداش وارس‌گر (فاز 9 · درس 12).
وظایف چندمرحله‌ای با افق بلند ایجنتی (Agentic) استفاده از PPO / GRPO همراه با مدل‌های پاداش فرآیندی روی تک‌تک گام‌ها.
ایمنی / رفتار امتناع ایمنی روش RLHF-PPO با مدل پاداشِ ایمنی مجزا، یا Constitutional AI.
استراتژی Best-of-N در زمان استنتاج همسوسازی سریع استفاده از مدل پاداش در زمان دیکود؛ بدون نیاز به آموزش خط‌مشی.
تقطیر پاداش (Reward distillation) توان پردازشی استنتاج آموزش یک «سر پاداش» کوچک روی یک مدل زبانی فریز‌شده.

روش RLHF روش اصلی و بنیادین در سال‌های 2022 تا 2024 بود. در سال 2026، پایپ‌لاین‌های عملیاتی همسوسازی در وهله‌ی اول سراغ DPO می‌روند و PPO را فقط برای مراحل متکی بر مدل‌های پاداش پیچیده یا مراحل حساس به ایمنی نگه می‌دارند.

تحویل نهایی

این خروجی را در فایل outputs/skill-rlhf-architect.md ذخیره کنید:

---
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. ساده. مدل پاداش بردلی-تری را در code/main.py روی 500 جفت داده‌ی ترجیحی ساختگی آموزش دهید. دقت ترجیحات جفتی را روی 100 جفت داده‌ی ارزیابی (held-out) بسنجید. این دقت باید بالای 90% باشد.
  2. متوسط. حلقه‌ی PPO-RLHF ساده را با مقادیر مختلف β∈{0.0,0.1,1.0}\beta \in \lbrace 0.0, 0.1, 1.0 \rbrace اجرا کنید. برای هر کدام، نمودار امتیاز مدل پاداش را در برابر واگرایی KL نسبت به مرجع در طول به‌روزرسانی‌ها رسم کنید. کدام اجراها دچار هک پاداش می‌شوند؟
  3. سخت. الگوریتم DPO (تابع زیان درست‌نماییِ ترجیح با فرم بسته) را روی همان داده‌های ترجیحی پیاده‌سازی کنید و از نظر میزان مصرف منابع پردازشی و امتیاز نهایی مدل پاداش، آن را با پایپ‌لاین RLHF-PPO مقایسه کنید.

اصطلاحات کلیدی

اصطلاح در گفتگوها چه می‌گویند معنای دقیق فنی
RLHF «یادگیری تقویتی برای همسوسازی» پایپ‌لاین سه‌مرحله‌ای SFT + RM + PPO (Christiano 2017, Ouyang 2022).
مدل پاداش (Reward Model - RM) «شبکه‌ی امتیازدهی» تابع اسکالر آموزش‌دیده که با رابطه‌ی بردلی-تری روی ترجیحات جفتی برازش می‌شود.
بردلی-تری (Bradley-Terry) «تابع زیان لجستیک جفتی» رابطه‌ی P(y+≻y−)=σ(R(y+)−R(y−))P(y_+ \succ y_-) = \sigma(R(y_+) - R(y_-))؛ تابع هدف استاندارد مدل پاداش.
جریمه‌ی واگرایی KL «نزدیک ماندن به مدل مرجع» عبارت β⋅KL(πθ∥πref)\beta \cdot \mathrm{KL}(\pi_\theta \Vert \pi_{\text{ref}}) در تابع پاداش؛ تنظیم‌کننده‌ای برای مقابله با هک پاداش.
هک پاداش (Reward hacking) «قانون گودهارت» سوءاستفاده‌ی خط‌مشی از نقاط ضعف مدل پاداش؛ نشانه: رشد پاداش همراه با ثبات یا افت ارزیابی انسانی.
روش RLAIF «ترجیحات برچسب‌خورده با هوش مصنوعی» روش RLHF که در آن برچسب‌ها به‌جای انسان از یک مدل زبانی دیگر گرفته می‌شوند.
مدل PRM «مدل پاداش فرآیندی» مدلی که به گام‌های میانی استدلال امتیاز می‌دهد؛ کاربردی در پایپ‌لاین‌های استدلالی.
روش Constitutional AI «روش انتروپیک» ترجیحات تولیدشده با مدل‌های زبانی که بر اساس قواعد و اصول صریح هدایت می‌شوند.

برای مطالعه‌ی بیشتر

سؤالات متداول

چرا در الگوریتم RLHF از جریمه‌ی واگرایی KL استفاده می‌شود؟

مدل پاداش تنها روی داده‌های درون‌توزیع آموزش دیده است. بدون جریمه‌ی KL نسبت به مدل مرجع، الگوریتم PPO ممکن است رفتارهای ناهنجاری (هک پاداش) را کشف کند که امتیاز بالایی از مدل می‌گیرند اما در واقعیت بی‌کیفیت یا نامفهوم هستند.

پایپ‌لاین استاندارد RLHF شامل چه مراحلی است؟

این روش از سه گام متوالی تشکیل شده است: 1) فاین‌تیونینگ نظارت‌شده (SFT) روی داده‌های نمایشی؛ 2) آموزش مدل پاداش (RM) با مقایسه‌های جفتی بردلی-تری؛ 3) بهینه‌سازی خط‌مشی با PPO در برابر مدل پاداش همراه با جریمه‌ی KL.

پدیده‌ی هک پاداش (Reward Hacking) چه نشانه‌ای دارد؟

مهم‌ترین نشانه‌ی هک پاداش این است که امتیاز خروجی مدل پاداش در طول آموزش پیوسته بالا می‌رود، در حالی که نمره‌ی ارزیابی انسانی یا کیفیت واقعی پاسخ‌ها راکد مانده یا دچار افت شدید می‌شود.

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.