چطور مدلها را سادهتر با انسان همراستا کنیم: از RLHF تا DPO
مدلهای زبان بزرگ (LLM) هر روز هوشمندتر میشوند، اما آموزش دادن به آنها برای انجام کاری که ما میخواهیم – یعنی همراستا کردن آنها با ترجیحات انسانی – هنوز کار دشواری است. ما به عنوان فعالان حوزه یادگیری عمیق میدانیم که اگر بخواهید مدلی چیزی یاد بگیرد، به آن داده میدهید، درست است؟ پس چرا نمونههایی از آنچه دوست داریم جمعآوری نکنیم و مدل را وادار به یادگیری آن ترجیحات نکنیم؟ اینجاست که یادگیری تقویتی از بازخورد انسانی (RLHF) وارد میشود. این یک روش هوشمندانه برای آموزش LLMها جهت دنبال کردن ترجیحات انسانی با استفاده از دادههای بازخورد است. اما RLHF میتواند کمی دردسرساز باشد – یادگیری تقویتی را وارد ترکیب میکند و بهینهسازی به سرعت پیچیده میشود.
وارد بهینهسازی مستقیم ترجیحات (DPO) میشویم. DPO بخش RL را حذف میکند در حالی که هنوز به مدلها آموزش میدهد تا از ترجیحات پیروی کنند. سادهتر، تمیزتر است و صادقانه بگویم، چه کسی سادگی را دوست ندارد؟
در این وبلاگ، سفری از RLHF به DPO خواهیم داشت، ریاضیات را تجزیه و تحلیل خواهیم کرد (نگران نباشید، آن را ساده نگه میداریم)، و خواهیم دید که چرا DPO ممکن است راه هوشمندانهتر و آسانتری به جلو باشد.
هم DPO و هم RLHF (مثلا PPO) تکنیکهای همترازی هستند که به یک مجموعه داده (dataset) حاوی نمونههایی از پاسخهای مطلوب (chosen) و نامطلوب (rejected) به یک پرامپت (prompt) یکسان نیاز دارند. در ابتدا، این ترجیحات پاسخها توسط انسانها تعیین میشد. به عبارت دیگر، با توجه به چندین پاسخ، شخصی باید تصمیم میگرفت که کدام یک بهتر یا کدام یک ترجیح داده میشود.
اما از اینجا تفاوتها شروع میشود! RLHF از این مجموعه داده برای آموزش یک مدل دوم به نام مدل پاداش (reward model) استفاده میکند که در فرآیند همترازی به کار خواهد رفت. از سوی دیگر، DPO مستقیماً از این مجموعه داده برای آموزش مدل اصلی (مدل زبانی که در حال همترازی آن هستیم) استفاده میکند. این تفاوت اصلی بین این دو تکنیک است.
همانطور که میتوانید تصور کنید، DPO یک تکنیک مستقیمتر است که به منابع کمتری نیاز دارد. هنگامی که در مورد مدلهایی با دهها میلیارد پارامتر (parameters) صحبت میکنیم، هر گونه کاهش در مصرف منابع میتواند منجر به صرفهجویی قابل توجهی در هزینهها شود.
پیادهسازی DPO که احتمالاً از آن استفاده خواهید کرد، مشابه روشی است که توسط Hugging Face در کتابخانه TRL (Transformer Reinforcement Learning) آنها توسعه یافته است. DPO را میتوان یک روش بهینهسازی خطمشی (policy optimization) به حساب آورد. گرچه مدل مستقیماً با الگوریتمهای یادگیری تقویتی کلاسیک آموزش داده نمیشود، اما تابع زیان (loss function) آن به گونهای طراحی شده که پاسخهای مطلوب را به طور ضمنی «پاداش» میدهد و پاسخهای نامطلوب را «جریمه» میکند و بدین ترتیب مدل را به سمت تولید خروجیهای همراستا با ترجیحات هدایت میکند.
این کتابخانه پیادهسازی DPO را تا حد زیادی ساده میکند. تنها کاری که باید انجام دهید این است که مدلی را که میخواهید تنظیم دقیق کنید مشخص کرده و یک مجموعه داده با فرمت لازم به آن ارائه دهید.
ساختار مجموعه داده برای DPO:
مجموعه دادهای که باید استفاده شود باید سه ستون داشته باشد:
- Prompt: پرامپت استفاده شده
- Chosen: پاسخ مطلوب
- Rejected: پاسخ نامطلوب
برای یک پرامپت مشخص، میتوانید هر تعداد ردیف که میخواهید داشته باشید، با پاسخهای مطلوب و نامطلوب متفاوت. در Hugging Face، میتوانید بسیاری از مجموعههای داده آماده برای DPO را پیدا کنید، اما به احتمال زیاد در پروژههایی که نیاز به همترازی یک مدل زبانی دارید، لازم است یک مجموعه داده با این فرمت و اطلاعات خودتان آماده کنید.
استراتژیهای ایجاد مجموعه داده:
برای ایجاد این مجموعه داده، میتوانید از چندین استراتژی استفاده کنید. همانطور که میتوانید تصور کنید، ایجاد دستی آن با ورودی انسانی گرانترین و زمانبرترین گزینه است، بنابراین معمولاً از جایگزینها استفاده میشود.
یکی از رایجترین جایگزینها، استفاده از دو مدل برای تولید پاسخ به پرامپت است. برای تولید پاسخهای مطلوب (chosen)، میتوانید از یک مدل پیشرفته (state-of-the-art model) که شاید قبلاً فرآیندهای مشابه همترازی را طی کرده باشد، استفاده کنید و برای پاسخهای نامطلوب (rejected)، از یک مدل سادهتر یا نسخهای از مدل اصلی که هنوز به طور کامل همتراز نشده است، بهره ببرید.
یادگیری تقویتی از بازخورد انسانی (RLHF)
RLHF چارچوبی برای همراستا کردن مدلهای زبان با ترجیحات انسانی از طریق یک فرآیند ساختاریافته و سهمرحلهای است. هر مرحله بر پایه مرحله قبلی ساخته میشود و مدل را برای درک بهتر و تولید پاسخهایی که با انتظارات انسانی همراستا هستند، پالایش میکند. بیایید آن را تجزیه کنیم:
۱. fine-tune نظارتشده (SFT)
ما با گرفتن یک مدل زبان از پیش آموزشدیده و fine-tune آن بر روی دادههای با کیفیت بالا و مختص وظیفه شروع میکنیم. این فرآیند یک خطمشی پایه ایجاد میکند که نشاندهنده احتمال تولید خروجی
توسط مدل با توجه به ورودی
است. این خطمشی پایه به عنوان یک نقطه شروع قوی عمل میکند، رفتار کلی مرتبط با وظیفه را در بر میگیرد اما هنوز برای همراستایی با ترجیحات انسانی نیاز به پالایش دارد.
۲. نمونهبرداری ترجیحات و یادگیری پاداش
این مرحله بر جمعآوری دادهها در مورد ترجیحات انسانی و ساخت یک مدل پاداش برای نمایش عددی آن ترجیحات تمرکز دارد.
نمونهبرداری ترجیحات
نحوه کار آن به این صورت است:
- مدل fine-tune نظارتشده، جفت پاسخهای
را برای یک ورودی یا پرامپت
معین تولید میکند.
- حاشیهنویسهای انسانی این پاسخها را مقایسه کرده و پاسخ ترجیحی خود،
(«برنده»)، را نسبت به پاسخ کمتر ترجیحی،
(«بازنده»)، انتخاب میکنند.
- این ترجیحات انسانی سپس به عنوان دادههای آموزشی برای مرحله بعد استفاده میشوند.
مدلسازی پاداش
ما میخواهیم یک مدل پاداش ایجاد کنیم که یک امتیاز عددی (پاداش) به هر پاسخ
با توجه به پرامپت
اختصاص دهد. این امتیاز نشان میدهد که پاسخ چقدر با ترجیحات انسانی همراستا است.
مدلسازی ترجیحات زوجی
برای آموزش این مدل پاداش، ما به مقایسههای زوجی پاسخهای (برنده) و
(بازنده) تکیه میکنیم. ترجیحات با استفاده از چارچوب بردلی-تری مدلسازی میشوند که یک احتمال به ترجیح اختصاص میدهد:
چارچوب بردلی-تری (Bradley-Terry Framework)
چارچوب بردلی-تری یک مدل آماری است که برای تحلیل نتایج حاصل از مقایسههای زوجی (pairwise comparisons) طراحی شده است. هدف اصلی این مدل، تخمین یک امتیاز یا رتبهٔ پنهان برای هر «آیتم» (موجودیت) بر اساس نتایج مقایسههایی است که در آن هر بار دو آیتم با یکدیگر مقایسه میشوند و یکی از آنها به عنوان «برنده» یا «مرجح» انتخاب میشود.
فرض بنیادین در این چارچوب این است که هر آیتم دارای یک پارامتر قدرت (strength parameter) مثبت و نامشاهده است. وقتی دو آیتم، برای مثال آیتم «i» و آیتم «j»، با هم مقایسه میشوند، احتمال اینکه آیتم «i» بر آیتم «j» ترجیح داده شود، به نسبت این پارامترهای قدرت بستگی دارد.
نحوه عملکرد و فرمول اصلی:
اگر نشاندهنده پارامتر قدرت برای آیتم
و
نشاندهنده پارامتر قدرت برای آیتم
باشد، احتمال اینکه آیتم
بر آیتم
ترجیح داده شود (
)، طبق مدل بردلی-تری، با فرمول زیر محاسبه میشود:
در این فرمول:
و
مقادیر مثبت هستند.
- هر چه مقدار
نسبت به
بزرگتر باشد، احتمال اینکه آیتم
بر آیتم
ترجیح داده شود، بیشتر است.
- اگر
باشد، احتمال ترجیح هر کدام ۰.۵ خواهد بود.
کاربردهای رایج:
مدل بردلی-تری در زمینههای مختلفی کاربرد دارد، از جمله:
- رتبهبندی در ورزش: برای رتبهبندی تیمها یا بازیکنان (مانند شطرنجبازان، تیمهای فوتبال) بر اساس نتایج مسابقات رودررو.
- مدلسازی ترجیحات مصرفکننده: در بازاریابی و تحقیقات بازار برای فهمیدن اینکه کدام محصول یا ویژگی برای مصرفکنندگان جذابیت بیشتری دارد.
- یادگیری ماشین: به ویژه در سیستمهای یادگیری تقویتی از بازخورد انسانی (RLHF) برای مدلسازی ترجیحات انسانی بین پاسخهای مختلف تولید شده توسط مدل.
- روانسنجی: برای تحلیل دادههایی که در آنها افراد بین چند گزینه دست به انتخاب میزنند.
این مدل میتواند به مجموعه دادههای بزرگتر با مقایسههای متعدد بین آیتمهای مختلف گسترش یابد و پارامترهای قدرت برای تمام آیتمها با استفاده از روشهایی مانند تخمین حداکثر درستنمایی (Maximum Likelihood Estimation) برآورد شوند تا یک رتبهبندی کلی به دست آید.
احتمال ترجیح داده شدن بر
عبارت است از:
و
: پاداشها (امتیازات) اختصاص داده شده به ترتیب به برنده و بازنده.
صورت کسر : نشاندهنده احتمال اینکه برنده انتخاب ترجیحی باشد.
مخرج کسر با گنجاندن هر دو گزینه، تضمین میکند که احتمالات به ۱ جمع شوند: .
با بازنویسی، احتمال را به صورت تفاوت بین پاداشها بیان میکنیم:
: تفاوت بین امتیازات بازنده و برنده.
: این تفاوت را به یک ضریب مقیاسبندی برای احتمال تبدیل میکند.
با استفاده از تابع سیگموئید ، معادله به این صورت در میآید:
: اگر امتیاز برنده بسیار بیشتر از بازنده باشد، احتمال به ۱ نزدیک میشود (برنده به شدت ترجیح داده میشود).
آموزش مدل پاداش
برای آموزش ، آن را بهینهسازی میکنیم تا تا حد امکان با ترجیحات انسانی مطابقت داشته باشد. این کار با استفاده از تخمین حداکثر درستنمایی یا maximum likelihood estimation (MLE) انجام میشود:
تابع زیان برای مدل پاداش عبارت است از:
: مجموعه داده ترجیحات انسانی (جفتهای
برای هر پرامپت
).
: پیشبینیهایی را که احتمالات پایینی به ترجیحات واقعی انسانی اختصاص میدهند، جریمه میکند.
هدف، کمینه کردن منفی لگاریتم درستنمایی است، و اطمینان از اینکه مدل پاداش پیشبینیهای خود را با بازخورد انسانی جمعآوری شده همراستا میکند.
۳. بهینهسازی با یادگیری تقویتی (RL)
مرحله نهایی شامل fine-tune خطمشی با استفاده از یادگیری تقویتی برای به حداکثر رساندن پاداش است. با این حال، به حداکثر رساندن مستقیم پاداش میتواند منجر به انحرافات بیش از حد از خطمشی پایه
شود و باعث رفتار غیرطبیعی یا بیش از حد بهینهشده گردد. برای رفع این مشکل، یک جریمه برای محدود کردن خطمشی اضافه میکنیم:
هدف RL
هدف بهینهسازی عبارت است از:
جمله اول: خطمشی را تشویق میکند تا پاسخهایی با پاداش بالاتر تولید کند.
جمله دوم:
: واگرایی کولبک-لایبلر (KL)، معیاری از میزان تفاوت
از
. خطمشی
را برای دور شدن بیش از حد از خطمشی مرجع
(معمولاً
) جریمه میکند.
: یک ضریب وزنی که تعادل بین به حداکثر رساندن پاداشها و نزدیک ماندن به خطمشی مرجع را کنترل میکند.
این فرآیند خط لوله RLHF را تکمیل میکند، جایی که یادگیری تقویتی تضمین میکند که مدل پاسخهایی را تولید میکند که همراستایی با ترجیحات انسانی را به حداکثر میرساند در حالی که رفتار طبیعی و مرتبط با وظیفه را حفظ میکند.
چالشهای RLHF
- غیرقابل مشتق بودن خروجیهای زبان: تولید زبان شامل نمونهبرداری از توکنهای گسسته است که جریان گرادیانها را در طول بهینهسازی قطع میکند. این امر استفاده مستقیم از روشهای مبتنی بر گرادیان (ستون فقرات یادگیری عمیق) را برای تنظیم مدل دشوار میسازد.
- مشکل تعمیم مدل پاداش: مدل پاداش یاد میگیرد که ترجیحات انسانی را پیشبینی کند، اما درک ظرافت و تنوع آنچه انسانها واقعاً ترجیح میدهند دشوار است. اگر مدل پاداش نتواند تعمیم یابد، میتواند منجر به بهینهسازی نادرست یا مغرضانه شود.
- سربار محاسباتی و پیادهسازی: RL پیچیدگی قابل توجهی به خط لوله اضافه میکند. از طراحی تابع پاداش گرفته تا تنظیم فراپارامترهایی مانند جریمه KL، به تخصص ویژه و قدرت محاسباتی بسیار بیشتری در مقایسه با روشهای fine-tune سادهتر نیاز دارد.
از RLHF به بهینهسازی مستقیم ترجیحات (DPO)
در این بخش، هدف RLHF را بازنویسی کرده و یک تبدیل متغیر کلیدی را معرفی خواهیم کرد. این فرمولبندی مجدد راه را برای درک چگونگی عملکرد بهینهسازی مستقیم ترجیحات (DPO) و چرایی اینکه جایگزین سادهتر و کارآمدتری برای RLHF است، هموار میکند.
فرمولبندی مجدد هدف RLHF
هدف RLHF به این صورت آغاز میشود:
این هدف دو مقصود را متعادل میکند:
- به حداکثر رساندن پاداش: تشویق مدل
به تولید خروجیهای
که با ترجیحات انسانی، همانطور که توسط پاداش
گرفته شده، همراستا باشند.
- محدود کردن انحراف: جلوگیری از انحراف بیش از حد مدل از یک خطمشی مرجع
(معمولاً مدل fine-tune نظارتشده)، که پایداری را تضمین کرده و از تغییرات بیش از حد تهاجمی جلوگیری میکند.
بسط جمله واگرایی KL
واگرایی KL «فاصله» بین خطمشی فعلی و خطمشی مرجع
را اندازهگیری میکند. بسط آن به این صورت است:
این جمله را برای انحراف از
جریمه میکند. جایگزینی آن در هدف اصلی نتیجه میدهد:
تغییر به فرم کمینهسازی
برای سادگی، هدف را به عنوان یک مسئله کمینهسازی بازنویسی میکنیم (کمینه کردن منفی هدف بیشینهسازی):
این توازنها را برجسته میکند:
- جمله
خطمشی را تشویق میکند تا بر خروجیهای محتمل تمرکز کند.
- جمله
تضمین میکند که خروجیها به مدل مرجع نزدیک باقی بمانند.
- جمله
خطمشی را به سمت پاسخهای با پاداش بالا سوق میدهد.
معرفی تابع پارش (Partition Function)
بیایید یک تابع معرفی کنیم:
با استفاده از ، میتوانیم
را به این صورت بیان کنیم:
در اینجا شهود آن آمده است:
: به عنوان یک توزیع پایه (نقطه شروع ما) عمل میکند.
: خروجیهای
را بر اساس پاداش آنها مقیاسبندی میکند و خروجیهای با پاداش بالا را محتملتر میسازد.
: توزیع را نرمال میکند تا احتمالات به ۱ جمع شوند.
این فرمولبندی ما را قادر میسازد تا خطمشی مرجع را با گنجاندن ترجیحات کدگذاری شده در مدل پاداش، بدون نیاز به یادگیری تقویتی مستقیم، بازوزندهی کنیم.
استخراج زیان DPO
ترفند کلیدی بهینهسازی مستقیم ترجیحات (DPO) تمرکز بر ترجیحات زوجی است که بهینهسازی را ساده میکند. بیایید آن را تجزیه کنیم:
ترجیحات زوجی
برای دو تکمیل (برنده) و
(بازنده)، ما به احتمال اینکه انسانها
را به
ترجیح دهند، اهمیت میدهیم. با استفاده از مدل بردلی-تری، این احتمال عبارت است از:
که در آن تابع سیگموئید است.
سادهسازی 
با جایگزینی از فرمولبندی مجدد قبلی:
هنگام مقایسه دو خروجی و
، تابع پارش
حذف میشود (زیرا برای هر دو یکسان است)، و باقی میماند:
این محاسبه را ساده میکند، زیرا دیگر نیازی به محاسبه صریح نداریم. تابع سیگموئید تضمین میکند که پاداشهای بالاتر با احتمالات بالاتر مطابقت دارند.
زیان DPO
برای آموزش (خطمشی پارامتردار شده)، از تخمین حداکثر درستنمایی (MLE) بر روی ترجیحات انسانی استفاده میکنیم. زیان DPO به این صورت در میآید:
چرا این ترفند کار میکند؟
- بدون نیاز به یادگیری تقویتی: با بازنویسی مسئله بر حسب ترجیحات زوجی و بازوزندهی خطمشی مرجع، DPO نیاز به یادگیری تقویتی پیچیده را از بین میبرد.
- بهینهسازی سادهتر: تابع پارش
در مقایسههای زوجی حذف میشود و سربار محاسباتی را کاهش میدهد. آموزش مستقیماً بر همراستایی با ترجیحات انسانی تمرکز دارد.
- پایداری بهبودیافته: قید KL از
تضمین میکند که
پایهدار باقی بماند و از تغییرات رفتاری شدید که اغلب در RL دیده میشود، جلوگیری کند.
- تمرکز بر ترجیحات انسانی: با بهینهسازی مستقیم برای احتمالات ترجیحات زوجی، DPO فرآیند یادگیری را حول دادههای برچسبگذاری شده توسط انسان متمرکز میکند و خروجیها را به طور طبیعیتر با انتظارات انسانی همراستا مینماید.
نتیجهگیری
بهینهسازی مستقیم ترجیحات، همراستایی مدلهای زبان بزرگ را با جایگزینی مرحله RL در RLHF با یک چارچوب بهینهسازی مستقیم، ساده میکند. با کار با ترجیحات زوجی و اجتناب از یادگیری تقویتی، DPO همراستایی را با سربار محاسباتی و پیادهسازی کاهشیافته به دست میآورد و آن را به جایگزینی قانعکننده برای همراستا کردن مدلهای مقیاس بزرگ تبدیل میکند.
با تکامل تکنیکهای همراستایی، DPO نشان میدهد که چگونه مفروضات سادهکننده میتوانند به راهحلهای عملی و مؤثر برای چالشهای دنیای واقعی در هوش مصنوعی منجر شوند.
دیدگاهتان را بنویسید