در مورد chatGPT، مکانیزم RLHF و راهی که با InstructGPT طی شد
احتمالا این سوال که چطوری chatGPT بوجود اومده ذهن شما رو درگیر کرده باشه. قبل از پرداختن به این سوال باید اول پرسید Open-AI دقیقا با چه نیازی به GPT-3 راضی نشد و به chatGPT رسید؟
پاسخ اینه که در واقع GPT-3 از روی Text موجود در اینترنت آموزش دیده بود. برای ساخت معماری این شبکه از Decoder استفاده کردند؛ پس تسک اینه که وقتی یه جمله بهش میدی کلمات بعدی رو حدس بزنه. اما با این ساختار آموزشی و این نوع دیتا هیچ تضمینی وجود نداشت که اون جملاتی که در ادامه Predict میکنه لزوما دارای حقیقت باشه یا جملات سمی و توهمی یا حتی توهین آمیز نباشه. این اولین نیاز بود. نیاز دوم این بود که بتونه دستور و خواستهای که یوزر از طریق ورودی میده رو متوجه بشه و چیزی رو که یوزر میخواد رو تولید کنه. یعنی ساختار آموزش بجای «بقیهاش رو تو بگو» به ساختار ارباب رعیتی «این کاری که میگم رو بکن» تبدیل بشه. برای این دو نیاز open-AI مدل خفنی رو توسعه داد و اسمش رو گذاشت: «InstructGPT».
برخلاف تصور، chatGPT مستقیم از روی GPT-3 ایجاد نشده. بلکه از نظر open-AI راه chatGPT از fine-tune کردن InstructGPT میگذشته. که با اصلاح ساختار آموزش و ارایه یک روش آموزشی خیلی خفن InstructGPT رو توسعه دادند. و بعد از این مدل به chatGPT رسیدند. جالب اینجاست که اصل زیباییهای خلقت توی InstructGPT جمع شده. و از InstructGPT تا chatGPT خیلی مسایل فنی خاصی رخ نداده.
برای ساخت InstructGPT اول اومدن در کمال ناباوری GPT-3 رو تبدیل به تسک Supervised کردند. تمام Promptهایی که ملت روی GPT-3 داشتند رو به یه سری انسان دادند و ازشون خواستن پاسخش رو بنویسند (دیوونه خونه ست). و بعد از روی این سوال و جواب، یه مدل توسعه دادند. ماجرا از اینجا تازه شروع میشه. در ادامه فرایند از یه مکانیزمی استفاده کردند که اسمش رو open-AI گذاشته RLHF. یا همون Reinforcement Learning Human Feedback.
فرایند RLHF به این صورته:
- اول به ازای هر Prompt، از مدلهای Base-Line چندین خروجی میگیریم و خروجیها رو به انسان میدیم تا برامون از بهترین تا بدترین جواب Sort کنه. (در اینجا مدلهای Base-Line شامل GPT-3 میشه و اون مدل Supervised). و بعد از طریق این دیتای باارزش (ترتیب بندیِ نتایج مدلها بر اساس ترجیح انسان)، یک Reward Model توسعه میدیم. در واقع اینجا با این مدل داریم اون Functionی رو مدل می کنیم که معمولا یا Rule Based بود یا انسان.
- در مرحله بعد مدل GPT-3 رو تبدیل به یک مدل RL میکنیم. و به ازای هر Prompt در دیتابیس ازش خروجی می گیریم. خروجی رو میدیم به Reward Model و از Reward محاسبه شده برای آپدیت Policyهای مدل استفاده می کنیم.
بنظرم تو این روش کار یدی و کار علمی-مهندسی در یک تعادل جذابی قرار داره. از یه طرف تبدیل کردن یه مدل زبانی به یک مدل RL بنظر خفن میاد و احتمالا بیشتر در آینده شاهدش باشیم. از طرفی، جایی که تصور نمی شد انسان حضور داشته باشه، از انسان استفاده شد. و در آخر هم با Reward Model زیبایی رو بر ما تمام کردند و در جایی که حضور انسان یا Rules پذیرفته شده بود اثبات کردند میشه مدلی ساخت که ترجیحات انسان ها رو مدل کرد و خلاصه که با RLHF نمایش زیبایی از تعامل انسان و ماشین رقم زدند.
برای مطالعه عمیق تر:
https://openai.com/blog/instruction-following/
https://openai.com/blog/deep-reinforcement-learning-from-human-preferences/
https://arxiv.org/abs/2203.02155
پ.ن: با تشکر از آقای اسماعیلیان که این مطلب رو برای ما ارسال کردند. شما هم اگه مطلب به دردبخوری داشتید برای ما بفرستید که با اسم خودتون در کانال منتشر کنیم.
#read
#paper
@nlp_stuff
>>Click here to continue<<
