مهندسی سریع: مفاهیم کلیدی و موارد استفاده
مهندسی سریع یک عنصر ضروری در توسعه، آموزش و استفاده از مدلهای زبان بزرگ (LLM) است و شامل طراحی ماهرانه دستورات ورودی برای بهبود عملکرد و دقت مدل است.
در این پست، به این خواهیم پرداخت که چرا مهندسی سریع اخیراً بسیار محبوب شده است، و چرا احتمالاً با رشد برنامههای دارای LLM ضروریتر میشود.
مهندسی سریع چیست؟
مهندسی سریع، تمرین توسعه و اصلاح ورودی مدلهای هوش مصنوعی مولد مانند ChatGPT، GPT-3، DALL-E، Stable Diffusion، Midjourney و غیره است. هدف نهایی مهندسی سریع بهبود عملکرد مدل زبان با ارائه ورودی های ساختار یافته، مختصر و متناسب با شغل یا برنامه ای است که مدل برای آن طراحی شده است.
مهندسی سریع اغلب شامل انتخاب دقیق کلمات و عبارات موجود در اعلان و همچنین ساختار کلی و سازماندهی ورودی برای دستیابی به این هدف است. این رویکرد سیستماتیک برای مهندسی سریع ضروری است، زیرا حتی اصلاحات کوچک در دستور سریع می تواند تأثیر عمده ای بر نتیجه داشته باشد.
مهندسی سریع مؤثر به درک عمیقی از قابلیتها و محدودیتهای مدلهای زبان بزرگ (LLM) و همچنین توانایی ساخت اعلانهای ورودی جذاب نیاز دارد. علاوه بر این، مهندسی سریع اغلب شامل فراهم کردن زمینه برای LLM است تا بتواند پاسخهای منسجمی را ایجاد کند، مانند استفاده از اسناد خارجی یا دادههای اختصاصی یا چارچوببندی ورودی بهگونهای که به مدل کمک میکند تا زمینه را درک کند.
به طور خلاصه، مهندسی سریع یک مؤلفه مهم در برخورد با LLM است و به دانش عمیق در مورد فناوری اساسی، دقت در جزئیات و استعداد برای ایجاد درخواستهای ورودی با کیفیت بالا نیاز دارد.
مهندسی سریع: شرایط کلیدی
LLM ها نوعی هوش مصنوعی هستند که بر روی حجم عظیمی از داده های متنی آموزش دیده اند تا پاسخ هایی شبیه انسان به ورودی های زبان طبیعی ایجاد کنند.
LLM ها با ظرفیتشان برای تولید نوشتار با کیفیت بالا و منسجم که اغلب از نوشته های یک انسان قابل تشخیص نیست متمایز می شوند. این عملکرد پیشرفته با آموزش LLM بر روی مجموعه بزرگی از متن، اغلب چندین میلیارد کلمه، به دست می آید و به آن اجازه می دهد تا پیچیدگی های زبان انسانی را درک کند.
در زیر چندین اصطلاح کلیدی مربوط به مهندسی سریع و LLM وجود دارد که با الگوریتمهای اصلی مورد استفاده در LLM شروع میشود:
- جاسازی کلمه یک رویکرد اساسی است که در LLM ها استفاده می شود، زیرا برای نمایش معنای کلمات به صورت عددی استفاده می شود که متعاقباً می تواند با مدل هوش مصنوعی تجزیه و تحلیل شود.
- مکانیسمهای توجه الگوریتمهای LLM هستند که به هوش مصنوعی اجازه میدهند بر روی عناصر خاصی از متن ورودی، مانند عبارات مربوط به احساسات، تمرکز کند و در عین حال خروجی ایجاد کند.
- ترانسفورماتور یک نوع رایج طراحی شبکه عصبی در تحقیقات LLM است که دادههای ورودی را از طریق تکنیکهای توجه به خود پردازش میکند.
- تنظیم دقیق فرایند تطبیق یک LLM برای یک کار یا موضوع خاص با آموزش آن بر روی یک مجموعه داده کوچکتر و مرتبط است.
- مهندسی سریع طراحی خبره درخواستهای ورودی برای LLMها برای ارائه خروجیهای با کیفیت بالا و منسجم است.
- تفسیرپذیری توانایی درک و توضیح خروجیها و تصمیمهای یک سیستم هوش مصنوعی است که به دلیل پیچیدگی آنها اغلب یک چالش و حوزه تحقیقاتی مداوم برای LLMها است.
عناصر فرمانها
- دستورالعملها: هدف اصلی درخواست ارائه دستورالعملهای واضح برای مدل زبان است.
- Context: Context اطلاعات بیشتری را برای کمک به LM در تولید خروجی مرتبطتر میدهد. این اطلاعات می تواند از منابع خارجی باشد یا توسط کاربر ارائه شود.
- دادههای ورودی: دادههای ورودی درخواست یا درخواست کاربر است که ما به آن پاسخ میخواهیم.
- نشانگر خروجی: این فرمت پاسخ را مشخص میکند.
مهندسی سریع: مثالها
بیایید نگاهی به نمونههای مهندسی سریع از اعلانهای عالی ChatGPT منبع GitHub.
مفسر پایتون
میخواهم مانند یک مفسر پایتون عمل کنید. من کد پایتون را به شما می دهم و شما آن را اجرا می کنید. هیچ توضیحی ارائه نده. با هیچ چیز به جز خروجی کد پاسخ ندهید. اولین کد این است: “print(‘Hello World!’)”
Prompt Generator
از شما میخواهم که بهعنوان یک مولد سریع عمل کنید. در ابتدا، من به شما عنوانی مانند این می دهم: «به عنوان کمک کننده تلفظ انگلیسی عمل کنید». سپس به من پیامی مانند این میدهید: «از شما میخواهم به عنوان یک دستیار تلفظ انگلیسی برای افراد ترک زبان عمل کنید. من جملات شما را می نویسم و شما فقط به تلفظ آنها پاسخ می دهید و نه چیز دیگر. پاسخ ها نباید ترجمه جملات من باشند بلکه فقط باید تلفظ شوند. در تلفظ باید از حروف لاتین ترکی برای آوایی استفاده شود. روی پاسخ ها توضیح ننویسید. اولین جمله من این است: «آب و هوای استانبول چگونه است؟ “.” (شما باید دستور نمونه را با توجه به عنوانی که من دادم تطبیق دهید. درخواست باید خود توضیحی و متناسب با عنوان باشد، به مثالی که برای شما آوردم مراجعه نکنید.). عنوان اول من “عمل به عنوان کمک کننده بازبینی کد” است (فقط به من درخواست بدهید)
همچنین میتوانیم تعدادی الگوی درخواست را در پیدا کنیم OpenAI Playground.
مهندسی سریع: نقشها
همانطور که در این موارد میبینید، هر سؤال شامل «نقش» است، که جنبه مهمی برای هدایت ربات چت است، همانطور که در نسخه ChatGPT API دیدیم. نقش های متعددی وجود دارد که باید ایجاد شوند:
- سیستم: پیام «سیستم» رفتار کلی دستیار را کنترل میکند. برای مثال، «شما ChatGPT هستید، یک مدل زبان بزرگ که توسط OpenAI آموزش دیده است». تا حد امکان با کمترین کلمه پاسخ دهید. بریده دانش: {knowledge_cutoff} تاریخ کنونی: {current_date}“
- کاربر: این پیامها دستورالعملهای دقیقی را به کمک کننده میدهند. این بیشتر توسط کاربران نهایی برنامه مورد استفاده قرار می گیرد، اما همچنین می تواند توسط توسعه دهندگان برای سناریوهای استفاده خاص کدگذاری شود.
- دستیار: پیام دستیار پاسخهای گذشته ChatGPT را ذخیره میکند یا ممکن است توسط توسعهدهندگان برای ارائه نمونههایی از رفتار دلخواه ارائه شود.
در اینجا مثالی از ظاهر درخواست ChatGPT API آمده است:
answer = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
پیام ها=[
{"role": "system", "content": "شما یک دستیار مفید هستید."},
{"role": "user"، "content": "چه کسی برنده سریال جهانی در سال 2020 شد؟"}،
{"role": "assistant"، "content": "Los Angeles Dodgers برنده مسابقات جهانی در سال 2020 شد."},
{"role": "user"، "content": "Where پخش شد؟"}
]
)
مهندسی اعلان: پارامترها
علاوه بر ساخت دقیق قسمت نوشته شده یک اعلان، چندین پارامتر مهندسی سریع وجود دارد که باید هنگام کار با LLM در نظر گرفت. برای مثال، بیایید به پارامترهای API موجود برای تکمیلهای GPT-3 در OpenAI Playground نگاه کنیم:
- مدل: مدلی که برای تکمیل متن استفاده میشود، یعنی text-davinci-003
- دما: دمای پایینتر واکنشهای قابل پیشبینی و تکراریتری را ارائه میدهد.
- حداکثر طول: حداکثر تعداد نشانههای تولید شده، بر اساس مدل متفاوت است، اما ChatGPT اجازه میدهد 4000 نشانه (تقریباً 3000 کلمه) بین اعلان و تکمیل به اشتراک گذاشته شود (1 نشانه = 4 نویسه) .
- توقف دنبالهها: حداکثر چهار دنباله که در آنها API پاسخها را نمیدهد.
- P بالا: به توزیع احتمال محتملترین گزینهها برای یک تصمیم یا پیشبینی معین اشاره دارد، یعنی 0.5 به این معنی است که نیمی از تمام گزینههای وزندار احتمال در نظر گرفته میشوند.
- جریمه فراوانی: برای جلوگیری از تکرار یک کلمه یا تجزیه بیش از حد در مدل استفاده میشود. جریمه فرکانس به ویژه برای ایجاد متن طولانی در زمانی که می خواهید از تکرار جلوگیری کنید مفید است.
- جریمه حضور: این شانس را افزایش میدهد که مدل در مورد موضوعات جدید بحث کند، به عنوان مثال میزان جریمه کردن نشانههای جدید بسته به اینکه قبلاً در متن بودهاند یا نه.
- بهترین: این در سرور برای ایجاد تکمیلهای متعدد و تنها نشان دادن بهترین نتایج استفاده میشود. تکمیل جریان تنها زمانی در دسترس است که روی 1 تنظیم شود.
به طور خلاصه، هر مورد استفاده از مهندسی سریع مجموعهای از پارامترهای بهینه خود را برای به دست آوردن نتایج مورد نظر دارد، بنابراین یادگیری در مورد تنظیمات پارامترهای مختلف و تلاش برای بهینهسازی عملکرد بسیار مهم است.
همچنین میتوانید افزونه های ChatGPT: مفاهیم و موارد استفاده.
مهندسی سریع: موارد استفاده
اکنون که اصول اولیه را پوشش دادیم، در اینجا برخی از معمولی ترین کارهای مهندسی سریع آورده شده است:
- خلاصه متن: می توان از آن برای استخراج نکات ضروری از یک مقاله یا سند استفاده کرد.
- پاسخ به سؤالات: هنگام تعامل با اسناد یا پایگاههای اطلاعاتی خارجی مفید است.
- طبقه بندی متن: برای برنامه هایی مانند تجزیه و تحلیل احساسات، استخراج موجودیت و غیره مفید است.
- نقشبازی: شامل ایجاد متنی است که تبدیل را برای موارد استفاده خاص و انواع شخصیتها (آموزگاران، درمانگران، تحلیلگران و غیره) شبیهسازی میکند.
- تولید کد: قابل توجه ترین آنها GitHub Copilot است
- استدلال: برای ایجاد نوشتاری که تواناییهای منطقی یا حل مسئله، مانند تصمیمگیری را نشان میدهد، خوب است.
این مقاله به شما کمک می کند تا در مورد مهندسی سریع بیاموزید. ما اطمینان داریم که برای شما مفید بوده است. لطفاً نظرات و انتقادات خود را در بخش نظرات زیر به اشتراک بگذارید.
ادامه خواندن