فاز 18 · درس 1

هم‌راستاسازی مدل‌های زبانی با InstructGPT و RLHF

نوع
مفهومی
زمان
حدود 45 دقیقه
زبان‌ها
Python (stdlib, toy three-stage pipeline)
پیش‌نیاز
فاز 10 · 06 (SFT)، فاز 10 · 07 (RLHF)، فاز 10 · 08 (DPO)
یک ترازو ظریف آزمایشگاهی که در یک کفه مدل کوچکی قرار دارد و به دلیل کالیبراسیون دقیق بر مدل بسیار بزرگ‌تری در کفه دیگر چیره شده است
فهرست مطالب
  1. اهداف یادگیری
  2. صورت مسئله
  3. مفاهیم کلیدی
  4. مرحله‌ی 1: فاین‌تیونینگ نظارت‌شده (SFT)
  5. مرحله‌ی 2: مدل پاداش (RM)
  6. مرحله‌ی 3: اجرای PPO همراه با جریمه‌ی KL
  7. مالیات هم‌راستاسازی
  8. نتیجه
  9. چرا این پایپ‌لاین نقطه‌ی مرجع فاز 18 است؟
  10. استفاده از ابزارهای واقعی
  11. خروجی این درس
  12. تمرین‌ها
  13. اصطلاحات کلیدی
  14. برای مطالعه‌ی بیشتر

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

در این درس دقیقاً بررسی می‌کنیم که چگونه ترکیب فاین‌تیونینگ نظارت‌شده (SFT)، مدل‌سازی پاداش بر پایه‌ی ترجیحات انسانی و بهینه‌سازی سیاست با الگوریتم PPO باعث شد یک مدل 1.3 میلیارد پارامتری عملکردی به مراتب بهتر از مدل خام 175 میلیارد پارامتری به نمایش بگذارد.

تمام نقدهای بعدی به RLHF دقیقاً به همین پایپ‌لاین برمی‌گردد. پیش از آنکه ببینید فشار بهینه‌سازی چگونه متغیر جانشین (proxy) را از شکل طبیعی‌اش خارج می‌کند، ابتدا باید خود این متغیر جانشین را ببینید. مقاله‌ی InstructGPT (اویانگ و همکاران، 2022) معماری مرجع را پایه‌گذاری کرد: فاین‌تیونینگ نظارت‌شده (Supervised Fine-Tuning یا SFT) روی جفت‌های «دستورالعمل-پاسخ»، یک مدل پاداش (Reward Model یا RM) آموزش‌دیده بر پایه‌ی رتبه‌بندی مقایسه‌ای ترجیحات، و PPO در برابر مدل پاداش به‌همراه جریمه‌ی واگرایی کولبک-لایبلر (KL penalty) نسبت به خط‌مشیِ SFT. یک مدل InstructGPT با 1.3 میلیارد پارامتر به مدل خام GPT-3 با 175 میلیارد پارامتر ترجیح داده شد. همین یک نتیجه دلیل آن است که در سال 2026، تک‌تک آزمایشگاه‌های پیشرو همچنان از یک پایپ‌لاین پس‌آموزش بر پایه‌ی RLHF استفاده می‌کنند.

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

  • نام بردن از سه مرحله‌ی پایپ‌لاین InstructGPT و تابع زیان (loss) به‌کاررفته در هر مرحله.
  • توضیح اینکه چرا یک مدل 1.3 میلیاردی تنظیم‌شده با دستورالعمل (instruction-tuned) در ارزیابی ترجیحات انسانی، مدل خام GPT-3 با 175 میلیارد پارامتر را شکست داد.
  • بیان اینکه جریمه‌ی KL در مرحله‌ی 3 دقیقاً جلوی چه چیزی را می‌گیرد و چرا حذف آن به رفتار مُدیاب (mode-seeking) می‌انجامد.
  • تشریح مالیات هم‌راستاسازی (alignment tax) و راهکار PPO-ptx که اویانگ و همکاران برای مهار آن به کار بردند.

صورت مسئله

