فاز 18 · درس 3

خانواده الگوریتم‌های DPO: بهینه‌سازی مستقیم ترجیحات و فراتر از آن

نوع
مفهومی
زمان
حدود 75 دقیقه
زبان‌ها
Python (stdlib, six-variant preference-loss comparator)
پیش‌نیاز
فاز 18 · درس 01 (InstructGPT)، فاز 18 · درس 02 (هک پاداش)، فاز 10 · درس 08 (مبانی DPO)
شش مهره متمایز هندسی از فلز و شیشه که در یک خط منظم روی یک ترازوی سنجش باریک قرار گرفته‌اند
فهرست مطالب
  1. اهداف یادگیری
  2. صورت مسئله
  3. مفهوم
  4. الگوریتم DPO (رافائلوف و همکاران، 2023)
  5. الگوریتم IPO (آذر و همکاران، 2024)
  6. الگوریتم KTO (اتایاراج و همکاران، 2024)
  7. الگوریتم SimPO (منگ و همکاران، 2024)
  8. الگوریتم ORPO (هونگ و همکاران، 2024)
  9. الگوریتم BPO (ارائه‌شده در ICLR 2026، شناسه در OpenReview: b97EwMUWu7)
  10. نتیجه‌ی همه‌شمول: DAAs همچنان بیش‌ازحد بهینه‌سازی می‌شوند
  11. راهنمای انتخاب میان روش‌ها (2026)
  12. استفاده در عمل
  13. تحویل نهایی
  14. تمرین‌ها
  15. اصطلاحات کلیدی
  16. برای مطالعه‌ی بیشتر

روش ترازسازی مستقیم ترجیحات (DPO) دنیای پس‌آموزش مدل‌های زبانی بزرگ را دگرگون کرد؛ چرا که نیاز به ساخت و نگهداری یک مدل پاداش مجزا و پیچیدگی‌های آموزش با PPO را کنار زد. با این حال، استفاده مستقیم از DPO در عمل با چالش‌هایی مثل سوگیری نسبت به طول پاسخ‌ها، ناپایداری در ترجیحات خارج از توزیع و پدیده تضعیف پاسخ برگزیده روبه‌روست.

در پاسخ به این نقاط ضعف، خانواده‌ای از الگوریتم‌های ترازسازی مستقیم مانند IPO، KTO، SimPO، ORPO و BPO متولد شدند. هر کدام از این روش‌ها با تغییر در فرمول‌بندی ریاضی یا حذف نیاز به مدل مرجع، یکی از کاستی‌های DPO را رفع می‌کنند تا فرایند هم‌راستاسازی با ترجیحات پایدارتر و کارآمدتر شود.

در این درس یاد می‌گیرید که هر یک از این الگوریتم‌ها دقیقاً چه فرضی از DPO را اصلاح می‌کنند، چطور بر پدیده بهینه‌سازی بیش‌ازحد غلبه می‌کنند و با توجه به نوع مجموعه‌داده (جفت‌شده یا تکی) و ساختار خط لوله آموزشی خود، کدام تابع زیان را برای مدل‌هایتان به کار بگیرید.

رافائلوف و همکاران (Rafailov et al., 2023) نشان دادند که نقطه‌ی بهینه‌ی RLHF بر حسب داده‌های ترجیحات، یک فرم بسته (closed-form) دارد؛ بنابراین می‌توانید از مدل پاداش (reward model) صریح صرف‌نظر کنید و خط‌مشی (policy) را مستقیماً بهینه‌سازی کنید. این بینش، خانواده‌ای از الگوریتم‌ها را پدید آورد — IPO، KTO، SimPO، ORPO و BPO — که هر کدام یکی از حالت‌های شکست DPO را برطرف می‌کنند. در سال 2026، الگوریتم‌های ترازسازی مستقیم (direct alignment algorithms یا DAAs) در مقایسه با PPO سهم بیشتری از فرایندهای پس‌آموزش (post-training) مدل‌های پیشرو را راهی محیط عملیاتی می‌کنند. با این حال، منحنی بهینه‌سازی بیش‌ازحد درس 2 همچنان پابرجاست: DAAs از قانون گودهارت فرار نمی‌کنند، بلکه فقط نقطه‌ی اثرگذاری آن را جابه‌جا می‌کنند.

