بهینه‌سازی مستقیم ترجیحات (DPO) به توسعه‌دهندگان اجازه می‌دهد تا مدل‌های زبانی بزرگ را بدون نیاز به آموزش یک مدل پاداش جداگانه یا اجرای یک حلقه یادگیری تقویتی (RL)، تنظیم دقیق (fine-tune) کنند؛ این کار هم هزینه‌های محاسباتی و هم ناپایداری‌هایی را که اغلب در خط لوله‌های سنتی RLHF وجود دارد، به شدت کاهش می‌دهد.

چرا یادگیری تقویتی از بازخورد انسانی (RLHF) سنگین به نظر می‌رسد

دستورالعمل استاندارد یادگیری تقویتی از بازخورد انسانی (RLHF) شامل سه مرحله است. ابتدا، یک مدل پایه روی یک مجموعه داده منتخب تنظیم دقیق می‌شود. سپس، یک مدل پاداش یاد می‌گیرد که ترجیح انسانی را بین جفت‌خروجی‌ها پیش‌بینی کند. در نهایت، متخصصان از Proximal Policy Optimization (PPO) – یک الگوریتم کلاسیک RL – استفاده می‌کنند تا سیاست (policy) را به سمت پاداش‌های پیش‌بینی‌شده‌ی بالاتر سوق دهند، در حالی که مدل را به مدل اصلی نزدیک نگه می‌دارند.

این ساختار سه-مدلی به‌طور هم‌زمان در حافظه قرار می‌گیرد و یک حلقه RL پرهزینه را تحمیل می‌کند که در هر به‌روزرسانی، متن‌های جدیدی را نمونه‌برداری می‌کند. تیم‌ها اغلب شاهد این هستند که سیاست یاد می‌گیرد با «بازی کردن» سیستم پاداش، خروجی‌هایی تولید کند که امتیاز بالایی در مدل جایگزین (proxy) می‌گیرند اما کیفیت مورد نظر را ندارند. نتیجه، یک خط لوله گران‌قیمت، شکننده و با قابلیت مقیاس‌پذیری دشوار است.

میان‌بر جبری DPO

DPO مدل پاداش را کاملاً حذف می‌کند. مشاهده کلیدی این است که هدف RLHF – یعنی بیشینه‌سازی پاداش مورد انتظار در عین جریمه کردن انحراف از مدل مرجع – دارای یک عبارت فرم بسته (closed-form) است. با بازآرایی ریاضیات، پاداش برای هر توکن به تفاوت بین احتمال لگاریتمی اختصاص‌یافته توسط سیاست و احتمال لگاریتمی اختصاص‌یافته توسط مدل مرجع تبدیل می‌شود.

در عمل، این بدان معناست که «پاداش» درون خودِ سیاست قرار دارد. آموزش به یک تابع زیان طبقه‌بندی (classification loss) واحد روی جفت‌های ترجیحی کاهش می‌یابد: با داشتن یک پاسخ انتخاب‌شده و یک پاسخ ردشده، مدل به سمت اختصاص احتمال بالاتر به متن انتخاب‌شده سوق داده می‌شود. بدون نمونه‌برداری، بدون به‌روزرسانی‌های PPO و بدون نیاز به مدل اضافی برای ذخیره‌سازی.

ظاهر تابع زیان جدید چگونه است

این تابع زیان، احتمال لگاریتمی پاسخ ترجیحی تحت سیاست فعلی را با احتمال لگاریتمی تحت مدل مرجع مقایسه می‌کند که توسط یک ابرپارامتر مشابه دما (temperature) با نام $\beta$ مقیاس‌بندی شده است. یک $\beta$ بالا، سیاست را مجبور می‌کند که نزدیک به مدل مرجع بماند و روانی و ایمنی را حفظ کند. یک $\beta$ پایین به سیاست اجازه می‌دهد تا فاصله بیشتری بگیرد و ترجیح خود را برای پاسخ انتخاب‌شده تیزتر (sharper) کند.

مزایایی که برای توسعه‌دهندگان اهمیت دارد

  • بدون مدل پاداش – نیاز به جمع‌آوری بازخوردهای انسانی اضافی برای یک پیش‌بینی‌کننده جداگانه را از بین می‌برد.
  • بدون نمونه‌برداری در طول آموزش – مدل هرگز برای محاسبه گرادیان‌ها، متن جدید تولید نمی‌کند که این امر زمان استفاده از GPU را به شدت کاهش می‌دهد.
  • پایداری – یک تابع زیان استاندارد binary-cross-entropy جایگزین گرادیان‌های RL با واریانس بالا می‌شود که اغلب باعث واگرایی می‌شوند.
  • کارایی – یک گام گرادیان واحد روی هر جفت ترجیحی کافی است؛ آموزش در تعداد اپوک‌های بسیار کمتری نسبت به PPO همگرا می‌شود.

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

ملاحظات و توازن‌ها

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

اگر $\beta$ خیلی پایین تنظیم شود یا آموزش برای گام‌های بسیار زیادی اجرا شود، ممکن است سیاست آن‌قدر از مدل مرجع فاصله بگیرد که روانی متن از دست برود یا ناهنجاری‌های نامطلوبی ایجاد شود.

جمع‌بندی

بهینه‌سازی مستقیم ترجیحات (DPO)، پشته‌ی سنگین و سه-مدلیِ RLHF را با یک تابع زیان واحد و پایدار جایگزین می‌کند که مستقیماً از جفت‌های ترجیح انسانی یاد می‌گیرد. نتیجه، مسیری ارزان‌تر و قابل‌پیش‌بینی‌تر برای هم‌سازی مدل‌های زبانی است — به شرطی که داده‌های آموزشی رفتارهای مورد نیاز شما را پوشش دهند و پارامتر انحراف (drift) را تحت کنترل نگه دارید.