مدل‌های زبانی پیش‌آموزش‌دیده متن را کامل می‌کنند؛ به پرسش‌ها پاسخ نمی‌دهند. اگر از GPT-3 بخواهید «تابعی در پایتون بنویس که یک لیست را معکوس کند»، اغلب در جواب یک پرامپت (prompt) دیگر تحویلتان می‌دهد؛ چون بخش عمده‌ی توزیع آموزشی‌اش متون وب است که ادامه‌شان متن‌های دیگری از وب می‌آید. مدل کارش را درست انجام می‌دهد؛ این کار است که اشتباه تعریف شده.

متغیر جانشینی که تمام آزمایشگاه‌های جدی برای حل این مشکل به کار گرفتند، ترجیح انسان بود. دو خروجی پیش روی ارزیاب قرار می‌گیرد؛ ارزیاب گزینه‌ی بهتر را انتخاب می‌کند؛ و یک مدل پاداش یاد می‌گیرد مثل ارزیاب تصمیم بگیرد. در ادامه، یک چرخه‌ی یادگیری تقویتی (Reinforcement Learning یا RL) خط‌مشی را به‌سمت خروجی‌هایی سوق می‌دهد که مدل پاداش امتیاز بالایی به آن‌ها می‌دهد. کل ایده‌ی InstructGPT در همین سه جمله خلاصه می‌شود؛ مابقی مقاله فقط جزئیات مهندسی است.

مفاهیم کلیدی

مرحله‌ی 1: فاین‌تیونینگ نظارت‌شده (SFT)

جفت‌های پرامپت-پاسخ را طوری گردآوری کنید که پاسخ، دقیقاً همان چیزی باشد که یک انسان خوش‌نیت می‌نویسد. اویانگ و همکاران از 13 هزار پرامپتِ برچسب‌زن‌ها و API اوپن‌ای‌آی استفاده کردند. سپس مدل پایه را با تابع زیان استاندارد آنتروپی متقاطع (Cross-Entropy) روی این داده‌ها فاین‌تیون کنید.

آنچه SFT در اختیارتان می‌گذارد: مدل حالا به‌جای ادامه‌دادن سؤال، به آن پاسخ می‌دهد. آنچه در اختیارتان نمی‌گذارد: هیچ سیگنالی درباره‌ی اینکه وقتی چند پاسخ موجه وجود دارد، ارزیاب کدام‌یک را ترجیح می‌دهد.

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

به‌ازای هر پرامپت، K نمونه خروجی از مدل SFT بگیرید. یک برچسب‌زن آن‌ها را رتبه‌بندی می‌کند. سپس مدل پاداشی آموزش دهید که به هر جفت پرامپت-پاسخ امتیازی اختصاص دهد؛ طوری که برای جفت‌هایی که در آن‌ها y_w بر y_l ترجیح داده شده است:

LRM=−log⁡σ(r(x,yw)−r(x,yl))L_{\text{RM}} = -\log \sigma\big(r(x, y_w) - r(x, y_l)\big)

این رابطه همان تابع زیان ترجیحات دوتایی بردلی-تری (Bradley-Terry) است. وزن‌های مدل پاداش معمولاً از روی همان مدل SFT مقداردهی اولیه می‌شوند، با این تفاوت که سر (head) مدل زبانی با یک سر اسکالر جایگزین می‌شود.

مدل‌های پاداش کوچک‌اند: برای InstructGPT با 175 میلیارد پارامتر، یک مدل 6 میلیاردی کاملاً کافی بود. از طرفی بسیار شکننده‌اند؛ بخش 5 مقاله بیشتر به رفتارهای دور زدن پاداش (reward hacking) می‌پردازد که حتی در مقیاس کوچک خودشان را نشان دادند.

مرحله‌ی 3: اجرای PPO همراه با جریمه‌ی KL

تابع هدف را مشخص کنید:

J(π)=Ex∼D, y∼π(⋅∣x)[r(x,y)]−β KL(π(⋅∣x) ∥ πSFT(⋅∣x))J(\pi) = \mathbb{E}_{x \sim D,\, y \sim \pi(\cdot \mid x)} \big[ r(x, y) \big] - \beta \, \mathrm{KL}\big(\pi(\cdot \mid x) \,\|\, \pi_{\text{SFT}}(\cdot \mid x)\big)

