استراتژی های طراحی سریع

طراحی سریع به کاربرانی که تازه با یادگیری ماشینی (ML) آشنا هستند، خروجی مدل را با حداقل هزینه اضافی کنترل می‌کند. با ایجاد دقیق دستورات، می توانید مدل را برای ایجاد یک نتیجه دلخواه به حرکت درآورید. طراحی سریع یک روش کارآمد برای آزمایش با تطبیق یک مدل زبان برای یک مورد خاص است.

مدل‌های زبان، به‌ویژه مدل‌های زبان بزرگ (LLM)، بر روی مقادیر زیادی از داده‌های متنی برای یادگیری الگوها و روابط بین کلمات آموزش داده می‌شوند. وقتی مقداری متن (اعلان) داده می‌شود، مدل‌های زبان می‌توانند پیش‌بینی کنند چه چیزی احتمالاً در آینده خواهد آمد، مانند یک ابزار تکمیل خودکار پیچیده. بنابراین، هنگام طراحی اعلان‌ها، عوامل مختلفی را در نظر بگیرید که می‌توانند بر پیش‌بینی‌های بعدی یک مدل تأثیر بگذارند.

در حالی که هیچ راه درست یا غلطی برای طراحی اعلان وجود ندارد، استراتژی‌های رایجی وجود دارد که می‌توانید از آنها برای تأثیرگذاری بر پاسخ‌های مدل استفاده کنید. این بخش شما را با برخی از استراتژی های رایج طراحی سریع آشنا می کند.

دستورات واضح بدهید

دادن دستورالعمل های مدل به این معنی است که به مدل بگویید چه کاری انجام دهد. این استراتژی می تواند روشی موثر برای شخصی سازی رفتار مدل باشد. اطمینان حاصل کنید که دستورالعمل هایی که می دهید واضح و مختصر باشد.

اعلان زیر بلوکی از متن را ارائه می‌کند و به مدل می‌گوید آن را خلاصه کند:

مدل یک خلاصه مختصر ارائه کرد، اما شاید بخواهید خلاصه به گونه ای نوشته شود که درک آن آسان تر باشد. به عنوان مثال، دستور زیر شامل دستورالعملی برای نوشتن خلاصه ای است که به اندازه کافی ساده برای دانش آموز کلاس پنجمی قابل درک باشد:

دستورالعمل نوشتن خلاصه به طوری که دانش آموز کلاس پنجمی بتواند آن را بفهمد منجر به پاسخی می شود که درک آن آسان تر است.

خلاصه:

  • به مدل دستورالعمل هایی بدهید تا رفتار آن را سفارشی کنند.
  • هر دستورالعمل را واضح و مختصر بیان کنید.

مثال ها را درج کنید

می‌توانید نمونه‌هایی را در اعلان اضافه کنید که به مدل نشان می‌دهد که درست کردن آن چگونه است. مدل سعی می کند الگوها و روابط را از مثال ها شناسایی کند و آنها را برای شکل دادن به یک پاسخ به کار گیرد. دستورهایی که حاوی چند مثال هستند، اعلان‌های چند شات نامیده می‌شوند، در حالی که درخواست‌هایی که هیچ مثالی ارائه نمی‌کنند، درخواست‌های صفر شات نامیده می‌شوند. اعلان‌های چند شات اغلب برای تنظیم قالب‌بندی، عبارت‌بندی، محدوده‌بندی یا الگوی کلی پاسخ‌های مدل استفاده می‌شوند.

اعلان‌های صفر شات در مقابل چند شات

دستور زیر صفر شات از مدل می خواهد بهترین توضیح را انتخاب کند.

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

اعلان زیر دو مثال را ارائه می دهد که اولویت را به توضیحات کوتاه نشان می دهد. در پاسخ، می بینید که مثال ها مدل را به سمت انتخاب توضیح کوتاه تر (Explanation2) در مقابل توضیح طولانی تر (Explanation1) هدایت می کند.