اهداف یادگیری

  • به‌دست‌آوردن فرم بسته‌ی DPO از نقطه‌ی بهینه‌ی RLHF همراه با واگرایی کولبک-لایبلر (KL Divergence).
  • بیان حالت شکستی در DPO که هر یک از روش‌های IPO، KTO، SimPO، ORPO و BPO برطرف می‌کنند.
  • تفکیک «شکاف پاداش ضمنی» از «شدت ترجیح» و توضیح چرایی اهمیت نگاشت همانی (identity mapping) در IPO.
  • توضیح اثبات ریاضی رافائلوف و همکاران (NeurIPS 2024) مبنی بر اینکه DAAs با وجود نداشتن مدل پاداش صریح، همچنان دچار بهینه‌سازی بیش‌ازحد می‌شوند.

صورت مسئله

هدف بهینه‌سازی RLHF (درس 1):

max⁡π  Ex,y∼π[r(x,y)]−β KL(π ∥ πref)\max_{\pi} \; \mathbb{E}_{x, y \sim \pi} \big[ r(x, y) \big] - \beta \, \mathrm{KL}(\pi \,\|\, \pi_{\text{ref}})

یک نقطه‌ی بهینه‌ی شناخته‌شده دارد:

π∗(y∣x)=1Z(x) πref(y∣x)exp⁡ ⁣(r(x,y)β)\pi^*(y \mid x) = \frac{1}{Z(x)} \, \pi_{\text{ref}}(y \mid x) \exp\!\left(\frac{r(x, y)}{\beta}\right)

بنابراین، پاداش به‌طور ضمنی از طریق نسبت خط‌مشی بهینه به خط‌مشی مرجع (reference policy) تعریف می‌شود:

r(x,y)=βlog⁡π∗(y∣x)πref(y∣x)+βlog⁡Z(x)r(x, y) = \beta \log \frac{\pi^*(y \mid x)}{\pi_{\text{ref}}(y \mid x)} + \beta \log Z(x)

اگر این رابطه را در درست‌نمایی (likelihood) ترجیحات بردلی-تری (Bradley-Terry) جای‌گذاری کنید، تابع افراز Z(x) ساده و حذف می‌شود، چون فقط به x وابسته است. آنچه باقی می‌ماند، یک تابع زیان (loss) صرفاً بر حسب پارامترهای خط‌مشی است — بدون نیاز به هیچ مدل پاداشی. این همان DPO است.

گره کار اینجاست: این اثبات ریاضی فرض می‌کند نقطه‌ی بهینه دست‌یافتنی است، داده‌های ترجیحات درون‌توزیع (in-distribution) هستند و خط‌مشی مرجع، تکیه‌گاه واقعی مُد توزیع است. هیچ‌یک از این فرضیات کاملاً برقرار نیستند. هر یک از اعضای این خانواده، یکی از این فرضیات نقض‌شده را اصلاح می‌کند.

مفهوم

الگوریتم DPO (رافائلوف و همکاران، 2023)

LDPO=−log⁡σ ⁣(βlog⁡π(yw∣x)πref(yw∣x)−βlog⁡π(yl∣x)πref(yl∣x))L_{\text{DPO}} = -\log \sigma\!\left( \beta \log \frac{\pi(y_w \mid x)}{\pi_{\text{ref}}(y_w \mid x)} - \beta \log \frac{\pi(y_l \mid x)}{\pi_{\text{ref}}(y_l \mid x)} \right)