آن را با الگوریتم PPO بیشینه کنید. عبارت KL جلوی دور شدن بیش‌ازحد pi از خط‌مشیِ SFT را می‌گیرد. بدون این عبارت، بهینه‌ساز به‌دنبال نمونه‌های تخاصمی (adversarial examples) می‌رود؛ رشته‌هایی که مدل پاداش به آن‌ها امتیاز بالایی می‌دهد صرفاً چون هیچ‌وقت آن‌ها را ندیده، نه به این خاطر که انسان‌ها واقعاً ترجیحشان می‌دهند.

ضریب KL یا همان beta، تعیین‌کننده‌ترین هایپرپارامتر در RLHF است. مقدار خیلی کم: دور زدن پاداش؛ مقدار خیلی زیاد: هیچ بهبودی نسبت به SFT حاصل نمی‌شود.

مالیات هم‌راستاسازی

مدل پس از RLHF بیشتر موردپسند انسان‌ها قرار می‌گیرد، اما روی بنچمارک‌های استاندارد (مانند SQuAD، HellaSwag و DROP) دچار پس‌رفت می‌شود. اویانگ و همکاران این افت را «مالیات هم‌راستاسازی» نامیدند و با PPO-ptx مهارش کردند: تزریق گرادیان‌های پیش‌آموزش به تابع هدفِ RL، تا مدل نحوه‌ی حل وظایفی (tasks) را که هرگز برایشان پاداش نگرفته فراموش نکند.

Jptx(π)=J(π)+γ Ex∼Dpretrain[log⁡π(x)]J_{\text{ptx}}(\pi) = J(\pi) + \gamma \, \mathbb{E}_{x \sim D_{\text{pretrain}}} \big[ \log \pi(x) \big]

روش PPO-ptx به یک رویکرد استاندارد تبدیل شد؛ به‌طوری‌که Anthropic، DeepMind و Meta همگی نسخه‌ای از آن را به کار می‌برند.

نتیجه

برچسب‌زن‌ها در حدود 70 درصد مواقع مدل 1.3 میلیاردی InstructGPT (ترکیب SFT + RM + PPO-ptx) را به GPT-3 پایه‌ی 175 میلیاردی ترجیح دادند. این فاصله روی پرامپت‌های تستِ پنهان که از ترافیک محیط عملیاتی (پروداکشن) گرفته شده بودند حتی بیشتر شد. دو نکته‌ی کلیدی از این رقم به دست می‌آید:

  1. هم‌راستاسازی محوری کاملاً جدا از توانمندی است. مدل 175 میلیاردی توانمندتر بود؛ مدل 1.3 میلیاردی هم‌راستاتر؛ و برچسب‌زن‌ها مدل هم‌راستا را ترجیح دادند.
  2. کف توانمندی را مدل پایه تعیین می‌کند. با RLHF نمی‌توان حقایقی را که مدل پایه اصلاً در داده‌هایش ندیده، به آن آموخت.

چرا این پایپ‌لاین نقطه‌ی مرجع فاز 18 است؟

تمام نقدهای درس‌های بعدی — دور زدن پاداش (درس 2)، الگوریتم DPO (درس 3)، چاپلوسی (درس 4)، روش CAI (درس 5)، ایجنت‌های خفته (درس 7) و تظاهر به هم‌راستایی (درس 9) — به بخشی از همین پایپ‌لاین ایراد می‌گیرند. دور زدن پاداش به مرحله‌ی 2 حمله می‌کند. روش DPO مرحله‌ی 2 و 3 را یکی می‌کند. روش CAI برچسب‌زن انسانی را کنار می‌گذارد. چاپلوسی نشان می‌دهد برچسب‌زن انسانی سیگنالی اریب است. تظاهر به هم‌راستایی نشان می‌دهد خط‌مشی می‌تواند مرحله‌ی 3 را کاملاً دور بزند. تا وقتی کل این پایپ‌لاین در ذهنتان جا نیفتد، درک هیچ‌کدام از این نقدها ممکن نیست.