تعداد بهینه مثال ها را بیابید

می‌توانید تعداد نمونه‌هایی را آزمایش کنید تا در اعلان برای مطلوب‌ترین نتایج ارائه کنید. مدل‌هایی مانند PalM اغلب می‌توانند با استفاده از چند مثال الگوها را انتخاب کنند، اگرچه ممکن است لازم باشد تعداد نمونه‌هایی که منجر به نتایج دلخواه می‌شوند را آزمایش کنید. برای مدل های ساده تر مانند BERT، ممکن است به مثال های بیشتری نیاز داشته باشید. در عین حال، اگر مثال های زیادی را وارد کنید، ممکن است مدل شروع به بیش از حد پاسخگویی به نمونه ها کند.

از مثال ها برای نشان دادن الگوها به جای آنتی الگوها استفاده کنید

استفاده از مثال‌ها برای نشان دادن الگوی الگوی پیروی به مدل مؤثرتر از استفاده از مثال‌هایی برای نشان دادن الگوی ضدالگوی مدل است.

الگوی منفی :

الگوی مثبت :

خلاصه:

  • گنجاندن نمونه‌های پاسخ سریع در اعلان به مدل کمک می‌کند یاد بگیرد که چگونه پاسخ دهد.
  • به جای نمونه هایی از الگوهایی که باید از آنها اجتناب کنید، نمونه هایی از الگوهایی را که باید دنبال شوند، ارائه دهید.
  • با تعداد دستورهایی که باید شامل شوند آزمایش کنید. بسته به مدل، نمونه های بسیار کمی در تغییر رفتار مدل بی اثر هستند. مثال های زیاد باعث می شود مدل بیش از حد مناسب شود.

اجازه دهید مدل ورودی جزئی را کامل کند

مدل‌های زبان مولد مانند یک ابزار تکمیل خودکار پیشرفته عمل می‌کنند. وقتی محتوای جزئی ارائه می‌کنید، مدل می‌تواند بقیه محتوا یا آنچه را که فکر می‌کند ادامه آن محتوا است به عنوان پاسخ ارائه کند. هنگام انجام این کار، اگر مثال یا زمینه‌ای را وارد کنید، مدل می‌تواند آن مثال‌ها یا زمینه را در نظر بگیرد.

مثال زیر یک دستور با یک دستورالعمل و یک ورودی موجودیت ارائه می دهد:

در حالی که مدل طبق خواسته عمل کرد، نوشتن دستورالعمل ها به زبان طبیعی گاهی اوقات می تواند چالش برانگیز باشد. در این مورد، می توانید یک مثال و یک پیشوند پاسخ بدهید و اجازه دهید مدل آن را کامل کند:

توجه کنید که چگونه "waffles" از خروجی حذف شد زیرا در متن به عنوان یک فیلد معتبر فهرست نشده بود.

از مدل بخواهید پاسخ خود را قالب بندی کند

استراتژی تکمیل همچنین می تواند به فرمت پاسخ کمک کند. مثال زیر مدل را وادار می کند تا یک طرح کلی مقاله ایجاد کند:

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

خلاصه:

  • اگر یک ورودی جزئی به مدل بدهید، مدل آن ورودی را بر اساس هر نمونه یا زمینه موجود در اعلان تکمیل می کند.
  • ممکن است گاهی اوقات انجام یک ورودی از مدل ساده تر از توصیف کار به زبان طبیعی باشد.
  • افزودن یک پاسخ جزئی به یک اعلان می تواند مدل را به پیروی از یک الگو یا قالب دلخواه راهنمایی کند.

اطلاعات متنی را اضافه کنید

می‌توانید دستورالعمل‌ها و اطلاعاتی را که مدل برای حل یک مشکل به آن نیاز دارد، به‌جای اینکه فرض کنید مدل تمام اطلاعات مورد نیاز را دارد، وارد کنید.