مشکلاتی که ممکن است رخ دهند:

  • شکاف پاداش ضمنی (implicit reward gap) یعنی beta * (log(pi/pi_ref)_w - log(pi/pi_ref)_l) بی‌کران است. یک ترجیح ناچیز می‌تواند شکافی بی‌اندازه بزرگ ایجاد کند.
  • تابع زیان، درست‌نمایی لگاریتمی (log-prob) پاسخ‌های برگزیده (chosen) و مردود (rejected) را در جهت‌های مخالف سوق می‌دهد. تا زمانی که log-prob پاسخ مردود سریع‌تر افت کند، تابع زیان می‌تواند log-prob مطلق پاسخ برگزیده را پایین ببرد (push down). به این پدیده، تخریب پاسخ برگزیده (Degraded Chosen Response) می‌گویند.
  • ترجیحات خارج از توزیع (out-of-distribution) — یعنی جفت‌هایی که هر دو پاسخ آن‌ها تحت خط‌مشی مرجع بسیار نادرند — پاداش‌های ضمنی دل‌بخواهی و کنترل‌نشده‌ای تولید می‌کنند.

الگوریتم IPO (آذر و همکاران، 2024)

روش IPO یا Identity Preference Optimization تابع log-sigmoid را با یک نگاشت همانی روی احتمال ترجیح جایگزین می‌کند. به این ترتیب، تابع زیان به یک خطای مربعات (squared-error) روی هدفی کران‌دار تبدیل می‌شود:

LIPO=(log⁡π(yw∣x)πref(yw∣x)−log⁡π(yl∣x)πref(yl∣x)−12β)2L_{\text{IPO}} = \left( \log \frac{\pi(y_w \mid x)}{\pi_{\text{ref}}(y_w \mid x)} - \log \frac{\pi(y_l \mid x)}{\pi_{\text{ref}}(y_l \mid x)} - \frac{1}{2\beta} \right)^2

حاشیه (margin) به 1/(2 beta) محدود است. شدت ترجیح و شکاف پاداش ضمنی با هم متناسب می‌شوند و دیگر مقادیر سر به فلک نمی‌کشند.

الگوریتم KTO (اتایاراج و همکاران، 2024)

روش KTO یا Kahneman-Tversky Optimization ساختار جفتی را کاملاً کنار می‌گذارد. این روش یک خروجی برچسب‌دار تکی و یک سیگنال باینری «مطلوب» یا «نامطلوب» را می‌گیرد و آن را به مطلوبیت نظریه‌ی چشم‌انداز (prospect theory) نگاشت می‌کند:

v(x,y)=σ ⁣(βlog⁡π(y∣x)πref(y∣x)−zref)v(x, y) = \sigma\!\left(\beta \log \frac{\pi(y \mid x)}{\pi_{\text{ref}}(y \mid x)} - z_{\text{ref}}\right)

با وزن‌های متفاوت برای سودها و زیان‌ها (زیان‌گریزی یا loss aversion). مزیت: می‌توانید از داده‌های تکی (unpaired data) استفاده کنید که بسیار فراوان‌تر از داده‌های جفت‌شده (نظیربه‌نظیر) هستند.

الگوریتم SimPO (منگ و همکاران، 2024)

روش SimPO یا Simple Preference Optimization سیگنال آموزش را با فرایند تولید هم‌راستا می‌کند. در این روش، خط‌مشی مرجع کاملاً حذف می‌شود و درست‌نمایی لگاریتمی بر اساس طول پاسخ نرمال‌سازی می‌گردد:

LSimPO=−log⁡σ ⁣(β∣yw∣log⁡π(yw∣x)−β∣yl∣log⁡π(yl∣x)−γ)L_{\text{SimPO}} = -\log \sigma\!\left( \frac{\beta}{|y_w|} \log \pi(y_w \mid x) - \frac{\beta}{|y_l|} \log \pi(y_l \mid x) - \gamma \right)

