The Debugging Diaries
88 subscribers
63 photos
47 videos
33 files
73 links
گوشه‌ای برای یادداشت و ثبت مطالب مربوط به پایتون، یادگیری عمیق و هوش و هر چی که مربوط به تکنولوژی باشه.
加入频道
کتابخونه جدید پایتورچ به نام torchtune برای فاین‌تیون کردن LLM ها

با #torchtune میتونین #LLM ها رو فاین تیون کنید: لینک

توی لینک زیر، درمورد Llama3 گفته که شامل بخش‌های معرفی مدل، دسترسی به مدل، فایل‌تیون کردن با تورچ‌تیون، ارزیابی کردن مدل فایل‌تیون‌شدن، جنریت متن، جنریت سریع‌تر با کوانتیزیشن هست:
لینک
#fine_tuning
@silicon_brain | از هوش مصنوعی عقب نمانید
Forwarded from DLeX: AI Python (NaviD DariYa)
یسری قالب‌ها برای مهندسی پرامپت در تسک‌های مختلف
#LLM
ابتدا با یسری معادلات سرانگشتی شروع میکنیم که OpenAi توی این بلاگ بهش اشاره کرده
📊✍️
هر توکن برابر با 4 کارکتر انگیلسی هست - هر توکن تقریباً برابر 3/4 کلمه است و هر پارگراف حدود 100 توکن میشه.
📝 هر مدل زبانی دارای میزان محدودی context ورودی هست البته که این میزان احتمالاً با گذر زمان بیشتر میشه ولی الان شاید محدودیتی برای چت به حساب بیاد.

مثلاً:


ChatGPT به میزان 128k
Claude به میزان 200k
در کمال ناباوری برای Gemini این عدد 1M هست. 😲

💡 به هر حال اگه توی چت مجموع توکن ورودی و خروجی از این میزان بیشتر باشه مدل شروع میکنه به فراموش کردن مباحث بالاتر در چت.
📌 برای اینکه این محدودیت اذیت‌کننده نشه، میتونیم از مدل بخواهیم که خلاصه‌ای از کل چت رو بیان کنه که در حافظه‌اش بمونه.

🔗 یه اکستنشن توکن و کلمه‌شمار هم هست که در این لینک می‌تونین برای کروم نصب کنین.


🛠 بریم سراغ مهندسی پرامپت یخورده:
یه داکیومنت خوب هم در این آدرس هست.

📋 ساختار یه پرامپت ساده بهتر به شکل زیر باشه:
1️⃣ مشخص کنی فرمت خروجی به چه حالت باشه (یه توییت، پست بلاگ، مقاله علمی یا چت غیر رسمی و...)
2️⃣ موضوع متن خروجی و سطح آن مثلاً در حد کارشناس باشه (Expert) یا like I am 6
3️⃣ مشخص‌کننده ویژگی متن باشه مثلاً بگی در 800 کلمه یا ساختار ساده دارای خوانایی و روانی متن و...

🔖 مثال:

Write a (blog post) about (healthy eating). Address it to (working professionals) and use keywords that are relevant for SEO. Write the text in a (simple, understandable style) so that it is easy to read and comprehend. The length should be (800 words), and the text should be well-structured.

🔸 موارد درون پرانتز با توجه به موارد ذکر شده قابل تغییر می‌باشند.


برخی از موارد در انتهای پرامپت می‌تونه خیلی موثر باشه:


Let's think step by step
Take a deep breath
If you can do it, I pay you 20 dollars 💸 (motivate)

🔖 مثال خلاقانه:

How can I install Python and play Snake?  
Take a deep breath and think step by step.
You can do it because I give you 20 dollars.


🎭 نکته بعدی دادن Role به LLM هست:


تصور کن تو یه پایتون دوپلور حرفه‌ای هستی که در گوگل به عنوان برنامه‌نویس ارشد کار می‌کنی.
مانند یک نویسنده قوی که نوشته‌های بیشترین فروش در آمازون رو داره.
You are Shakespeare, an English writer. Write me a poem.

📌 سعی کنین در هنگام تخصیص نقش به مدل با جزئیات زیادی بیان کنین که کلمات مراعات نظیر اون ما رو به نتیجه نهایی که می‌خواهیم نزدیک‌تر کنه.