مثال زیر از مدل می خواهد که راهنمایی عیب یابی یک روتر را ارائه دهد:

این پاسخ مانند اطلاعات عیب‌یابی عمومی است که مختص روتر یا وضعیت چراغ‌های نشانگر LED نیست.

برای سفارشی‌سازی پاسخ برای روتر خاص، می‌توانید راهنمای عیب‌یابی روتر را به عنوان زمینه‌ای که هنگام ارائه پاسخ به آن مراجعه کند، به درخواست اضافه کنید.

خلاصه:

  • اطلاعات (زمینه) را در اعلان قرار دهید که می خواهید مدل هنگام ایجاد پاسخ از آن استفاده کند.
  • دستورالعمل های مدل را در مورد آنچه که باید انجام دهید را ارائه دهید.

اضافه کردن پیشوندها

پیشوند کلمه یا عبارتی است که شما به محتوای درخواستی اضافه می‌کنید و بسته به جایی که پیشوند را در آن قرار می‌دهید، می‌تواند اهداف مختلفی داشته باشد:

  • پیشوند ورودی: افزودن یک پیشوند به سیگنال های ورودی، قسمت های معنادار معنایی ورودی به مدل را نشان می دهد. به عنوان مثال، پیشوندهای "English:" و "French:" دو زبان مختلف را مشخص می کنند.
  • پیشوند خروجی: حتی اگر خروجی توسط مدل تولید می شود، می توانید یک پیشوند برای خروجی در اعلان اضافه کنید. پیشوند خروجی اطلاعات مدل را در مورد آنچه به عنوان پاسخ مورد انتظار است می دهد. به عنوان مثال، پیشوند خروجی "JSON:" به مدل سیگنال می دهد که خروجی باید با فرمت JSON باشد.
  • پیشوند مثال: در اعلان‌های چند شات، افزودن پیشوندها به نمونه‌ها برچسب‌هایی را ارائه می‌دهد که مدل می‌تواند هنگام تولید خروجی از آنها استفاده کند، که تجزیه محتوای خروجی را آسان‌تر می‌کند.

در مثال زیر، «Text:» پیشوند ورودی و «جواب است:» پیشوند خروجی است.

با مقادیر پارامترهای مختلف آزمایش کنید

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

  • حداکثر توکن های خروجی
  • درجه حرارت
  • Top-K
  • Top-P

حداکثر توکن های خروجی

حداکثر تعداد نشانه هایی که می توان در پاسخ ایجاد کرد. یک نشانه تقریباً چهار کاراکتر است. 100 نشانه تقریباً با 60-80 کلمه مطابقت دارد.

مقدار کمتری را برای پاسخ‌های کوتاه‌تر و مقدار بالاتر را برای پاسخ‌های طولانی‌تر مشخص کنید.

درجه حرارت

دما برای نمونه برداری در طول تولید پاسخ استفاده می شود، که زمانی اتفاق می افتد که topP و topK اعمال می شود. دما درجه تصادفی بودن انتخاب نشانه را کنترل می کند. دماهای پایین‌تر برای اعلان‌هایی که نیاز به پاسخ قطعی‌تر و خلاقانه‌تر دارند، خوب است، در حالی که دمای بالاتر می‌تواند منجر به نتایج متنوع‌تر یا خلاقانه‌تر شود. دمای 0 قطعی است، به این معنی که بالاترین پاسخ احتمال همیشه انتخاب می شود.

برای بیشتر موارد استفاده، سعی کنید با دمای 0.2 شروع کنید. اگر مدل یک پاسخ خیلی عمومی، خیلی کوتاه را نشان می‌دهد، یا مدل یک پاسخ بازگشتی می‌دهد، دما را افزایش دهید.

Top-K