پایپ‌لاین INSTRUCTGPTسه مرحله، یک مهار
INSTRUCTGPT PIPELINEThe reference alignment pipeline from Ouyang et al.: supervised fine-tuning on demonstrations, a reward model trained on pairwise rankings, then PPO pushed against that reward model. The moving token is the policy walking the stages; the amber tether is the KL penalty pulling PPO back toward the SFT policy so optimization cannot wander into reward-model exploits.SFT13k نمونهRM33k رتبه‌بندیPPOدر برابر مدل پاداشجریمه KL: نزدیک ماندن به خط‌مشی SFTیک مدل 1.3B با این روش، مدل خام 175B GPT-3 را در ترجیح انسانی شکست داد
پایپ‌لاین مرجع هم‌راستاسازی از مقاله Ouyang و همکاران: فاین‌تیونینگ نظارت‌شده روی نمونه‌ها، یک مدل پاداش آموزش‌دیده روی رتبه‌بندی‌های جفتی، و سپس PPO که در برابر آن مدل پاداش push می‌شود. توکن متحرک همان خط‌مشی (policy) است که مراحل را طی می‌کند؛ بند کهربایی جریمه‌ی KL است که PPO را به سمت خط‌مشی SFT عقب می‌کشد تا بهینه‌سازی به سمت سوءاستفاده از نقاط ضعف مدل پاداش منحرف نشود.

استفاده از ابزارهای واقعی

فایل code/main.py این سه مرحله را روی داده‌های ترجیحات ساختگی شبیه‌سازی می‌کند. «خط‌مشی» پایه در اینجا یک سکه‌ی ناعادلانه روی اکشن‌های {A, B, C} است. مرحله‌ی اول (SFT) اکشن‌های برچسب‌زن را روی 200 پرامپت شبیه‌سازی می‌کند. مرحله‌ی دوم یک مدل پاداش بردلی-تری را با 500 رتبه‌بندی جفتی برازش می‌دهد. مرحله‌ی سوم یک به‌روزرسانی ساده‌شده‌ی PPO با جریمه‌ی KL نسبت به خط‌مشی SFT اجرا می‌کند. می‌توانید روند بالا رفتن پاداش، افزایش واگرایی KL و جابه‌جایی خط‌مشی را ببینید؛ همچنین می‌توانید عبارت KL را غیرفعال کنید تا ببینید پدیده‌ی دور زدن پاداش ظرف کمتر از 50 گامِ به‌روزرسانی نمایان می‌شود.

مواردی که باید بررسی کنید:

  • مسیر کامل اجرای پاداش با beta = 0.1 در مقایسه با beta = 0.0.
  • KL(π∥πSFT)\mathrm{KL}(\pi \Vert \pi_{\text{SFT}}) در طول گام‌های آموزش.
  • توزیع نهایی اکشن‌ها در مقایسه با ترجیح برچسب‌زن.

خروجی این درس

خروجی این درس فایل outputs/skill-instructgpt-explainer.md خواهد بود. این ابزار با دریافت توضیحات یک پایپ‌لاین RLHF یا چکیده‌ی یک مقاله، مشخص می‌کند کدام‌یک از سه مرحله تغییر کرده، چه تابع زیانی در هر مرحله به کار رفته، و آیا جریمه‌ی KL یا تنظیم‌کننده‌ی (regularizer) مشابهی در آن وجود دارد یا نه.

تمرین‌ها

  1. اسکریپت code/main.py را اجرا کنید. مقدار beta = 0.0 را قرار دهید و توزیع اکشن‌ها را پس از 200 گامِ PPO گزارش کنید. رفتار مُدیاب را در یک پاراگراف توضیح دهید.

  2. مدل پاداش را دستکاری کنید تا سوگیری 0.5+ نسبت به اکشن B داشته باشد (شبیه‌سازی یک باگ در پاداش). الگوریتم PPO را با beta = 0.1 اجرا کنید. آیا جریمه‌ی KL مانع از سوءاستفاده‌ی خط‌مشی از این سوگیری می‌شود؟ سوءاستفاده از چه مقدار beta به بعد آشکار می‌شود؟

  3. شکل 1 مقاله‌ی اویانگ و همکاران (arXiv:2203.02155) را بررسی کنید. نمودار ترجیح برچسب‌زن را با اجرای PPO برای 1، 5، 20 و 100 گام و اندازه‌گیری ترجیح در مقایسه با مدل SFT بازتولید کنید.

  4. در بخش 4.3 مقاله گزارش شده که InstructGPT با 1.3 میلیارد پارامتر در حدود 70 درصد مواقع GPT-3 با 175 میلیارد پارامتر را شکست می‌دهد. چرا این نسبت روی پرامپت‌های تستِ پنهان از محیط عملیاتی (پروداکشن)، بالاتر از پرامپت‌های خودِ برچسب‌زن‌ها بوده است؟

  5. تابع زیان PPO را با DPO (فاز 10 · 08) روی همان داده‌های ترجیحات جایگزین کنید. جابه‌جایی نهایی خط‌مشی (واگرایی KL تا SFT) و پاداش نهایی را با هم مقایسه کنید. در پاداش برابر، خط‌مشی کدام روش بیشتر جابه‌جا می‌شود؟

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