همراه با یک حاشیه‌ی gamma برای پایدارسازی. نرمال‌سازی طول، انگیزه‌ی سوءاستفاده از حالت شکست سوگیری طول (length-bias) در DPO را از بین می‌برد (در DPO پاسخ طولانی‌تر y_w به‌خودی‌خود و بر اساس ساختار فرمول، شکاف log-prob بزرگ‌تری ایجاد می‌کند).

الگوریتم ORPO (هونگ و همکاران، 2024)

روش ORPO یا Odds-Ratio Preference Optimization یک عبارت ترجیح را به درست‌نمایی منفی لگاریتمی استاندارد در SFT اضافه می‌کند:

LORPO=LNLL(yw)+λLORLOR=−log⁡σ ⁣(log⁡odds(yw)odds(yl))\begin{aligned} L_{\text{ORPO}} &= L_{\text{NLL}}(y_w) + \lambda L_{\text{OR}} \\ L_{\text{OR}} &= -\log \sigma\!\left(\log \frac{\text{odds}(y_w)}{\text{odds}(y_l)}\right) \end{aligned}

بدون نیاز به خط‌مشی مرجع — همان عبارت SFT نقش منظم‌سازی (regularization) را ایفا می‌کند. آموزش در یک مرحله‌ی واحد از مدل پایه تا مدل تراز شده پیش می‌رود و نیازی به چک‌پوینت SFT جداگانه نیست.

الگوریتم BPO (ارائه‌شده در ICLR 2026، شناسه در OpenReview: b97EwMUWu7)

این روش مسئله‌ی تخریب پاسخ‌های برگزیده را هدف می‌گیرد: DPO رتبه‌بندی y_w > y_l را حفظ می‌کند، اما مقدار log-prob مطلقِ y_w ممکن است افت کند. BPO یک تصحیح تک‌خطی اضافه می‌کند که حرکت‌های روبه‌پایین روی پاسخ برگزیده را جریمه می‌کند. این روش بهبود 10.1%+ در دقت استدلال ریاضی روی Llama-3.1-8B-Instruct را نسبت به DPO گزارش کرده است.

نتیجه‌ی همه‌شمول: DAAs همچنان بیش‌ازحد بهینه‌سازی می‌شوند

رافائلوف و همکاران در مقاله‌ی «قوانین مقیاس‌پذیری برای بهینه‌سازی بیش‌ازحد مدل پاداش در الگوریتم‌های ترازسازی مستقیم» (Scaling Laws for Reward Model Overoptimization in Direct Alignment Algorithms، در NeurIPS 2024) خط‌مشی‌هایی را با روش‌های DPO، IPO و SLiC روی چندین مجموعه‌داده در بودجه‌های مختلف KL آموزش دادند. منحنی‌های پاداش واقعی (gold-reward) در برابر KL، همان الگوی صعود و سقوط مقاله‌ی گائو و همکاران (Gao et al.) را داشتند. پاداش ضمنی در طول آموزش، نمونه‌های خارج از توزیع را فراخوانی می‌کند؛ منظم‌سازی با واگرایی کولبک-لایبلر جلوی ناپایداری این فرایند را نمی‌گیرد.

الگوریتم‌های ترازسازی مستقیم از قانون گودهارت در امان نیستند. آن‌ها فقط سطح برخورد مسئله را تغییر می‌دهند: به‌جای «بهینه‌سازی بیش‌ازحد مدل پاداش»، با «بهینه‌سازی بیش‌ازحد نسبت به خط‌مشی مرجع» روبه‌رو می‌شویم. راهکارهای فراگیر — داده‌های بهتر، گروه‌بندی مدل‌ها (ensembles) و توقف زودهنگام (Early Stopping) — برای هر دو رویکرد صادق‌اند.

راهنمای انتخاب میان روش‌ها (2026)

  • اگر داده‌های ترجیحات جفت‌شده‌ی بزرگی در اختیار دارید: DPO با بتای محتاطانه؛ و در صورت آشکار بودن سوگیری طول، SimPO.
  • اگر بازخورد باینری بدون ساختار جفتی دارید: KTO.
  • اگر یک پایپ‌لاین تک‌مرحله‌ای مستقیم از مدل پایه می‌خواهید: ORPO.
  • اگر در لاگ‌های DPO شاهد افت log-prob پاسخ برگزیده هستید: BPO.
  • اگر شدت ترجیحات بسیار متغیر است و DPO دچار اشباع می‌شود: IPO.

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

