۱. مقدمه
در وبلاگ ChatGPT چیست؟ به طور مختصر مراحل مربوط به آموزش ChatGPT را مورد بحث قرار داده بودم. آموزش ChatGPT شامل 3 مرحله اساسی است که در زیر به آنها اشاره شده است:
الف) تنظیم دقیق مدل ترانسفورمر از پیش آموزشدیده (GPT) که در آن ما برچسبزنان انسانی داشتیم که سریع و پاسخ را ارائه میدادند. این مرحله را تنظیم دقیق نظارت شده مینامند که در آن ما هر دو سؤال و پاسخ را برای آموزش در دسترس داریم، مشابه مسئله دستهبندی که در آن هر دو - ویژگیها و برچسب را داریم.
ب) در مرحله 2 آموزش ChatGPT، مدل "پاداش" را آموزش میدهیم. در اینجا، دادهها را از مدل تنظیمشده نظارت شده جمعآوری میکنیم و سپس برچسبزنان انسانی را داریم که پاسخها را رتبهبندی میکنند - رتبهبندی (یا بهعنوان «پاداش» نامیده میشود) متناسب با کیفیت پاسخ بود. ما از دادهها برای آموزش مدل "پاداش" استفاده میکنیم.
بنابراین، ورودی مدل پاداشها هم فوری و هم پاسخ توسط مدل خواهد بود (یک یا چند مدل ممکن است در اینجا دخیل باشند) و خروجی یک اسکالر خواهد بود که معیاری برای کیفیت پاسخ است.
ج) در مرحله 3 آموزش GPT، هم از مدل تنظیم شده نظارت شده مرحله 1 و هم از مدل پاداش استفاده می شود.
در اینجا ابتدا یک اعلان نادیده را به مدل تنظیم شده نظارت شده (آموزش داده شده در مرحله 1) ارسال میکنیم و سپس پاسخ را دریافت میکنیم. سپس کیفیت پاسخ را با استفاده از مدل پاداش که در مرحله 2 آموزش داده شد، ارزیابی میکنیم. رتبهای که به عنوان خروجی از مدل پاداش برمیگردد برای تنظیم دقیقتر مدل نظارت دقیق استفاده میشود.
اکنون اجازه دهید مرحله 2 آموزش ChatGPT را همانطور که در بالا با جزئیات توضیح داده شد، ابهامزدایی کنیم. بنابراین، ابتدا اجازه دهید سعی کنیم و درک کنیم که چرا ChatGPT ممکن است برای یک درخواست پاسخهای متفاوتی ایجاد کند.
2. چرا ChatGPT ممکن است پاسخ های متفاوتی را برای یک درخواست ایجاد کند؟
باید تاکید شود که ChatGPT ممکن است هر بار به شما پاسخ یکسانی برای درخواست (همان) شما ندهد. و دلیل ساده آن ChatGPT برای ایجاد یک پاسخ احتمالی نه قطعی آموزش داده شده است! برای ایجاد یک پاسخ احتمالی برای دستیابی به رفتاری شبیه به انسان آموزش داده شده است، زیرا انسانها تمایل دارند کلماتی را بیان کنند که ممکن است بهینهترین آنها در هر بار صحبت کردن نباشد.
برای درک بهتر این موضوع، اجازه دهید برخی از استراتژیهای رمزگشایی برای تولید پاسخ را روشن کنیم. ممکن است یادآوری شود که تولید یک پاسخ توسط یک مدل زبان با تولید یک نشانه در یک زمان انجام میشود. استراتژیهای زیر رایجترین راهبردهایی هستند که ممکن است هنگام تولید متن استفاده شوند:
· رویکرد حریصانه - رویکرد حریصانه از احتمالیترین پاسخ بر اساس دادههای آموزشی موجود استفاده میکند، اما ممکن است همیشه بهترین پاسخ را ایجاد نکند. به عنوان مثال، در prompt:
زمینه: این چای را امتحان کنید، من در هفته گذشته ۲ بار این سوال را پرسیدهام
پاسخ 1: اشکالی ندارد
پاسخ 2: این طعم عالی است!
در این حالت، با استفاده از یک پاسخ حریصانه، مدل پاسخ را انتخاب میکند: «این خوب است» به دلیل کلمه «است» در پاسخ 1 که بخشی از دادههای آموزشی است. این یک ضد شهود مبتنی بر رفتار انسان در پاسخ به پرس و جو است.
· نمونهگیری: در صورت رویکرد حریصانه، ما به دنبال یک فرآیند تصادفی هستیم تا از عمومی یا قطعی بودن پاسخ جلوگیری کنیم. به عنوان مثال، اگر بخواهیم اولین نشانه مربوط به یک پاسخ را تولید کنیم، رویکرد حریصانه همیشه نشانهای را با بالاترین احتمال همانطور که در بالا توضیح داده شد ارائه میدهد، در حالی که رویکردی مانند نمونهگیری تصادفی بر اساس همه جهانها/توکنهای ممکن بسیار تصادفی ایجاد می کند.
ما از نمونهگیری تصادفی با دما برای افزایش احتمال نشانههای احتمالی و کاهش موارد غیر احتمالی استفاده میکنیم - این رویکرد نمونهگیری دما "تصادفی کمتری" نسبت به استفاده از نمونهگیری تصادفی است و معمولاً از مقادیر دمایی بین 0 <= دما <= 1 استفاده میشود. مقدار دمای 1 به هیچ وجه هیچ تأثیری را نشان نمیدهد و این فرآیند مانند رویکرد حریصانه عمل خواهد کرد.
· نمونه برداری Top-K: در نمونهبرداری Top K، کلمه s را که احتمال کمتری دارد حذف میکنیم و از کلمات top-k برای نمونهگیری دما استفاده میکنیم.
این صفحه وب:https://platform.openai.com/playground بسیار جالب است و به شما امکان میدهد دما و مقادیر Top-K را تغییر دهید و تفاوت بین پاسخ های ChatGPT را مشاهده کنید!
شکل: ChatGPT پاسخهای متفاوتی را برای یک اعلان ایجاد میکند (به تغییر جمله آخر توجه کنید، زمانی که از ChatGPT میخواهید یک قطعه کد بنویسد/بهطور مشابه یک سؤال مفهومی، ممکن است پاسخهای متفاوتتری دریافت کنید)
3. برچسبزنان چگونه کیفیت پاسخها را برای آموزش مدل پاداش ارزیابی میکنند؟
بنابراین، از موارد بالا مشخص میشود که چگونه ChatGPT ممکن است همان درخواست را دریافت کند و در عین حال پاسخهای متفاوتی تولید کند، و این به دلیل ماهیت احتمالی مدلی است که به منظور تقلید از رفتار انسانمانند است.
در قسمت بعدی مرحله 2، برچسبها باید چندین پاسخ را رتبهبندی کنند. با رتبهبندی، برچسبها باید یک مقدار پاداش به پاسخ اختصاص دهند، زیرا این مقدار پاداش در مرحله 3 برای تنظیم دقیق مدل تنظیم شده نظارت شده این مرحله (مرحله 2) استفاده میشود.
اکنون باید به این سؤال پرداخته شود که - برای اینکه برچسبها پاسخها را رتبهبندی کنند - چگونه کیفیت پاسخ را تعیین میکنید؟
برچسبزنان کیفیت پاسخ را بر اساس پرسشنامه به شرح زیر ارزیابی میکنند:
شکل: تصاویری از رابط برچسبگذاری مرحله 2 آموزش ChatGPT: (الف) برای هر خروجی، برچسبزنان یک نمره لیکرت برای کیفیت کلی در مقیاس 1-7 میدهند (ب) پس از ارزیابی هر خروجی بهصورت جداگانه، برچسبزنان خروجی را برای یک محصول مشخص رتبهبندی سریع میکنند.
اسکرین شاتهای بالا از مقاله گرفته شده است: «آموزش مدلهای زبان برای پیروی از دستورالعملها با بازخورد انسانی» توسط OpenAI و در پیوند Github قابل یافتن است.
این مهم است زیرا ما میخواهیم ChatGPT درکی از موضوعات حساسی مانند: محتوای خشونتآمیز، محتوای مغرضانه یا محتوای غیراخلاقی جنسی داشته باشد. از همه برچسبزنان انسانی خواسته میشود که به پرسشنامه پاسخ دهند و سپس پاسخ جمعآوری میشود. پاسخها پر شده و فقط پاسخهای مربوط به اکثریت در نظر گرفته میشود. رتبهبندیها برای آموزش «مدل پاداش» استفاده میشوند.
مدل پاداش مشابه مدل تنظیم شده نظارت شده اما با خروجی اسکالر است. من به جزئیات بیشتر مدل پاداش نپرداختهام، اما جزئیات در مقاله پیوست شده در InstructGPT موجود است. این مدل پاداش (بعد از آموزش) سپس برای ارزیابی کیفیت پاسخ و تنظیم دقیق مدل دقیق مرحله 1 به منظور ایجاد پاسخهای بیشتر شبیه انسان که واقعی و سمی نیستند، استفاده میشود.
شکل: مراحل آموزش ChatGPT