Direct Preference Optimization (DPO) (FA)
Direct Preference Optimization (DPO) — روشی برای همراستاسازی مدلهای زبانی بزرگ (LLM) با ترجیحات انسانی است که به عنوان جایگزینی سادهتر و پایدارتر برای یادگیری تقویتی بر اساس بازخورد انسانی (RLHF) معرفی شده است. این روش در سال ۲۰۲۳ توسط گروهی از پژوهشگران دانشگاه استنفورد به سرپرستی رافائل رافایلوف ارائه گردید[1].
تفاوت کلیدی DPO در این است که مدل زبانی را مستقیماً برای انطباق با ترجیحات انسانی بهینه میکند، بدون آنکه نیازی به آموزش جداگانهی مدل پاداش (reward model) یا مرحلهی پیچیدهی یادگیری تقویتی (RL) باشد. این امر فرآیند تنظیم دقیق LLM را بهمراتب سادهتر، سریعتر و پایدارتر میسازد[2].
پیشینه: محدودیتهای RLHF
روش استاندارد Reinforcement Learning from Human Feedback (RLHF) از سه مرحلهی اصلی تشکیل میشود:
- Supervised Fine-Tuning (SFT): تنظیم دقیق پایهی مدل بر روی نمونههای با کیفیت.
- آموزش مدل پاداش: ایجاد مدلی جداگانه که یاد میگیرد بر اساس مقایسههای زوجی ارائهشده توسط انسانها (مثلاً پاسخ الف بهتر از پاسخ ب است) به پاسخها «امتیاز» بدهد.
- بهینهسازی سیاست با کمک RL: تنظیم دقیق مدل اصلی با استفاده از الگوریتمهای RL (مثلاً PPO) به گونهای که پاسخهایی تولید کند که امتیاز مدل پاداش را بیشینه سازند.
علیرغم اثربخشی، RLHF فرآیندی پیچیده، پرهزینه و ناپایدار است. این روش در معرض مشکلاتی مانند reward hacking (زمانی که مدل مدل پاداش را «فریب» میدهد) قرار دارد و نیازمند تنظیم دقیق ابرپارامترهای متعددی است[1]. DPO برای غلبه بر این محدودیتها توسعه یافت.
اصل کار DPO
روش DPO خط لولهی چندمرحلهای RLHF را با یک مرحلهی آموزشی جایگزین میکند که میتوان آن را به عنوان تنظیم دقیق با ناظر در نظر گرفت.
- جمعآوری دادههای ترجیحی. همانند RLHF، مجموعه دادهای گردآوری میشود که در آن برای هر درخواست `x` دو پاسخ وجود دارد: ترجیحدادهشده (`y_w`، winning) و ردشده (`y_l`، losing).
- بهینهسازی مستقیم. به جای آموزش مدل پاداش، DPO مستقیماً از این دادهها برای بهروزرسانی خود مدل زبانی استفاده میکند. هدف بهینهسازی افزایش احتمال تولید پاسخ ترجیحدادهشده `y_w` و در عین حال کاهش احتمال تولید پاسخ ردشده `y_l` است.
از نظر ریاضی، این به کمینهسازی تابع زیان تقلیل مییابد که بر پایهی رگرسیون لجستیک اعمالشده بر تفاوت لگاریتم احتمال پاسخها استوار است. برای آنکه مدل دانش اولیهی خود را «فراموش» نکند، DPO همانند RLHF از یک مدل مرجع (reference model، معمولاً نسخهی SFT) برای منظمسازی استفاده میکند تا از انحراف بیش از حد از توزیع اولیهی پاسخها جلوگیری شود[2].
مزایا در مقایسه با RLHF
- سادگی و پایداری: DPO نیاز به آموزش مدل پاداش جداگانه و تنظیم پیچیدهی RL را از بین میبرد. فرآیند سادهتر، قابل پیشبینیتر و کمتر مستعد خطا میشود[3].
- کارایی و سرعت: حذف دو مرحله، هزینههای محاسباتی (ساعتهای GPU) و زمان لازم برای تنظیم مدل را بهطور چشمگیری کاهش میدهد. بر اساس برخی تخمینها، DPO نسبت به RLHF ۵۰ تا ۶۰ درصد صرفهجوتر است[4].
- کیفیت نتایج: آزمایشها نشان دادهاند که DPO از نظر کیفیت کمتر از RLHF نیست و در برخی وظایف، مانند کنترل لحن پاسخ، حتی از آن پیشی میگیرد. مدلهای آموزشدیده با DPO تطابق بهتری با ترجیحات انسانی نشان میدهند[1].
- عدم افت مهارتهای پایه: تنظیم دقیق با DPO تأثیر بسیار کمتری بر تواناییهای کلی مدل (مانند دانش واقعی یا منطق) میگذارد، برخلاف RLHF که گاهی میتواند معیارهای پایه را کاهش دهد[5].
کاربرد و گسترش
به لطف کارایی و سادگیاش، DPO به سرعت گسترش وسیعی یافت. این روش در کتابخانههای پیشرو open-source مانند Hugging Face TRL و OpenRLHF پیادهسازی شده است.
بسیاری از مدلهای متنباز موفق با استفاده از DPO تنظیم دقیق شدهاند، از جمله Zephyr-7B و TÜLU 2. این مدلها عملکرد بالایی در benchmarkهای ارزیابی کیفیت پاسخ نشان دادند و اثربخشی DPO را برای مدلهای در مقیاس بزرگ تأیید کردند[5].
پیشروان صنعت نیز DPO را در پلتفرمهای خود پیادهسازی کردهاند. به عنوان مثال، Microsoft پشتیبانی از تنظیم دقیق با DPO را به سرویس Azure OpenAI خود افزوده است و به کاربران امکان میدهد مدلهایی از جمله GPT-4 را بر اساس دادههای ترجیحی خود تنظیم کنند[6].
محدودیتها
علیرغم مزایا، DPO برخی محدودیتهای ذاتی رویکرد آموزش بر پایهی ترجیحات را به ارث میبرد:
- حساسیت به داده: کیفیت و تنوع دادههای ترجیحی جمعآوریشده از اهمیت حیاتی برخوردار است. اگر دادهها یکسویه باشند (مثلاً تنها شامل یک زبان یا سبک باشند)، مدل ممکن است دچار بیشبرازش شده و عملکردش در حوزههای دیگر افت کند[7].
- ایستایی آموزش: مانند RLHF، DPO بر روی مجموعه دادهای ایستا آموزش میبیند و تعامل پویا با محیط را در نظر نمیگیرد. این روش برای همراستاسازی تکمرحلهای مناسب است، اما برای وظایفی که نیازمند یادگیری از طریق اقدامات متوالی هستند مناسب نیست.
پیوندها
- مستندات DPO در کتابخانهی Hugging Face TRL
- مرور تحلیلی RLHF و DPO در ICLR 2024 Blogposts
منابع
- Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
- Hong, J.; Lee, N.; Thorne, J. (2024). ORPO: Monolithic Preference Optimization without Reference Model. arXiv:2403.07691.
- Sun, L. et al. (2025). BPO: Revisiting Preference Modeling in Direct Preference Optimization. arXiv:2506.03557.
- Yin, Y. et al. (2024). Self-Augmented Preference Optimization: Off-Policy Paradigms for Language Model Alignment. arXiv:2405.20830.
- Wu, Y. et al. (2024). Self-Play Preference Optimization for Language Model Alignment. arXiv:2405.00675.
- Li, P. et al. (2024). ROPO: Robust Preference Optimization for Large Language Models. arXiv:2404.04102.
- Tunstall, L. et al. (2023). Zephyr: Direct Distillation of LM Alignment. arXiv:2310.16944.
- Wu, F. et al. (2023). Diffusion-DPO: Diffusion Model Alignment Using Direct Preference Optimization. arXiv:2311.12908.
- Lee, H. et al. (2023). RLAIF vs. RLHF: Scaling Reinforcement Learning from Human Feedback with AI Feedback. arXiv:2309.00267.
- Rafailov, R.; Sharma, A.; Mitchell, E.; Manning, C. D.; Finn, C. (2024). Direct Preference Optimization (v3): Enhanced Experiments and Analysis. arXiv:2305.18290v3.
یادداشتها
- ↑ 1.0 1.1 1.2 Rafailov, R., et al. «Direct Preference Optimization: Your Language Model is Secretly a Reward Model». arXiv:2305.18290. [۱]
- ↑ 2.0 2.1 «Simplifying Alignment: From RLHF to Direct Preference Optimization (DPO)». Hugging Face Blog. [۲]
- ↑ «What is direct preference optimization (DPO)?». SuperAnnotate Blog. [۳]
- ↑ «RLHF vs DPO: A Closer Look into the Process and Methodology». Arbisoft Blog. [۴]
- ↑ 5.0 5.1 «RLHF without RL - Direct Preference Optimization». ICLR Blogposts 2024. [۵]
- ↑ «Direct preference optimization». Azure OpenAI | Microsoft Learn. [۶]
- ↑ «Direct Preference Optimization (DPO): A Lightweight Counterpart to RLHF». Toloka AI Blog. [۷]