مهندسی پرامپت چیست؟
بهطور خلاصه، پرامپت در حوزه هوش مصنوعی، به فرایند ورود و ارسال جزئیات درخواست به هوش مصنوعی گفته میشود تا هوش مصنوعی دریافتکنندهی پرامپت براساس جزئیاتی که در آن مشخص شده است، خروجی را تحویل دهد. پرامپت میتواند کلمه، عبارت، جمله یا حتی یک تصویر باشد.
مهندسی پرامپت به چه معناست؟
تصور کنید در حال گفتوگو با یک ماشین هستید؛ شما یک پرسش مطرح میکنید و در پاسخ، ماشین با اطلاعات یا اقدامات مناسب واکنش نشان میدهد. طرز پرسشکردن شما ماهیت مهندسی پرامپت است. این حوزه به خلق پرسشها یا دستورعملهایی میپردازد که بهطور مؤثر مدلهای هوش مصنوعی، بهویژه مدلهای بزرگ زبانی، را برای دستیابی به خروجیهای مدنظر هدایت میکند. چه علاقهمند به فناوری باشید و مشتاق دانستن آخرین پیشرفتهای AI و چه یک حرفهای در جستوجوی استفاده از تواناییهای مدلهای زبانی، درک عمیق مهندسی پرسش برای شما ضروری است.
مهندسی پرسش یا مهندسی پرامپت عمل طراحی و اصلاح پرسشها، سؤالات یا دستورعملها برای دریافت پاسخهای مشخص از مدلهای هوش مصنوعی است. این فرایند را بهعنوان رابط میان نیت انسانی و خروجی ماشین در نظر بگیرید.
در عرصه وسیع هوش مصنوعی، جایی که مدلها با دادههای عظیم آموزش میبینند، یک پرسش درست میتواند تفاوت میان فهمیدن درخواست شما یا برداشت اشتباه از آن را ایجاد کند.
برای مثال، اگر شما تا به حال با دستیارهای صوتی مانند سیری یا الکسا تعامل کرده باشید، در یک شکل پایهای از مهندسی پرسش شرکت کردهاید. نحوه بیان درخواست شما مثلاً موسیقی آرامشبخش پخش کن، در مقابل سمفونی بتهوون را پخش کن، میتواند نتایج بسیار متفاوتی به همراه داشته باشد.
جنبه فنی مهندسی پرامپت
مهندسی پرامپت، درحالیکه در هنر زبان ریشه دارد، بهشدت با جزئیات فنی مدلهای هوش مصنوعی گره خورده است. در اینجا نگاه دقیقتری به جنبه فنی میاندازیم:
معماریهای مدل
مدلهای زبان بزرگ مانند GPT و PaLM2 گوگل (جمنای را قدرت میبخشد) بر پایه معماریهای مبدل ساخته شدهاند. این معماریها به مدلها اجازه میدهند که حجم عظیمی از دادهها را مدیریت کنند و ازطریق مکانیزمهای خودتوجه، متن را درک کنند. طراحی پرسشهای مؤثر اغلب به درک این معماریهای زیربنایی نیازمند است.
دادههای آموزشی و توکنسازی
LLMها با دادههای وسیع آموزشدیده دادههای ورودی را به قطعههای کوچکتر (توکنها) برای پردازش تقسیم میکنند. انتخاب توکنسازی (براساس کلمه، جفت بایت و غیره) میتواند بر تفسیر مدل از یک پرسش تأثیری بگذارد؛ برای مثال، یک کلمه که بهشکل متفاوتی توکنسازیشده ممکن است خروجیهای متفاوتی ایجاد کند.
پارامترهای مدل
LLMها میلیونها، اگر نه میلیاردها، پارامتر دارند. این پارامترها که در طی فرایند آموزش تنظیم میشوند، تعیین میکنند که مدل چگونه به یک پرسش پاسخ میدهد. درک رابطه میان این پارامترها و خروجیهای مدل میتواند در طراحی پرسشهای مؤثرتر کمک کند.
تنظیمات Temperature و نمونهبرداری Top-k
هنگام تولید پاسخها، مدلها از تکنیکهایی مانند تنظیم دما (Temperature) و نمونهبرداری Top-k برای تعیین تصادفیبودن و تنوع خروجیها استفاده میکنند؛ برای مثال، دمای بالاتر ممکن است پاسخهای متنوعتری (اما احتمالاً کمدقتتر) ایجاد کند. مهندسان پرسش اغلب این تنظیمات را برای بهینهسازی خروجیهای مدل تنظیم میکنند.
توابع زیان و شیبها
در سطح عمیقتر، رفتار مدل در پاسخ به پرسش تحتتأثیر توابع زیان و شیبهای آن قرار دارد. این سازههای ریاضی فرایند یادگیری مدل را هدایت میکنند. درحالیکه مهندسان پرسش معمولاً بهطور مستقیم اینها را تنظیم نمیکنند، درک تأثیر آنها میتواند بینشهایی درمورد رفتار مدل ارائه کند.
پرامپت نویسی زبان ارتباط میان انسان و هوش مصنوعی است.
آکادمی سافتک
مؤلفههای کلیدی یک دستور یا Prompt
بیایید به جنبههایی که یک دستور خوب را تشکیل میدهند نگاهی بیندازیم:
دستورعمل
این هسته اصلی دستور است. به مدل میگوید که شما چه انتظاری دارید انجام دهد؛ برای مثال، «متن زیر را خلاصه کنید» یک عمل مشخص برای مدل فراهم میکند.
زمینه
زمینه اطلاعات اضافی را فراهم میکند که به مدل کمک میکند تا سناریوی گستردهتر یا پسزمینه را درک کند؛ برای مثال، «با توجه به رکود اقتصادی، مشاوره سرمایهگذاری ارائه دهید» به مدل پسزمینهای میدهد که در آن پاسخ خود را قالببندی کند.
دادههای ورودی
این دادههای خاصی هستند که شما میخواهید مدل پردازش کند. ممکن است یک پاراگراف، مجموعهای از اعداد یا حتی یک کلمه باشد.
نشانگر خروجی
بهخصوص در سناریوهای نقشآفرینی این عنصر به مدل درباره قالب یا نوع پاسخ مدنظر راهنماییهایی را ارائه میکند؛ برای مثال، «با سبک شکسپیر، این جمله را بازنویسی کنید» به مدل یک جهت سبکی میدهد.
ساختار اساسی در پرامپت نویسی
یک پرامپت کامل را بهطور کلی میتوان به چند بخش اساسی تقسیم کرد که شامل هدف یا تکلیف (Task)، دستورالعمل (Instructions)، زمینه و مفاد (Context)، تنظیمات و پارامترها (Parameters and Settings) و در آخر ورودی (Input) میشود.
هدف و تکلیف (Task): به اصلیترین پردازش و فرایندی که هوش مصنوعی برای انجام آن توسعه داده شده، اشاره دارد. درواقع، هسته و هدف اصلی درخواست را Task میگویند که میتواند پاسخ به پرسش، تولید محتوای خلاقانه یا تولید عکس با هوش مصنوعی و… باشد.
دستورالعمل (Instructions): پس از مشخصکردن هدف، لازم است به سیستم هوش مصنعی دستورالعمل دقیق خود را اعلام کنید تا از آن طریق شما را به هدف برساند. دستورالعمل میتواند ساده یا پیچیده باشد یا حتی کل تعاملات را پوشش دهد، تمام خواص و صفات خروجی و البته فرمت آن را نیز در خود داشته باشد و گامهای متعددی را در بر بگیرد.
دستورالعمل نقشه راهی برای مدل هوش مصنوعی ترسیم میکند تا مطابق آن شما را به سرمنزل مقصود برساند. برای مثال، اگر تکلیف (Task) را نوشتن شعر درنظر بگیریم، دستورالعمل شامل تعداد ابیات و نوع قافیهبندی میشود.
زمینه (Context): شامل اطلاعات پسزمینه یا موقعیتی میشود که تسک را در بر میگیرد. درواقع، جزئیات بیشتری درباره تسک به مدل هوش مصنوعی ارائه میکند. لزوماً نیاز به نوشتن متن توصیفی نیست و میتوانید این اطلاعات را در قالب تصویر دراختیار هوش مصنوعی قرار دهید.