Self-Instruct یک چارچوب نیمه خودکار است که برای بهبود قابلیتهای پیروی از دستورالعملهای مدلهای زبان از پیش آموزشدیده (LMs) با استفاده از توانایی خود برای تولید دادههای دستورالعمل مصنوعی طراحی شده است. این رویکرد اتکا به مجموعه دادههای برچسبگذاری شده توسط انسان را به حداقل میرساند و تنظیم دستورالعمل را مقیاسپذیرتر و متنوعتر میکند. در زیر یک نمای کلی از روش، مشارکت و پیامدهای آن ارائه شده است.
1. انگیزه
* چالشهای مربوط به دادههای دارای برچسب انسانی:
- دادههای دستورالعمل نوشته شده توسط انسان گران است، جمعآوری آنها زمانبر است و اغلب فاقد تنوع و خلاقیت است.
- مدلهای تنظیمشده با دستورالعملهای موجود مانند InstructGPT به شدت به دادههای کاربر خصوصی و حاشیهنویسیهای انسانی تکیه میکنند و دسترسی به تحقیقات گستردهتر را محدود میکنند.
شکل ۱: مروری بر سطح بالای خودآموز. این فرآیند با مجموعه کوچکی از وظایف به عنوان مجموعه وظایف شروع میشود. وظایف تصادفی از مجموعه وظایف نمونهبرداری میشوند و برای تحریک یک LM خارج از قفسه برای تولید دستورالعملهای جدید و نمونههای مربوطه، به دنبال فیلتر کردن نسلهای با کیفیت پایین یا مشابه استفاده میشوند و سپس به مخزن اولیه وظایف اضافه میشوند. دادههای به دست آمده را میتوان بعداً برای تنظیم دستورالعمل خود مدل زبان استفاده کرد تا دستورالعملها را بهتر دنبال کند. وظایف نشان داده شده در شکل توسط GPT3 تولید میشوند.
*هدف: یک روش کارآمد حاشیهنویسی برای تراز کردن LMها با دستورالعملها با بوت استرپ از خروجیهای خود مدل ایجاد کنید.
2. مشارکتهای کلیدی
- 1. چارچوب خودآموزی:
- خط لولهای که دستورالعملها، ورودیها و خروجیهای مصنوعی را از یک LM از پیشآموزش دیده تولید میکند.
- نمونههای نامعتبر یا اضافی را قبل از استفاده از آنها برای تنظیم دقیق مدل اصلی فیلتر میکند.
- 2. دستاوردهای عملکرد:
- بهبود 33 درصدی را نسبت به وانیلی GPT-3 در معیار Super-NaturalInstructions نشان میدهد.
- به عملکردی همتراز با InstructGPT-001 میرسد که با حاشیهنویسیهای انسانی گسترده آموزش داده شده است.
- 3. Open Dataset: مجموعه داده مصنوعی بزرگی از 52K دستورالعمل را منتشر میکند که امکان تحقیقات بیشتر در تنظیم دستورالعملها را فراهم میکند.
- 4. تراز بدون حاشیهنویسی: روشی تقریباً بدون حاشیهنویسی برای همسوسازی LMها با دستورالعملها ارائه میدهد که نیاز به مداخله انسان را به میزان قابل توجهی کاهش میدهد.
3. روششناسی
بررسی اجمالی خط لوله
فرآیند خودآموزی شامل سه مرحله اصلی است:
- 1. دستورالعمل بذر:
- با مجموعه کوچکی از وظایف نوشته شده به صورت دستی (مثلاً 175 کار در مطالعه) شروع کنید.
- اینها به عنوان پایهای برای ایجاد دستورالعملهای اضافی عمل میکنند.
- 2. تولید داده مصنوعی:
- از LM برای تولید دستورالعملهای جدید به همراه جفتهای ورودی-خروجی مربوطه استفاده کنید.
- وظایف به گونهای طراحی شدهاند که متنوع و خلاقانه باشند و دامنهها و سطوح دشواری مختلفی را پوشش دهند.
- 3. فیلتر کردن و اصلاح:
- نمونههای بی کیفیت یا اضافی را با استفاده از فیلترهای خودکار حذف کنید.
- برای تنظیم دقیق تکراری، نمونههای معتبر را دوباره به مجموعه داده اضافه کنید.
فرآیند تنظیم-دستورالعمل
- LM اصلی از قبل آموزش دیده را با استفاده از مجموعه دادههای انتخاب شده دستورالعملهای مصنوعی تنظیم کنید.
- برای بهبود هم ترازی با سیگنالهای آموزشی، فرآیند را به طور مکرر تکرار کنید.
4. نتایج
معیارهای عملکرد
- در معیار Super-NaturalInstructions:
- Self-Instruct نسبت به وانیلی GPT-3 به 33 درصد بهبود مطلق دست مییابد.
- تنها یک شکاف 5 درصدی را پشت سر InstructGPT-001 باقی میگذارد که بر دادههای خصوصی برچسبگذاری شده توسط انسان متکی است.
ارزیابی انسانی
- برای ارزیابی تعمیم از وظایف جدید نوشته شده توسط متخصص استفاده شد.
- مدلهایی که با Self-Instruct تنظیم شدهاند، با اختلاف زیادی از مدلهایی که در مجموعه دادههای دستورالعمل عمومی موجود آموزش دیدهاند، بهتر عمل میکنند.
5. مزایا
- 1. مقیاسپذیری: با تولید دادههای مصنوعی در مقیاس، وابستگی به حاشیهنویسیهای پرهزینه انسانی را کاهش میدهد.
- 2. تنوع: دستورالعملهای متنوع و خلاقانهتری را در مقایسه با مجموعه دادههای نوشته شده توسط انسان تولید میکند.
- 3. دسترسپذیری: تنظیم دستورالعمل را با در دسترس قرار دادن مجموعههای داده مصنوعی با کیفیت بالا برای عموم مردمسالاری میکند.
- 4. کارایی حاشیهنویسی: تلاش دستی را در حین دستیابی به عملکرد قابل مقایسه با مدلهای تحت نظارت شدید مانند InstructGPT به حداقل میرساند.
6. محدودیتها
- 1. وابستگی به کیفیت اولیه: کیفیت دستورالعملهای تولید شده به شدت به قابلیتهای LM پایه بستگی دارد.
- 2. خطر انتشار سوگیری: دادههای مصنوعی ممکن است سوگیریهای موجود در LM از قبل آموزش دیده را به ارث ببرند و به طور بالقوه آنها را در طول تنظیم دقیق تقویت کنند.
- 3. فقدان خلاقیت انسانی در موارد لبه: دستورالعملهای تولید شده توسط ماشین، در حالی که متنوع هستند، ممکن است هنوز فاقد مهارتهای ظریف یا حوزه تخصصی ارائه شده توسط انسان در کارهای تخصصی باشند.
شکل ۲: 20 رایجترین فعل ریشه (دایره داخلی) و 4 مفعول اسم مستقیم اصلی آنها (دایره بیرونی) در دستورالعملهای تولید شده. دستورالعملهایی که در اینجا نشان داده شدهاند، علیرغم تنوع، تنها 14 درصد از کل دستورالعملهای تولید شده را تشکیل میدهند، زیرا بسیاری از دستورالعملها (به عنوان مثال، «ردهبندی کنید آیا کاربر از سرویس راضی است یا خیر.») چنین ساختار فعل-اسمی ندارند.
7. برنامههای کاربردی
- 1. مدلهای پیروی از دستورالعمل: LMهایی مانند GPT-3 برای بهبود عملکرد Zero-Shot در کارهای غیرقابل تنظیم.
- 2. تطبیق ویژه وظایف: تطبیق سریع مدلهای از پیش آموزش دیده با دامنهها یا برنامههای جدید بدون مجموعه دادههای گسترده برچسبگذاری شده توسط انسان.
- 3. امکان تحقیق: با ارائه مجموعه دادهها و روشهای منبع باز، تحقیقات گستردهتر را در تنظیم دستورالعملها تسهیل میکند.
8. مقایسه با InstructGPT
ویژگی |
InstructGPT |
Self-Instruct |
منبع داده |
دادههای کاربر خصوصی + برچسبهای انسانی |
دادههای مصنوعی تولید شده توسط LM |
حاشیهنویسی تلاش |
بالا |
حداقل |
مقیاسپذیری |
محدود شده توسط منابع انسانی |
بسیار مقیاسپذیر |
عملکرد |
پیشرفته |
نزدیک به InstructGPT (5% شکاف) |
9. مسیرهای آینده
- 1. بهبود مکانیسمهای فیلتر: روشهای قویتری برای شناسایی نمونههای مصنوعی با کیفیت بالا ایجاد کنید.
- 2. کاهش تعصب: معرفی تکنیکهایی برای کاهش انتشار سوگیری در طول تولید دادههای مصنوعی.
- 3. تنظیم دستورالعمل چندوجهی: چارچوب Self-Instruct را به مدلهای چندوجهی که متن، تصویر یا صدا را به طور همزمان مدیریت میکنند، گسترش دهید.
- 4. پالایش تکراری در مقیاس: فرآیندهای تنظیم دقیق تکراری در مقیاس بزرگتر را برای بهبود بیشتر تراز و تعمیم کاوش کنید.
شکل ۳: عملکرد مدل GPT3 و انواع تنظیم شده توسط دستورالعمل آن، توسط متخصصان انسانی بر روی 252 دستورالعمل کاربر محور ما (4.4§) ارزیابی شده است. به ارزیابهای انسانی دستور داده میشود که پاسخهای مدلها را در چهار سطح رتبهبندی کنند. نتایج نشان میدهد که GPT3SELF-INST از سایر گونههای GPT3 که بر روی مجموعه دادههای دستورالعمل در دسترس عموم آموزش داده شدهاند، بهتر عمل میکند. علاوه بر این، GPT3SELF-INST تقریباً به خوبی InstructGPT001 امتیاز میگیرد.
نتیجهگیری
Self-Instruct چارچوبی نوآورانه برای تراز کردن مدلهای زبان با سیگنالهای آموزشی با استفاده از دادههای تولید شده توسط خود فراهم میکند، و به طور قابلتوجهی اتکا به حاشیهنویسیهای انسانی را کاهش میدهد و در عین حال به عملکرد رقابتی با مدلهای پیشرفتهی تنظیمشده دستورالعمل مانند InstructGPT دست مییابد. مقیاسپذیری، تنوع و دسترسی آن را به یک رویکرد امیدوارکننده برای پیشبرد قابلیتهای پیروی از دستورالعمل در LM تبدیل کرده است.
1. [HackMD Summary] (https://hackmd.io/@machineS/BkczQmSF3).
2. [Hugging Face Paper Page] (https://huggingface.co/papers/2212.10560).
3. [ACL Proceedings] (https://aclanthology.org/2023.acl-long.754.pdf).
4. [GitHub Repository] (https://github.com/yizhongw/self-instruct).
5. [YouTube Overview] (https://www.youtube.com/watch?v=FefyD2Vk-Wg).
[1] https://hackmd.io/@machineS/BkczQmSF3
[2] https://huggingface.co/papers/2212.10560
[3] https://aclanthology.org/2023.acl-long.754.pdf
[4] https://aclanthology.org/2023.acl-long.754/
[5] https://www.youtube.com/watch?v=FefyD2Vk-Wg
[6] https://arxiv.org/pdf/2305.03047.pdf
[7] https://arxiv.org/html/2305.03047v2