اصطلاح آنچه دیگران می‌گویند معنای واقعی آن
SFT «تنظیم با دستورالعمل» مرحله‌ی 1: فاین‌تیونینگ با آنتروپی متقاطع روی جفت‌های پرامپت-پاسخ
Reward model «همان RM» رگرسور اسکالر روی (پرامپت، پاسخ) که با روش بردلی-تری روی برچسب‌های جفتی آموزش دیده است
Bradley-Terry «تابع زیان ترجیحات دوتایی» −log⁡σ(rw−rl)-\log \sigma(r_w - r_l)؛ تقلیل رتبه‌بندی جفتی به یک مسئله‌ی دسته‌بندی باینری
KL penalty «تنظیم‌کننده» beta * KL(pi || pi_SFT) — خط‌مشیِ RL را نزدیک به نقطه‌ی اتکای SFT نگه می‌دارد
PPO-ptx «الگوریتم PPO با ترکیب پیش‌آموزش» افزودن بخشی از درست‌نمایی لگاریتمی پیش‌آموزش به تابع هدف PPO برای جبران مالیات هم‌راستاسازی
Alignment tax «پس‌رفت ناشی از RLHF» افت عملکرد پس از RLHF روی بنچمارک‌های استانداردی که هدف مستقیم فرایند RLHF نبوده‌اند
Labeler preference «داده‌ی واقعی» نمونه‌ای از رتبه‌بندی‌های انسانی؛ RM یک متغیر جانشین آماری برای این داده‌هاست، نه نماینده‌ی واقعی «ارزش‌های انسانی»

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

خودآزمایی

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

  1. پیش از درسچرا یک مدل زبانی پیش‌آموزش‌دیده خام اغلب به پرامپت «یک تابع پایتون بنویس که یک لیست را معکوس کند» به جای کد، با یک پرامپت دیگر پاسخ می‌دهد؟
  2. حین درسمدل پاداش InstructGPT از چه تابع زیانی (loss) روی برچسب‌های ترجیح جفتی استفاده می‌کند؟
  3. حین درسجریمه‌ی KL در مرحله‌ی 3 مدل InstructGPT اساساً در برابر چه چیزی محافظت می‌کند؟
  4. حین درسروش PPO-ptx چه مشکلی را با ترکیب در تابع هدف RL کاهش می‌دهد؟
  5. پس از درسمدل 1.3B پارامتری InstructGPT در حدود 70٪ مواقع نسبت به GPT-3 پایه با 175B پارامتر ترجیح داده شد. این موضوع چه چیزی را درباره‌ی هم‌راستاسازی و توانمندی نشان می‌دهد؟
  6. پس از درسمدل پاداش در InstructGPT از کدام مورد اولیه‌سازی (initialize) می‌شود؟

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

سه مرحله‌ی اصلی پایپ‌لاین InstructGPT چیست؟

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

نقش جریمه‌ی واگرایی KL در مرحله‌ی سوم RLHF چیست؟

این جریمه مانع دور شدن بیش از حد خط‌مشی از مدل SFT اولیه می‌شود و از سوءاستفاده از ضعف‌های مدل پاداش (Reward Hacking) جلوگیری می‌کند.

مالیات هم‌راستاسازی (Alignment Tax) چیست و چگونه رفع می‌شود؟

افت عملکرد مدل در بنچمارک‌های استاندارد پس از اجرای RLHF است که با افزودن گرادیان‌های پیش‌آموزش به تابع هدف PPO (روش PPO-ptx) مهار می‌شود.

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

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