حاشیه DPOحاشیه را بکشید
DPO MARGINDPO trains directly on preference pairs with no separate reward model. The loss is −log σ of β times the implicit reward margin between the chosen and rejected response. A larger positive margin drives the loss toward zero; a negative margin (rejected ranked higher) is heavily penalized.
الگوریتم DPO مستقیماً روی جفت ترجیحات و بدون مدل پاداش مجزا آموزش می‌بیند. تابع زیان برابر با منفی log σ حاصل‌ضرب β در حاشیه پاداش ضمنی میان پاسخ انتخابی و ردشده است. یک حاشیه مثبتِ بزرگ‌تر زیان را به صفر نزدیک می‌کند؛ درحالی‌که حاشیه منفی (رتبه بالاتر پاسخ ردشده) با جریمه سنگینی مواجه می‌شود.

استفاده در عمل

فایل code/main.py شش تابع زیان (DPO، IPO، KTO، SimPO، ORPO و BPO) را روی یک مجموعه‌داده‌ی ترجیحات ساختگی مقایسه می‌کند که در آن شدت واقعی ترجیح جفت‌به‌جفت متفاوت است. هر تابع زیان روی همان نمونه‌ی 500 جفتی با یک خط‌مشی سافت‌مکس (softmax) کوچک بهینه‌سازی می‌شود. در پایان، نرخ برد نهایی، انحراف log-prob پاسخ‌های برگزیده و دامنه‌ی پراکندگی پاداش ضمنی برای هر روش رسم می‌شود.

تحویل نهایی

این درس سند outputs/skill-preference-loss-selector.md را تولید می‌کند. این ابزار بر اساس آمارهای مجموعه‌داده (داده‌های جفت‌شده در برابر تکی، شدت ترجیح متغیر در برابر یکنواخت و توزیع طول) و هدف آموزش (تک‌مرحله‌ای یا اول SFT و سپس ترجیحات)، تابع زیان مناسب را پیشنهاد می‌کند و حالت شکستی را که جلوی آن را می‌گیرد گزارش می‌دهد.

تمرین‌ها

  1. اسکریپت code/main.py را اجرا کنید. افت نهایی log-prob پاسخ برگزیده را برای DPO و BPO گزارش کنید. BPO باید احتمال مطلق بالاتری را برای پاسخ برگزیده حفظ کند — این موضوع را بررسی و اعتبارسنجی کنید.

  2. داده‌های ترجیحات را طوری تغییر دهید که همه‌ی جفت‌ها شدت ترجیح یکسانی داشته باشند. کدام‌یک از این شش روش بیشترین پایداری را دارد؟ عملکرد کدام دچار افت می‌شود؟ مزیت IPO را در این سناریو توضیح دهید.

  3. طول پاسخ‌های مردود را به‌طور میانگین 2 برابر پاسخ‌های برگزیده قرار دهید. بدون دست زدن به متغیر دیگری، سوءاستفاده‌ی DPO از طول را به‌صورت عددی نشان دهید و راه‌حل SimPO را به نمایش بگذارید.

  4. رافائلوف و همکاران (NeurIPS 2024) ادعا می‌کنند که DAAs بیش‌ازحد بهینه‌سازی می‌شوند. نسخه‌ای تک‌نقطه‌ای از این ادعا را بازتولید کنید: واگرایی کولبک-لایبلر برگزیده منهای مردود را رسم کنید و بهینه‌سازی بیش‌ازحد را در DPO در بتای بالا ببینید.

  5. چکیده‌ی مقاله‌ی BPO را بخوانید (OpenReview b97EwMUWu7). تصحیح تک‌خطی اضافه‌شده توسط BPO به DPO را بنویسید. سپس آن را با پیاده‌سازی موجود در code/main.py مطابقت دهید.

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

