تا اینجا کجا رسیدیم؟

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

حالا می‌خوایم یکی از قدرتمندترین تکنیک‌ها رو یاد بگیریم که صادقانه بگم، وقتی اولین بار باهاش آشنا شدم خیلی تعجب کردم! اسمش یه کم عجیبه: Few-Shot Learning - ولی نگران نباشید، خیلی ساده‌تر از چیزیه که فکرشو می‌کنید.

Few-Shot Learning یعنی چی؟

راستش به فارسی می‌شه گفت "یادگیری با چند مثال". یعنی شما چندتا مثال به هوش مصنوعی نشون می‌دید، و اون الگو رو می‌گیره و براتون ادامه میده!

فکر کنید دارید به یه بچه یاد می‌دید چطور یه کار رو انجام بده. شما که نمی‌شینید تئوری بهش توضیح می‌دید، درسته؟ بلکه چندتا مثال نشونش می‌دید و می‌گید "ها! دیدی؟ همینطوری."

همین کار رو با هوش مصنوعی هم می‌کنیم.

چرا این روش اینقدر کارسازه؟

ببینید، گاهی وقتا هرچقدر هم که توضیح بدید چی می‌خواید، هوش مصنوعی دقیقاً متوجه نمیشه. مثل همون موقعیتیه که می‌گید "می‌خوام یه لحن صمیمی" - خب صمیمی یعنی چی؟ برای هرکس معنای متفاوتی داره!

ولی وقتی دوتا سه‌تا مثال می‌زنید، دیگه جای هیچ ابهامی نمی‌مونه. هوش مصنوعی می‌فهمه دقیقاً چی تو سرتونه.

بیاید با یه مثال ساده شروع کنیم

فرض کنید می‌خواید نظرات مشتریان رو دسته‌بندی کنید. ببینید فرق دو روش:

روش معمولی (بدون مثال):

"این نظر مشتری رو به دسته مثبت، منفی یا خنثی تقسیم کن:
'محصول خوبی بود ولی ارسال خیلی طول کشید'"

احتمالاً جواب می‌گیرید، ولی مطمئن نیستید دقیقاً به معیار شما باشه.

روش Few-Shot (با مثال):

"نظرات رو بر اساس این مثال‌ها دسته‌بندی کن:

نظر: 'عالی بود، خیلی راضی‌ام!'
دسته: مثبت

نظر: 'اصلاً خوب نبود، پولم هدر رفت'
دسته: منفی

نظر: 'معمولی بود، نه خوب نه بد'
دسته: خنثی

حالا این یکی رو دسته‌بندی کن:
'محصول خوبی بود ولی ارسال خیلی طول کشید'"

ببینید؟ با این روش هوش مصنوعی دقیقاً معیار شما رو می‌فهمه.

چندتا مثال بدیم؟

این یه سوال خوبیه که همه می‌پرسن. از تجربه خودم بگم:

یک مثال: خیلی کمه، الگو رو نمی‌گیره
دو تا سه مثال: معمولاً کافیه
چهار تا پنج مثال: برای کارهای پیچیده‌تر
بیشتر از ده مثال: دیگه خیلی زیادیه، فقط گیج می‌کنید!

به نظر من sweet spot همون ۳-۴ مثاله. نه خیلی کم که نگیره، نه خیلی زیاد که خسته بشه!

یه مثال واقعی از کار روزمره

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

بعدش تصمیم گرفتم از Few-Shot استفاده کنم:

"من می‌خوام برای پست‌های اینستاگرامم کپشن بنویسی. اینا نمونه سبک منه:

مثال ۱:
'صبح بخیر عزیزان! ☕
امروز می‌خوایم راجع به یه چیز جالب حرف بزنیم...'

مثال ۲:
'سلااام!
یه خبر خوب دارم براتون - تخفیف ویژه تا آخر هفته! 🎉'

مثال ۳:
'دوستان چه خبر؟
امروز دلم می‌خواد نظرتون رو بشنوم...'

حالا یه کپشن برای معرفی محصول جدید بنویس."

وای! فرق زمین تا آسمون بود. انگار خودم داشتم می‌نوشتم.

کجاها می‌تونیم ازش استفاده کنیم؟

راستش کاربردهاش خیلی زیاده. بذارید چندتا مورد رو با هم ببینیم:

برای نوشتن ایمیل

شما می‌تونید چندتا ایمیل قبلی‌تون رو مثال بزنید و بگید "همین سبک رو ادامه بده". خیلی کارسازه!

برای کدنویسی

وقتی یه سبک خاص کدنویسی دارید، چندتا تابع نمونه نشون بدید. هوش مصنوعی دقیقاً همون سبک رو ادامه میده - از نام‌گذاری متغیرها گرفته تا نحوه کامنت‌گذاری.

برای ترجمه

این یکی خیلی جالبه! مثلاً شما می‌خواید یه متن رو ترجمه کنید ولی نه تحت‌اللفظی، بلکه روان و طبیعی. چندتا مثال از ترجمه‌های خوب بدید، بقیه‌اش رو خودش حل می‌کنه.

یه نکته خیلی مهم!

یه چیزی که خیلی مهمه و باید بهش دقت کنید: مثال‌هاتون باید سازگار باشن!

چی یعنی؟ یعنی نرید توی مثال اول خیلی رسمی حرف بزنید و مثال دوم خیلی غیررسمی. هوش مصنوعی گیج میشه نمی‌فهمه شما چی می‌خواید.