Top-K نحوه انتخاب توکن ها را برای خروجی توسط مدل تغییر می دهد. top-K از 1 به این معنی است که نشانه انتخابی بعدی محتمل ترین نشانه در واژگان مدل است (که رمزگشایی حریص نیز نامیده می شود)، در حالی که بالا-K از 3 به این معنی است که نشانه بعدی از بین سه نشانه محتمل ترین انتخاب شده است. با استفاده از دما

برای هر مرحله انتخاب توکن، توکن های top-K با بیشترین احتمال نمونه برداری می شوند. سپس توکن‌ها بر اساس top-P فیلتر می‌شوند و نشانه نهایی با استفاده از نمونه‌گیری دما انتخاب می‌شود.

مقدار کمتری را برای پاسخ‌های تصادفی کمتر و مقدار بالاتر را برای پاسخ‌های تصادفی بیشتر تعیین کنید. پیش فرض top-K 40 است.

Top-P

Top-P نحوه انتخاب توکن ها را برای خروجی توسط مدل تغییر می دهد. توکن ها از بیشترین (به top-K) تا کمترین احتمال انتخاب می شوند تا زمانی که مجموع احتمالات آنها با مقدار top-P برابر شود. به عنوان مثال، اگر نشانه های A، B، و C احتمال 0.3، 0.2 و 0.1 داشته باشند و مقدار top-P 0.5 باشد، مدل A یا B را به عنوان نشانه بعدی با استفاده از دما انتخاب می کند و C را به عنوان حذف می کند. یک نامزد

مقدار کمتری را برای پاسخ‌های تصادفی کمتر و مقدار بالاتر را برای پاسخ‌های تصادفی بیشتر تعیین کنید. top-P پیش فرض 0.95 است.

استراتژی های تکرار سریع

طراحی سریع یک فرآیند تکراری است که اغلب قبل از اینکه پاسخ دلخواه را به طور مداوم دریافت کنید، به چند تکرار نیاز دارد. این بخش راهنمایی هایی را در مورد برخی از چیزهایی که می توانید هنگام تکرار در درخواست های خود امتحان کنید، ارائه می دهد.

از عبارت های مختلف استفاده کنید

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

به یک کار مشابه تغییر دهید

اگر نمی‌توانید مدل را مجبور کنید که دستورالعمل‌های شما را برای یک کار دنبال کند، سعی کنید دستورالعمل‌هایی را برای یک کار مشابه که به همان نتیجه می‌رسد، به آن بدهید.

این اعلان به مدل می گوید که کتاب را با استفاده از دسته بندی های از پیش تعریف شده دسته بندی کند.

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

ترتیب محتوای سریع را تغییر دهید

ترتیب محتوا در اعلان گاهی اوقات می تواند بر پاسخ تأثیر بگذارد. سعی کنید ترتیب محتوا را تغییر دهید و ببینید که چگونه بر پاسخ تاثیر می گذارد.

Version 1:
[examples]
[context]
[input]

Version 2:
[input]
[examples]
[context]

Version 3:
[examples]
[input]
[context]

پاسخ های بازگشتی

پاسخ بازگشتی پاسخی است که توسط مدل زمانی که درخواست یا پاسخ یک فیلتر ایمنی را راه‌اندازی می‌کند، برگردانده می‌شود. نمونه ای از پاسخ برگشتی این است که "من نمی توانم در این مورد کمک کنم، زیرا من فقط یک مدل زبان هستم."

اگر مدل با پاسخ برگشتی پاسخ داد، سعی کنید دما را افزایش دهید.

چیزهایی که باید اجتناب کرد

  • از تکیه بر مدل ها برای تولید اطلاعات واقعی خودداری کنید.
  • با دقت در مسائل ریاضی و منطقی استفاده کنید.

مراحل بعدی

  • اکنون که درک عمیق‌تری از طراحی سریع دارید، سعی کنید درخواست‌های خود را با استفاده از Google AI Studio بنویسید.
  • برای آشنایی با اعلان چندوجهی، به نمای کلی مفاهیم چندوجهی مراجعه کنید.