۱. مقدمه
این وبلاگ به جزئیات دقیق مرحله 3 آموزش ChatGPT میپردازد و اجزای مرحله 3 را شرح میدهد. قبل از اینکه وارد این پیچیدگیها شویم، اجازه دهید یک بار دیگر مراحل اساسی آموزش ChatGPT را مرور کنیم!
شکل: 3 مرحله در آموزش ChatGPT
2. مروری بر مراحل آموزش ChatGPT
آموزش ChatGPT را میتوان به 3 مرحله اساسی تقسیم کرد:
الف) ChatGPT از مدل Generative Pretrained Transformer استفاده میکند که برای درک زبان از قبل آموزش داده شده است. این مدل ترانسفورمر از پیش آموزشدیده بیشتر تنظیم شده است - برای تنظیم دقیق این مدل، ما برچسبزنان انسانی داریم که اعلان اولیه و همچنین پاسخ را ارائه میدهند. سپس برای تنظیم دقیق به شبکه داده میشود. شبکه برای بدست آوردن مجموعهای از پارامترها برای مدل دقیق تنظیم شده آموزش دیده است.
ب) در مرحله 2 آموزش ChatGPT، یک دستور را میگیریم و آن را چندین بار از یک مدل عبور میدهیم، به طوری که “n” پاسخهای متفاوتی دریافت میکنیم. در وبلاگ دوم
https://concepts-define.blogsky.com/1403/08/19/post-35/ChatGPT-قسمت-۲
توضیح دادهام که چگونه همان مدل زبان میتواند پاسخهای متفاوتی را به یک اعلان ارائه میدهد. سپس از برچسبزنان انسانی میخواهیم که این پاسخها را رتبهبندی کنند و رتبه نشاندهنده کمیت کیفیت پاسخها است، یعنی اینکه «برچسبزنان انسانی» چقدر پاسخها را دوست دارند. رتبهبندی در مقیاس بین 1 و 7 انجام میشود - مقیاس به عنوان "مقیاس لیکرت" نامیده میشود که یک سیستم رتبهبندی است که در پرسشنامهها استفاده میشود و برای اندازهگیری نگرشها، نظرات یا ادراک افراد طراحی شده است
https://www.britannica.com/topic/Likert-Scale
این رتبهبندی برای آموزش مدل «پاداش» دیگری استفاده میشود که یک اعلان ورودی و پاسخ را میگیرد و خروجیها یک اسکالر – یک «پاداش» – که عددی بین ۱ تا ۷ است، خواهد بود.
ج) در مرحله 3 آموزش ChatGPT، ما از مدل "پاداش" استفاده میکنیم - آنچه اساساً در مرحله 3 اتفاق میافتد این است که یک اعلان نادیده و پاسخ به مدل تنظیم شده نظارت شده را ارسال میکنیم و دریافت میکنیم یک پاسخ پاسخ از طریق مدل "پاداش" - مدل پاداش رتبهای را به دست میدهد که برای تنظیم دقیق پارامترهای مدل نظارتشده دقیقتر برای خروجی یک پاسخ واقعیتر و قابل قبولتر استفاده میشود. سپس مدل حاصل به ChatGPT تبدیل میشود.
اکنون مرحله 3 آموزش ChatGPT را روشن میکنیم. برای انجام این کار، باقیمانده این وبلاگ از بخشهای زیر تشکیل شده است:
· در بخش 3، به جزئیاتی در مورد چگونگی ایجاد پاسخ توسط ChatGPT میپردازیم.
· در بخش 4، ما در مورد مدل "پاداش" صحبت میکنیم که برای تنظیم دقیقتر مدل تنظیم دقیق نظارت شده مرحله 1 استفاده میشود. مهمتر از همه، در بخش 4 در مورد مفهوم بهینهسازی سیاست پروگزیمال و تابع ضرر مربوطه صحبت میکنیم. استفاده میشود که در طول فرآیند آموزش "به حداکثر" میرسد تا پاسخ واقعیتر و قابل قبولتر به درخواست ایجاد شود.
3. ChatGPT چگونه پاسخ ایجاد میکند؟
اجازه دهید به طور خاص بر روی مرحله 3 تمرکز کنیم و اجازه دهید سعی کنیم و هر یک از اجزای نشان داده شده در زیر را با جزئیات بیشتر شرح دهیم. این بخش نحوه استفاده از آموزش تقویتی در ChatGPT را برجسته میکند.
شکل: مرحله 3 آموزش ChatGPT
ما یک مدل نظارت شده با تنظیم دقیق داریم که به آن یک اعلان ارسال میکنیم و یک پاسخ تولید میکنیم. بیایید ببینیم یک پاسخ از GPT چگونه به نظر میرسد.
شکل: دنباله یک پاسخ کامل از ChatGPT
بنابراین، باید تاکید کرد که GPT (3.5/4) با استفاده از تمام کلماتی که قبلا به عنوان زمینه ورودی آمده بودند، یک کلمه را در یک زمان تولید میکند.
بنابراین، ما یک اعلان ورودی داریم و آن را به مدل تنظیم شده نظارت شده ارسال میکنیم تا یک کلمه در یک زمان تولید شود (همانطور که در شکل زیر مشخص شده است) تا زمانی که همه کلمات برای آن پاسخ تولید شوند.
شکل: مرحله 3 آموزش ChatGPT ابهامزدایی شده است
4. چگونه از مدل پاداش مرحله 2 استفاده میشود؟
سپس، اعلان و پاسخ به مدل "پاداش" - که قبلا آموزش داده شده است - ارسال می شود تا مقدار اسکالر را بدست آوریم - پاداش که به ما میگوید چقدر پاسخ خوب بوده است. سپس از Reward برای تنظیم دقیق مدل تنظیم دقیق نظارت شده اصلی مرحله 1 استفاده میکنیم. بنابراین، پارامترهای مدل تنظیم دقیق نظارت شده اصلی باید به روز شوند. اجازه دهید ببینیم که چگونه این اتفاق افتاد.
پارامترهای مدل تنظیمشده نظارت شده با استفاده از «بهینهسازی سیاست پروگزیمال» بهروزرسانی میشوند که دستهای از تکنیکها برای به حداکثر رساندن پاداش با گنجاندن پاداش در خود تابع ضرر هستند.
ریاضیات تابع ضرر از تابع ضرر بهینهسازی سیاست پروگزیمال (PPO):
همانطور که گفته شد، در Proximal Policy Optimisation از Reward در خود تابع ضرر استفاده میشود. اجازه دهید ریاضیات تابع ضرر را با کمی جزئیات بررسی کنیم.
معادله زیر از مقاله گرفته شده است: الگوریتمهای بهینهسازی سیاست پروگزیمال:
تابع ضرر بهینهسازی سیاست پروگزیمال (PPO)
با تکرار، پاداش ایجاد شده باید برای تنظیم دقیق مدل نظارت شده تنظیم دقیق استفاده شود. در بالا ما تابع ضرر برای به روز رسانی گرادیان استفاده شده است. در معادله بالا:
· ϴ پارامتری در مدل نظارت دقیق است که ما آن را به روز خواهیم کرد
· t مرحله زمان است
· هر مرحله زمانی، ما یک پاسخ کامل داریم که یک مرحلهای است.
· r نسبت پاداش است - نسبت پاداش با پارامترهای جدید برای ورودی داده شده تقسیم بر پاداش پارامترهای قدیمی با همان ورودی داده شده است.
بنابراین، اگر نسبت پاداش بالاتر از 1 باشد، به این معنی است که آموزش در جهت درست پیش میرود.
· “A” تابع مزیت است - در یادگیری تقویتی، تابع مزیت ارزیابی میکند که خروجی با توجه به ورودی چقدر با کیفیت بوده است. بنابراین، عددی است که متناسب با پاداش است.
بنابراین، اگر پاسخ بسیار خوب باشد، محصول r.A بسیار بالا خواهد بود.
· Clip - ما نمیخواهیم بهروزرسانی گرادیان را خیلی سریع کنیم - ما کران بالا و پایین نسبت را با ϵ برش میدهیم - بزرگی ϵ تعیین میکند که چقدر اجازه میدهیم بهروزرسانی گرادیان تغییر کند.
· سپس ما یک انتظار داریم - و این به این واقعیت مربوط میشود که میتوانیم برای یک ورودی یکسان، چندین نوع پاسخ ایجاد کنیم. بنابراین، ما میخواهیم این را شبیهسازی کنیم - میانگین مقادیر را میگیریم و بنابراین کل بهینهسازی سیاست پروگزیمال به یک خروجی از ChatGPT وابسته نیست. ما بهروزرسانیهای گرادیان را از طریق «Gradient Ascend» انجام میدهیم زیرا در حال به حداکثر رساندن مقدار هستیم.
https://openai.com/blog/chatgpt
https://arxiv.org/abs/1707.06347
https://arxiv.org/abs/2203.02155
https://www.assemblyai.com/blog/how-chatgpt-actually-works/
https://www.youtube.com/@CodeEmporium