اصطلاح آنچه به زبان می‌آورند معنای دقیق فنی
DPO «همان RLHF بدون مدل پاداش» تابع زیان به‌دست‌آمده از فرم بسته‌ی بهینه‌ی RLHF؛ صرفاً بر حسب پارامترهای خط‌مشی
Implicit reward «نسبت لگاریتمی» beta * log(pi(y|x) / pi_ref(y|x)) — پاداش ضمنی حاصل از DPO
IPO «DPO کران‌دار» جایگزینی log-sigmoid با تابع همانی؛ محدود شدن شکاف پاداش ضمنی به سقف 1/(2 beta)
KTO «DPO برای داده‌های تکی» مطلوبیت نظریه‌ی چشم‌انداز روی برچسب‌های تکی همراه با زیان‌گریزی
SimPO «DPO بدون خط‌مشی مرجع» درست‌نمایی لگاریتمی نرمال‌شده با طول به‌علاوه‌ی حاشیه؛ بدون نیاز به خط‌مشی مرجع
ORPO «DPO تک‌مرحله‌ای» تابع زیان NLL به‌همراه عبارت ترجیح نسبت شانس؛ آموزش از مدل پایه در یک مرحله
BPO «DPO با حفظ پاسخ برگزیده» DPO به‌همراه جریمه برای کاهش log-prob مطلق پاسخ برگزیده
Degraded Chosen «افت پاسخ برگزیده» پدیده‌ای که در آن DPO مقدار log-prob برگزیده را کاهش می‌دهد، به این شرط که پاسخ مردود سریع‌تر افت کند
DAA «الگوریتم ترازسازی مستقیم» هر روش تابع زیان ترجیحی که از مدل پاداش صریح صرف‌نظر می‌کند

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

خودآزمایی

به سؤال‌ها جواب بدهید تا ببینید چقدر از درس در ذهنتان مانده است.

  1. پیش از درسچرا DPO می‌تواند از آموزش یک مدل پاداش صریح صرف‌نظر کند؟
  2. حین درسروش IPO (Azar et al., 2024) عمدتاً کدام حالت شکست را در DPO برطرف می‌کند؟
  3. حین درسدر چه شرایطی ترجیح می‌دهید به جای DPO از KTO استفاده کنید؟
  4. حین درسکدام ویژگی نسبت به DPO مختص روش SimPO است؟
  5. پس از درسمسئله «افت کیفیت پاسخ انتخابی» (Degraded Chosen Response) در DPO که BPO آن را هدف قرار می‌دهد چیست؟
  6. پس از درسپژوهش رافائلوف و همکاران (NeurIPS 2024) در مورد قوانین مقیاس‌پذیری الگوریتم‌های هم‌ترازی مستقیم چه چیزی را نشان می‌دهد؟

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

مزیت اصلی روش SimPO نسبت به DPO سنتی چیست؟

روش SimPO خط‌مشی مرجع (reference policy) را به طور کامل حذف می‌کند و با نرمال‌سازی درست‌نمایی لگاریتمی بر اساس طول پاسخ، مانع از سوءاستفاده مدل از خطای سوگیری طول (length-bias) می‌شود.

پدیده تخریب پاسخ برگزیده (Degraded Chosen Response) چیست و کدام الگوریتم آن را حل می‌کند؟

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

آیا الگوریتم‌های ترازسازی مستقیم (DAAs) دچار بهینه‌سازی بیش‌ازحد (Over-optimization) می‌شوند؟

بله؛ بر اساس پژوهش رافائلوف و همکاران (2024)، این روش‌ها نیز از قانون گودهارت فرار نمی‌کنند و تنها محل اثرگذاری آن از بهینه‌سازی بیش‌ازحد روی مدل پاداش صریح به نسبت خط‌مشی مرجع منتقل می‌شود.

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

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