یه بار خودم این اشتباه رو کردم. یه مثال دادم خیلی رسمی و ادبی، یکی دیگه رو خیلی محاوره‌ای. نتیجه؟ یه چیز عجیب غریب شد که نه رسمی بود نه غیررسمی!

بیاید یه مثال پیچیده‌تر رو ببینیم

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

"تو یه دستیار پشتیبانی هستی. بر اساس این مثال‌ها به سوالات جواب بده:

مشتری: 'سفارشم کی می‌رسه؟'
پاسخ: 'سلام! بذارید چک کنم... سفارش شما الان در حال ارسال هست و طبق برآورد تا ۲ روز دیگه می‌رسه. کد رهگیریتون: ۱۲۳۴'

مشتری: 'چرا تخفیف روی محصولم اعمال نشد؟'
پاسخ: 'ببخشید که این اتفاق افتاد! می‌تونید کد تخفیفتون رو بهم بدید تا بررسی کنم چه مشکلی پیش اومده؟'

مشتری: 'می‌خوام محصولم رو پس بدم'
پاسخ: 'البته، مشکلی نیست. می‌تونید تا ۷ روز بعد از دریافت محصول، درخواست مرجوعی بدید. چه مشکلی پیش اومده که می‌خواید برگردونید؟'

حالا به این سوال جواب بده:
مشتری: 'چطور می‌تونم رمزم رو عوض کنم؟'"

الان ببینید، هوش مصنوعی یاد گرفته که باید:

  • صمیمی شروع کنه
  • حل مشکل پیشنهاد بده
  • در صورت لزوم سوال بپرسه
  • همیشه مودب باشه

یه ترفند جالب که یاد گرفتم

یه چیزی که من خیلی ازش استفاده می‌کنم اینه که توی مثال‌هام، کامنت می‌ذارم که چرا اون مثال خوبه:

"مثال ۱:
'سلام جناب احمدی،
با تشکر از پیام شما...'

[نکته: شروع رسمی، استفاده از نام، تشکر در ابتدا]

مثال ۲:
'با احترام،
در پاسخ به درخواست شما...'

[نکته: لحن محترمانه، مستقیم به موضوع]"

این کار به هوش مصنوعی کمک می‌کنه که بفهمه دقیقاً کدوم قسمت مثال مهمه.

وقتی که Few-Shot جواب نمیده

باید صادق باشم - همیشه هم کار نمی‌کنه! گاهی وقتا حتی با دادن مثال هم نتیجه دلخواه رو نمی‌گیرید.

این موقع‌ها چیکار کنیم؟

اول، تعداد مثال‌ها رو زیاد کنید. شاید دوتا کم بوده.

دوم، مثال‌هاتون رو متنوع‌تر کنید. شاید همه مثال‌ها خیلی شبیه به هم بودن.

سوم، توضیحات بیشتری اضافه کنید. گاهی باید ترکیب Few-Shot با روش‌های دیگه استفاده کنید.

تفاوت Zero-Shot و Few-Shot

یه لحظه بذارید یه چیزی رو روشن کنم. شما شاید این اصطلاحات رو شنیده باشید:

Zero-Shot: یعنی بدون هیچ مثالی، فقط با توضیح
Few-Shot: یعنی با چند مثال
Many-Shot: یعنی با مثال‌های زیاد (که معمولاً لازم نیست)

من شخصاً طرفدار Few-Shot هستم. چون تعادل خوبی بین سادگی و دقت داره.

یه تمرین برای شما

خب، حالا نوبت شماست! می‌خوام یه چیزی رو امتحان کنید:

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

ببینید چقدر نزدیک به سبک شماست!

ترکیب با روش‌های دیگه

یه نکته خیلی مهم دیگه اینه که Few-Shot رو می‌تونید با بقیه اصولی که یاد گرفتیم ترکیب کنید.

مثلاً:

  • Few-Shot + نقش‌دهی = نتیجه فوق‌العاده
  • Few-Shot + محدودیت = خروجی دقیق
  • Few-Shot + تفکر مرحله‌ای = تحلیل عمیق

در واقع هرچی بیشتر این تکنیک‌ها رو باهم ترکیب کنید، نتیجه بهتری می‌گیرید.

یه اشتباه رایج

بذارید یه اشتباهی که خیلی‌ها می‌کنن رو بگم: فکر می‌کنن باید مثال‌های کامل و پیچیده بدن.

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

مثلاً نیازی نیست بگید:

"مثال یک که در تاریخ ۱۵ فروردین نوشته شده و شامل ۱۲۳ کلمه هست و..."

همین که مثال رو بدید کافیه!

نتیجه‌گیری

خب دوستان، بذارید چیزایی که یاد گرفتیم رو جمع‌بندی کنیم:

Few-Shot Learning یه ابزار قدرتمنده که با دادن چند مثال، می‌تونید دقیقاً چیزی که می‌خواید رو بگیرید. نه خیلی کم مثال که الگو رو نگیره، نه خیلی زیاد که گیج بشه - همون ۳-۴ تا معمولاً کافیه.

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

قسمت بعد چی کار می‌کنیم؟

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

پس منتظر قسمت بعدی باشید!

سوال من از شما: تا حالا Few-Shot رو امتحان کردید؟ اگه آره، چه تجربه‌ای داشتید؟ دوست دارم بشنوم!

📚 قسمت قبل: اصل هفتم - تفکر گام‌به‌گام
📚 قسمت بعد: اصل نهم - بهینه‌سازی و اصلاح خروجی

نویسنده: تیم تحریریه مجله آرتین