از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 6 ویدیوی آموزشی Pista Academy، مدرس به مفهوم کانتکست در مدلهای زبانی بزرگ پرداخته است. کانتکست به اطلاعاتی گفته میشود که به مدل در اختیار قرار داده میشود تا بتواند جواب مناسبی ارائه دهد. این اطلاعات میتواند شامل دستورالعملها، پیغامهای قبلی کاربر، دادههای آپلود شده، مثالها و اطلاعات دیگر باشد. همچنین، محدودیتی به نام کانتکست ویندو وجود دارد که حداکثر مقدار اطلاعاتی است که مدل در یک لحظه میتواند پردازش کند. تفاوت بین کانتکست و مموری حافظه نیز توضیح داده شده است.
نکات کلیدی
کانتکست اطلاعاتی است که به مدل در اختیار قرار داده میشود تا بتواند جواب مناسبی ارائه دهد.
کانتکست ویندو محدودیتی است که حداکثر مقدار اطلاعاتی است که مدل در یک لحظه میتواند پردازش کند.
کانتکست متفاوت از مموری حافظه است و هر کدام به منظور کارایی مدل به کار میرود.
دادههای آپلود شده، دستورالعملها و مثالها میتوانند جزء کانتکست باشند.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
کانتکست اطلاعاتی است که به مدل در اختیار قرار داده میشود تا بتواند جواب مناسبی ارائه دهد.
کانتکست ویندو محدودیتی است که حداکثر مقدار اطلاعاتی است که مدل در یک لحظه میتواند پردازش کند.
کانتکست اطلاعاتی است که به مدل در اختیار قرار داده میشود، در حالی که مموری حافظه به یادگیری مدل از اطلاعات قبلی اشاره دارد.
آخرین بهروزرسانی محتوای متنی:
آموزش عملی Prompt Engineering با ChatGPT، Claude و مدلهای متنباز توضیحات دوره مدلهای زبانی مانند ChatGPT و Claude زمانی بهترین نتیجه را ارائه میدهند که بتوانیم خواسته خود را دقیق، ساختاریافته و قابل ارزیابی بیان کنیم. در این دوره، مهندسی پرامپت را از مفاهیم پایه شروع میکنید و قدمبهقدم به تکنیکهای پیشرفته، مدلهای استدلالی، ارزیابی پرامپتها و ساخت پروژههای واقعی میرسید. در ابتدای دوره با مدلهای زبانی بزرگ و نحوه عملکرد آنها آشنا میشوید و یاد میگیرید چگونه ابزار مناسب را از میان ChatGPT، Claude و مدلهای متنباز مانند Llama انتخاب و راهاندازی کنید. سپس اصول طراحی یک پرامپت حرفهای، شامل تعریف نقش، ارائه زمینه، نوشتن دستورالعمل دقیق، تعیین محدودیتها و مشخصکردن قالب خروجی را فرا میگیرید. در ادامه، موضوعات مهمی مانند خطاهای مدلهای هوش مصنوعی، توهم یا Hallucination، Prompt Injection، Jailbreak، Guardrailها، پارامترهای مدل و روشهای افزایش دقت و کنترلپذیری پاسخها بررسی میشوند. همچنین با قابلیتهای چندرسانهای، ابزارها، مدلهای متنباز، تکنیکهای پیشرفته پرامپتنویسی و مدلهای استدلالی آشنا خواهید شد. این دوره تنها به آموزش مفاهیم تئوری محدود نیست. در طول مسیر، با انجام پروژههایی مانند ساخت بازی، طراحی یک دستیار شغلی و کار با عاملهای هوشمند، آموختههای خود را در سناریوهای واقعی به کار میگیرید. در بخشهای پایانی نیز روش تست، مقایسه و ارزیابی پرامپتها و مدلها را یاد میگیرید و با ابزار Promptfoo برای ساخت آزمونهای حرفهای آشنا میشوید. در پایان دوره میتوانید برای کاربردهای مختلف، پرامپتهای دقیق و قابلاعتماد طراحی کنید، خروجی مدلهای هوش مصنوعی را ارزیابی و بهینهسازی کنید و از مدلهای زبانی برای ساخت ابزارها، دستیارها و پروژههای هوشمند استفاده کنید. #مهندسی_پرامپت #پرامپت_نویسی #هوش_مصنوعی #ChatGPT #PromptEngineering #LLM #ClaudeAI #Llama #AIAgents #PistaAcademy
و خیلی هم مهمه. ما باید کانتکستو بدونیم
یعنی چی.
میگه که توی بحث ال ام کانتکست اون
اطلاعاتیه که شما در اختیار مدل قرار
میدید برای اینکه بتونه جواب رو ایجاد
بکنه
میگه کانتکست حالا مثالشو الان بریم پایینتر ببینیم براتون جا میفته منظور
چیه
کانتکست حالا بذار یه مثال بزنم برای
اینکه حالا ذهنتون باز بشه
مثلاً شما میخواید بیاید از چت جی بیتی
بپرسید که بهترین رستوران
مثلاً اطراف من چیه؟
خب وقتی این سؤالو ازش بپرسید خب قطعاً
چجی جوابی بهتون میده اما شما اطلاعات
خوبی رو در اختیار چتجی بیتی قرار ندادید
برای این کهه جواب رو
یه جواب خوب بهتون بده اصطلاحاً اینجا
باید کانتکستی که در اختیار اون مدلتون
قرار دادید کانتکست خوب و کاملی نیست
اگر کانتکستتونو تکمیل بکنید جواب بهتری
میگیرید مثلاً بگید که من از شهر تهران
زندگی میکنم. دنبال یه رستورانی هستم که
غذای سنتی داشته باشه، قیمت مناسبی داشته
باشه، محیط آرامی داشته باشه، مثلاً فضای
پارک خوبی داشته باشه و و همینوری اطلاعات
بیشتر بهش بدید. وقتی کانتکستون بیشتر بشه
جوابی هم که دریافت میکنید جواب بهتریه.
این مفهومو خواستم بهتون برسم که وقتی
میگم کانتکست
یعنی اطلاعاتی که مدل میدید یعنی چی؟
اما کانتکست شامل چه چیزایی میتونه باشه؟
میتونه شامل مثلاً دستورالعملها باشه.
دستورالعمل سیستم
اطلاعات پیغام الان کاربر میتونه باشه
پیغامهای قبلی کاربر باشه یه مواقع شما
مثلاً یه سری داکومنتو بهش میدید آپلود
میکنید یا پیست میکنید روش
امکان داره یه سری مثال بهش بدید که بده
بیشتر بفهمونید بهش که منظورتون چیه.
اطلاعاتی که از دیتابیسهای ابزارهای سرچ
امکان داره دریافت بشه و حالا چیزای دیگه
مدل میگه که از این اطلاعات استفاده میکنه برای فهمیدن اینکه دقیقاً مفهوم
منظور کاربر چیه و تصمیم بگیره که چه
متنیو جنریت میکنه
اینجام یه جملهای نوشته میشه کانتکست اون اطلاعات
کاری موقت یک مدله.
بریم حالا مثالی که خودش زده رو با هم
ببینیم.
میگه که یوزر میگه مای نیمز سارا.
بعد در ادامه ازش میپرسه که اسم من چیه؟
مدل جواب میده که اسم شما سارا.
چرا تونست این سؤالو جواب بده مدرن؟ چون
شما قبلش یک دیتایی رو بهش داده بودید.
یعنی اینجا برگشتیم به این حالت این آشش اطلاعات قبلی که بهش داده بودیم از اونجا
تونست بفهمه که اسم من چیه
بریم با همدیگه یه مثال دیگه ببینیم من برشم مدلم گفتم که گرونه خب مدل از کجا
بدون منظور من چیه چی گرونه
خب واقعاً نمیدونه دیگه
اما بیایم یه کانورسیشن دیگه در نظر
بگیریم یه
مکالمه دیگه در نظر بگیریم یوزر میگه که
من دارم در رابطه با خرید یک لپتاپ جدید
به قیمت حدود ۳۰۰ دلار فکر میکنم
بعد در ادامهش میگه که اما فکر میکنم
گرونه خب الان مدل فهمید منظور شما از
گرونه یعنی چی منظورتون لپتاپست خب خب پس
خیلی مهمه کانتکست شما زمانی که دارید یک
پرامپتی رو به مدل میدید سعی کنید
پرامپتتون کامل باشه
یعنی مفهوم رو کامل برسونه بهش
الان یه دونه مثال براتون نشون میدم
یه لحظه خب اینجا نگاه کنید بچهها مثلاً الان این
یه پروژهای که همین الان من دارم با ایآی
انجام میدم یعنی همزمان که دارم ویدیو زدم
ضبط میکنم تو یه مانیتور دیگه هم دارم یه
پروژهای رو با ایآی جلو میبرم. این
نمونه پرامپتی که من بهش دادم
یعنی تماماً اومدم
در حقیقت پرامت رو صفحه به صفحه نوشتم
براش اصلاً اینو من خودم ننوشتم باز برای
نوشتنهم از ایآر کمک گرفتم ولی یه نمونه
پرامپت کاملو که بهش گفتم دقیقاً چیکار
بکنه خب که قسمتهای مختلفی داره یعنی
کامل با اگزمپل با دیتیل با جزئیات بهش
اصطلاحاً کانتکست پرباری دادم
و ازش خواستم که در حقیقت اون کاری که
میخوامو انجام بدم.
خب پس خیلی مهمه شما زمانی که دارید از یک
مدل سؤال میپرسید اطلاعاتتون اطلاعات
درست و کاملی باشه. یه چالشی که توی
چتباتهای هوش مصنوعی وجود داره همینه.
مثلاً شما فرض کن فرض کنید برای یه سرویسی
اومدید یه چتبات آوردید بالا کاربرد
مینویسه که من مشکل دارم. خب چه مشکلی
داری؟ اصلاً تو کی هستی؟ خب و اینجا تازه
مدل من باید شروع بکنه ازش سؤال پرسیدن.
این یه هزینهای دارهها این اگه کاربر
ابتدای ام وقتی میاد با یه کانتکست خوب
بیاد سؤالشو بپرسه خب همون اول جوابشو
میگیره. لازم نیست چند بار هی رفت و
برگشت بکنه ولی خب معمولاً کاربرا وقتی
میان روی چتباد اولش خودشونم نمیدونن
مشکلشون چیه و باید یه رفت و برگشت اتفاق
بیفته. البته باز اونا یه سری راه داره که
شما بتونید مشکل حل کنید.
خب
بریم ببینیم یه مفهوم دیگه داریم بچهها
خیلی مهمه کانتکست ویندو
اینجوری نیست که شما مثلاً بتون بخواید مثلاً هر میزان دیتایی هم که بخواید وارد
بکنید به مدلتون نه یه محدودیتی هم هست
یعنی اینکه شما برای اینکه بخواید به
مدلتون یه دیتایی بدید که ازش یه جوابی
بخواید طبیعتاً یه محدودیتی هست حالا مدل
با مدل متفاوته
حتی نسخههای مختلف یک مدل هم متفاوته.
پس کانتکست ویندو میشه ما ماکسیموم مقدار
اطلاعاتی که میتونه یک ال ام در لحظه
پردازش بکنه.
یه مثالی براتون بزنم.
الان این چیزی که بهتون نشون دادم چند
ثانیه پیش این یه تیکه از یک پروژه
بزرگتره. یعنی من یه پروژه بزرگی رو
میخواستم با
کلاد انجام بدم.
خب اول اومدم اون خیلی قضیهی که میگم
مثلاً مال چند ماه پیشه اومدم کل چیزی که
میخواستم رو یه جا دادم به کلاد بعد کلاد
گفت نمیتونم اینو انجام بدم خیلی بزرگه
اومدم چیکار کردم اومدم با استفاده از خود
کلاد دوباره یه پروژه بزرگ رو خورد کردم
به حدود مثلاً ۱۵ تا استپ که هر استپ رو
استپ استپ میدادم به کلات میگفتم اینو
اینو انجام بده بعد اینو انجام بده یعنی
اومدم اون کانتکست ویندومو کوچیکتر کردم
بدون اینکه مثلاً یه تکست چه میدونم
مثلاً ۲۰۰۰ کاراکتری بهش بدم اومدم اونو
کردم ۵۰۰۰ تا ۵۰۰۰ تا بهش دادم مرحله
مرحله گفتم انجام بدم
پس خیلی مهمه که شما به محدودیت الیتون دقت بکنید باز تو مدل مختلف متفاوته مثلاً
توی چت جی بیتی نسخه فریش با غیر فریش
متفاوته تو خود غیر فیلهم باز بین مدلای
مختلف متفاوته
که بر اساس توکن سنجیده میشه بچهها
توکننا قبلاً صحبت کردیم هر توکن تقریباً
س۳۴هارم یک کلمهست
اما کانتکست ویندو بچهها لزوماً اون دیتایی نیست که اون لحظه شما به چتبات
میدید مثلاً کلوم متنی که اون لحظه
مینویسید نه شامل این موارد میشه
هیستوری که قبلاً باهاش صحبت کردید
بالاتر گفتم دیگه قص هیستوری رو
پرامپتی که الان میدید داکومنتی که الان
دارید وارد میکنید خب و چیزای دیگه حتی
اون پاسخم جزء توکن حساب میشه جز کانتکست
ویندو حساب میشه یعنی مجموعه اینا میشه
اون کانتکست ویندو شما نه لزوماً اون لحظه
چیزی که دارید تایپ میکنید
و بر اساس توکن هم محاسبه میشه
مثلاً فرض کنید یه مدلی دارید که کانتکست
ویندوش ۱۰۰۰ تا توکنه
شما ۵۰۰ تا سیستم برای دستورعمل گذاشتید
کنار ۴۰۰ تا قبلاً باهاش صحبت کردید ۳۰۰
تا آپلود الان کردید ۱۰۰ تا هم کارنت
کوسچنتون سؤالی که الان پرسیدده
چند تا برای جواب میمونه ۲۴۰۰ تا توکن
برای جواب باقی میمونه بیشتر از این
بهتون نمیده توکن پس به این محدودیتها
باید دقت بکنید اگه میخواید یه کار
ترتمیز انجام بدید.
میگه کانتکست و مموری حافظه با همدیگه مرتبطن ولی لزوماً یکسان نیستن.
کانتکست اطلاعاتی که در حال حاضر دارید به
عنوان ورودی میدید به مدل موقت لیمیت داره
ب برپای کانتکست ویندو. خب
اما مموری اطلاعاتیه که
بیرون از اون کانتکست ذخیره شده
و قراره که مثلاً در مکالمههای بعدیتون با مدل استفاده بشه.
شما مثلاً چی بیتو رو که باز میکنید سمت
چپ مینو رو باز میکنید کلی مکالمه دارید
اینا همه معماریه بچهها باز یه ظرفیتی هم
داره مثلاً چون نسخه رایگانه داشته باشید
زیاد باهاش نیو چت باز بکنید از یه جا به
بعد بهتون میگه آقا مموریتون فول شده ها
باید بیاید مثلاً اونا رو خالی بکنید
میگه کانتکست مثل دیتای آموزش هم نیست اصلاً نباید به چشم آموزش بهش نگاه
راجع به انواعشم صحبت کردیم بالاتر دیگه حالا ورود نکنیم
نکته دیگهای نداره به نظرم
همین بریم بیایم ادامهش جلتس بعدی صحبت
کنیم فعلاً خداحافظ