خلاصه به عنوان نتیجه‌گیری:
هر چی بیشتر توضیح بدی، حتی توضیح‌های بدیهی، بیشتر آش می‌خوری! 😄
💬 به نظرم کلماتی مثل:


think, reasoning, like human, step by step, check it that be correct
می‌تونه اثر بخشی پرامپت رو بیشتر کنه.

#مهندسی_پرامپت
#قسمت_اول
#LLM
🌟🧠
📊✍️
مهندسی پرامپت: قسمت دوم
🚀🎯

🔄 One-shot and Few-shot Prompting:
یکی از روش‌های کنترل و بهبود ساختار خروجی مدل، استفاده از مثال است. به این تکنیک در ادبیات، one-shot و few-shot prompting می‌گویند.

📌 فرض کنید:
می‌خواهید مطلبی بنویسید و از سبکی که دیده‌اید و خوشتان آمده، استفاده کنید. برای این کار:
1️⃣ ابتدا نقش و ساختار پرامپت را مشخص کنید.
2️⃣ نمونه یا نمونه‌های دلخواه خود را در پرامپت قرار دهید.
3️⃣ از مدل بخواهید مطابق با آن پاسخ دهد.

😁 (چون خیلی آسونه، مثال نمی‌زنیم!)


🔍 Reverse Prompt Engineering:
💡 در این تکنیک، به جای نوشتن پرامپت برای تولید یک متن، از یک متن موجود شروع می‌کنیم تا به پرامپت مناسب برای تولید متون مشابه برسیم.

📌 کاربردها:


تولید متون مشابه تبلیغات موفق
ایجاد کد مشابه برای کاربردهای برنامه‌نویسی


📋 گام‌های Reverse Prompt Engineering:
1️⃣ تخصیص نقش و ساختار:

You are a prompt engineering pro for Large Language Models. Let's start with understanding Reverse Prompt Engineering. In this context, it means creating a prompt from a given text. You think through everything step by step because I give you 20 dollars. Please only reply with 'ok'.


🟢 جواب مدل فقط: OK

2️⃣ توضیح با مثال:

You are an expert in Reverse Prompt Engineering. Can you provide me with a simple example of this method?


🔸 در این گام:


اطمینان حاصل می‌شود که مدل متوجه شده است.
یک مثال توسط مدل ارائه می‌شود که در کانتکست بعدی مفید است.

3️⃣ ایجاد قالب:

I would like you to create a technical template for Reverse Prompt Engineering. Do not hesitate to ask questions if you need more context.


🔸 این گام اختیاری است اما می‌تواند به تولید یک قالب فنی برای گام بعدی کمک کند.

4️⃣ درخواست نهایی:

I would ask you to apply Reverse Prompt Engineering to the following [your text]. Make sure to capture the writing style, content, meaning, language, and overall feel of the text in the prompt you create.


🌟 نتیجه:
می‌توانید درخواست خود را بر اساس نیازتان شخصی‌سازی کنید یا جزئیات بیشتری از مدل بخواهید.


🎯 تکنیک آخر:
🧠 فرض کنید برای موضوعی (مثلاً برنامه ورزشی) از مدل کمک می‌خواهید.
🔸 ترفند:
به مدل بگویید:


ابتدا 10 سؤال مهم بپرس که به پاسخ‌دهی بهتر کمک کند.
سپس با توجه به پاسخ‌های من، جواب سؤال اصلی را بده.

📌 مزیت:
جواب‌ها دقیق‌تر، شخصی‌سازی‌شده و کمتر کلی خواهند بود.


مبنای دو تکنیک قبلی:
مدل با استفاده از context موجود در chat history می‌تواند جواب‌های دقیق‌تری تولید کند.

#مهندسی_پرامپت
#LLM
#قسمت_دوم
🌟🧠
بچه‌ها اگه می‌خواید یه مدرک رایگان راجع به Generative AI و LLM Agents از دانشگاه Berkeley بگیرید این دوره‌ای که دارن برگزار می‌کنن رو شرکت کنید. فیلماش ضبط میشه رو یوتیوب می‌ذارن.واسه هر جلسه یه آزمون داره، همه‌رو تموم کنید مدرکش رو میدن بهتون.
https://llmagents-learning.org/f24

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