اثر پارامتر دما بر خروجی هوش مصنوعی از قطعی تا خلاق

پارامتر دما و نمونه‌برداری؛ چرا هوش مصنوعی هر بار جوابی متفاوت می‌دهد؟

⏱ زمان مطالعه: حدود ۱۰ دقیقه✏️ تمرین دارد

تا حالا برایت پیش آمده که یک پرامپت را دو بار برای هوش مصنوعی بفرستی و دو جواب کاملاً متفاوت بگیری؟ یک‌بار خشک و کوتاه، بار بعد پر از ایده و جزئیات. این اتفاق تصادفی نیست؛ پشتش یک تنظیم مشخص به نام دما (Temperature) و چند پارامتر دیگر پنهان است که تعیین می‌کنند مدل چقدر «محتاط» یا چقدر «جسور» جواب بدهد.

در این قسمت از آموزش پرامپت‌نویسی، سراغ لایه‌ای می‌رویم که خیلی‌ها از آن غافل‌اند: تنظیم‌های نمونه‌برداری. اگر تا امروز فقط متن پرامپت را تغییر می‌دادی، اینجا یاد می‌گیری چطور با چند عدد ساده، رفتار مدل را از «ماشین‌حساب دقیق» به «هم‌فکر خلاق» و برعکس تبدیل کنی؛ و مهم‌تر، اگر فقط به اپ چت‌جی‌پی‌تی دسترسی داری و این دکمه‌ها را نمی‌بینی، چطور همان اثر را فقط با انتخاب کلمات بسازی.

اثر پارامتر دما بر خروجی هوش مصنوعی از قطعی تا خلاق

دما چیست و دقیقاً چه می‌کند؟

هوش مصنوعی هر جمله را کلمه‌به‌کلمه می‌سازد. در هر گام، مدل برای هزاران کلمهٔ ممکنِ بعدی یک «احتمال» درنظر می‌گیرد؛ مثلاً بعد از «آسمان امروز» ممکن است «آبی» با احتمال بالا، «ابری» با احتمال متوسط و «بنفش» با احتمال بسیار کم بیاید. دما همان قلبی است که تعیین می‌کند مدل چقدر به این احتمال‌ها وفادار بماند.

وقتی دما را پایین می‌آوری (نزدیک صفر)، مدل تقریباً همیشه محتمل‌ترین کلمه را برمی‌دارد؛ نتیجه قطعی، قابل‌پیش‌بینی و تکرارپذیر می‌شود. وقتی دما را بالا می‌بری (مثلاً ۱ تا ۱.۵)، فاصلهٔ بین گزینه‌ها کم‌رنگ می‌شود و شانس کلمه‌های کم‌احتمال‌تر بالا می‌رود؛ خروجی متنوع، خلاق و گاهی غیرمنتظره می‌شود. دمای صفر یعنی «همیشه امن‌ترین انتخاب»، و دمای بالا یعنی «ریسک کن تا چیز تازه‌ای بسازی».

یک قاعدهٔ ذهنی ساده: دمای پایین برای کارهایی که یک جواب درست دارند (کد، محاسبه، استخراج داده، متن حقوقی)، و دمای بالا برای کارهایی که جواب‌های خوبِ متعدد دارند (شعار تبلیغاتی، طوفان فکری، داستان). دما بین صفر تا حدود ۲ تنظیم می‌شود و مقدار پیش‌فرض بیشتر ابزارها حدود ۰.۷ است؛ نقطه‌ای متعادل که برای کارهای روزمره خوب کار می‌کند اما لزوماً برای کار تو بهینه نیست.

نمونه‌برداری؛ مدل چطور کلمهٔ بعدی را انتخاب می‌کند؟

اصطلاح فنی این فرایند «نمونه‌برداری» (Sampling) است. تصور کن مدل در هر گام یک چرخ‌وفلک از کلمه‌ها جلویش دارد که سهم هر کلمه از چرخ، به اندازهٔ احتمالش است. «انتخاب کلمهٔ بعدی» یعنی چرخاندن این چرخ و دیدن اینکه عقربه کجا می‌ایستد. دما شکل این چرخ را عوض می‌کند: دمای پایین چرخ را طوری می‌سازد که یک کلمه تقریباً کل سطح را بگیرد، و دمای بالا سهم بقیه را هم بزرگ می‌کند.

فهمیدن این تصویر مهم است چون به تو نشان می‌دهد چرا «تنوع» و «کنترل» دو سر یک طیف‌اند. هرچه به مدل آزادی بیشتری بدهی، احتمال جواب خلاقانه بالا می‌رود اما احتمال خطا و پرت‌گویی هم زیاد می‌شود. کار یک پرامپت‌نویس حرفه‌ای این است که برای هر وظیفه، نقطهٔ درست روی این طیف را پیدا کند؛ نه بیش از حد محتاط، نه بیش از حد رها.

چرخ احتمال و انتخاب کلمهٔ بعدی در مدل زبانی

پارامتر Top-p و Top-k؛ دو قیف برای مهار انتخاب

دما تنها اهرم نیست. دو پارامتر پرکاربرد دیگر، پیش از چرخاندن چرخ، فهرست گزینه‌ها را «قیف» می‌کنند تا کلمه‌های خیلی نامربوط اصلاً وارد قرعه‌کشی نشوند.

پارامتر Top-p (نمونه‌برداری هسته‌ای): به مدل می‌گویی فقط کوچک‌ترین مجموعه‌ای از محتمل‌ترین کلمه‌ها را نگه دار که مجموع احتمالشان به یک درصد مشخص برسد. اگر Top-p را روی ۰.۹ بگذاری، مدل فقط از میان کلمه‌هایی انتخاب می‌کند که رویِ‌هم ۹۰٪ احتمال را می‌سازند و آن دُم بلندِ گزینه‌های عجیب را دور می‌ریزد. مقدار ۱ یعنی «همه مجازند» و مقدار پایین یعنی «فقط مطمئن‌ها».

پارامتر Top-k: ساده‌تر است؛ می‌گویی فقط k کلمهٔ برتر را نگه دار، مثلاً «فقط از بین ۴۰ کلمهٔ محتمل‌تر انتخاب کن». تفاوتش با Top-p این است که Top-k همیشه تعداد ثابتی گزینه نگه می‌دارد، اما Top-p تعداد را بسته به شرایط کم و زیاد می‌کند.

نکتهٔ طلایی که مستندات OpenAI هم تأکید می‌کند: معمولاً یا دما را تنظیم کن یا Top-p را، نه هر دو را با هم. دستکاری هم‌زمانِ این دو، رفتار مدل را غیرقابل‌پیش‌بینی می‌کند و به‌جای کنترل بیشتر، سردرگمی بیشتری می‌سازد.

جریمهٔ تکرار و جریمهٔ حضور؛ ترمز حرف‌های تکراری

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

  • جریمهٔ تکرار (Frequency penalty): هرچه یک کلمه بیشتر در متن آمده باشد، احتمال آمدن دوباره‌اش کاهش می‌یابد. این پارامتر جلوی تکرارِ خسته‌کنندهٔ واژه‌ها را می‌گیرد و متن را متنوع‌تر می‌کند.
  • جریمهٔ حضور (Presence penalty): کافی است یک کلمه فقط یک‌بار آمده باشد تا کمی جریمه شود؛ این کار مدل را تشویق می‌کند سراغ موضوع‌ها و واژه‌های تازه برود. برای وقتی خوب است که می‌خواهی مدل از یک ایده فراتر برود و دامنهٔ بحث را باز کند.

مقدار این دو معمولاً بین صفر تا ۲ است. برای متن‌های فهرست‌وار و فنی که تکرار در آن‌ها طبیعی است، مقدار پایین بگذار؛ برای متن‌های خلاق و بلند که نباید یکنواخت شوند، مقدار متوسط کمک می‌کند.

بیشینهٔ توکن و توالی توقف؛ کنترل طول و پایان

دو تنظیم آخر به «طول» و «پایان» خروجی مربوط‌اند و اغلب دست‌کم گرفته می‌شوند:

  • بیشینهٔ توکن (Max tokens): سقف طول پاسخ را تعیین می‌کند. توکن تقریباً معادل یک واژه یا بخشی از واژه است. اگر این عدد کوچک باشد، جواب وسط جمله قطع می‌شود؛ اگر بی‌جهت بزرگ باشد، هم هزینه بالا می‌رود و هم مدل ممکن است بی‌دلیل حرف را کش بدهد.
  • توالی توقف (Stop sequence): یک یا چند رشتهٔ متنی که به‌محض دیدنشان، مدل تولید را متوقف می‌کند. مثلاً اگر خروجی را قالب پرسش‌وپاسخ می‌خواهی، می‌توانی بگویی به‌محض رسیدن به واژهٔ «پرسش:» متن را قطع کن تا مدل خودش سؤال بعدی را نسازد.

در کنار این‌ها بعضی ابزارها پارامتری به نام seed (بذر) دارند که با ثابت‌کردنش می‌توانی خروجی تقریباً یکسانی را بازتولید کنی؛ ابزار مفیدی برای وقتی که می‌خواهی نتیجه‌ای را دقیق دوباره بسازی یا با دیگران هماهنگ کنی.

جدول دمای پیشنهادی برای کارهای مختلف هوش مصنوعی

کدام دما برای کدام کار؟ (جدول عملی)

این جدول یک نقطهٔ شروع مطمئن است. عددها قطعی نیستند؛ آن‌ها را مبنا بگیر و با آزمون‌وخطا برای کار خودت میزان کن.

نوع کار دمای پیشنهادی چرا
کدنویسی و رفع باگ ۰ تا ۰.۳ یک جواب درست دارد؛ قطعیت مهم‌تر از خلاقیت است
استخراج داده و دسته‌بندی ۰ تا ۰.۲ باید دقیق و تکرارپذیر باشد، بدون تفسیر اضافه
پاسخ حقوقی یا رسمی ۰ تا ۰.۴ ثبات و قابل‌دفاع‌بودن حرف اول را می‌زند
ایمیل و متن اداری ۰.۴ تا ۰.۷ کمی طبیعی‌بودن لازم است اما نه پراکندگی
خلاصه‌سازی ۰.۳ تا ۰.۶ وفاداری به متن مهم است، با کمی روانی
تولید محتوا و کپشن ۰.۷ تا ۱ تنوع لحن و ایده ارزشمند است
طوفان فکری و ایده‌پردازی ۱ تا ۱.۳ هرچه گزینه‌های تازه‌تر، بهتر
شعر و داستان تجربی ۱.۲ تا ۱.۵ غافلگیری و جسارت زبانی هدف است

کاربران اپ چت‌جی‌پی‌تی چه کنند؟ شبیه‌سازی دما با کلمات

اگر فقط از اپ یا وب چت‌جی‌پی‌تی استفاده می‌کنی، جایی برای وارد کردن عدد دما نمی‌بینی؛ این تنظیم‌ها در پلی‌گراند و رابط برنامه‌نویسی (API) در دسترس‌اند. اما خبر خوب این است که می‌توانی همان اثر را با زبان بسازی، چون مدل به لحن دستور تو حساس است.

برای «دمای پایینِ ساختگی» از واژه‌های مهارکننده استفاده کن: «دقیق، مختصر و قطعی پاسخ بده»، «فقط بر پایهٔ همین متن جواب بده و چیزی اضافه نکن»، «اگر مطمئن نیستی بگو نمی‌دانم». این عبارت‌ها مدل را به سمت محافظه‌کاری هل می‌دهند.

برای «دمای بالای ساختگی» مدل را به تنوع دعوت کن: «ده ایدهٔ متفاوت و غیرمعمول بده»، «از زاویه‌های غیرمنتظره نگاه کن»، «چند نسخهٔ کاملاً متمایز بنویس». همچنین دکمهٔ «بازتولید پاسخ» (Regenerate) خودش نوعی نمونه‌برداری دوباره است؛ اگر جواب اول کلیشه‌ای بود، گرفتن چند نسخه و انتخاب بهترین، دقیقاً کاری است که دمای بالا انجام می‌دهد. دستورهای سفارشی (Custom Instructions) هم جای خوبی برای تثبیت لحن پیش‌فرض توست.

اشتباه‌های رایج در تنظیم پارامترها

  • افزایش دما به امید «کیفیت بالاتر»: دمای بالا کیفیت نمی‌آورد، تنوع می‌آورد. برای کار دقیق، دمای بالا فقط خطا و پرت‌گویی را زیاد می‌کند.
  • دستکاری هم‌زمان دما و Top-p: این دو روی هم اثر می‌گذارند؛ یکی را ثابت نگه دار و فقط دیگری را تنظیم کن.
  • فراموش‌کردن بیشینهٔ توکن: خیلی از پاسخ‌های «ناقص» به‌خاطر باگ نیستند، بلکه سقف توکن کوتاه بوده است.
  • انتظار خروجی یکسان با دمای بالا: اگر تکرارپذیری می‌خواهی، دما را نزدیک صفر بگذار و در صورت امکان seed را ثابت کن.
  • نادیده‌گرفتن پرامپت: هیچ پارامتری جای یک پرامپت روشن را نمی‌گیرد. اول دستور را دقیق بنویس، بعد سراغ تنظیم عددها برو.

پرسش‌های پرتکرار

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

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

دما بهتر است یا Top-p؟

هیچ‌کدام ذاتاً بهتر نیستند؛ دو راه برای کنترل تنوع‌اند. توصیهٔ رایج این است که یکی را انتخاب کنی و رهایش نکنی. بیشتر کاربران با تنظیم دما راحت‌ترند چون شهودی‌تر است.

آیا این پارامترها روی مدل‌های مختلف یکسان عمل می‌کنند؟

مفهوم یکسان است اما بازهٔ عددی و حساسیت مدل‌ها فرق دارد. دمای ۱ در یک مدل ممکن است معادل دمای ۰.۸ در مدل دیگر رفتار کند. برای همین همیشه با مقدار پیش‌فرض شروع کن و کم‌کم تغییر بده.

چرا گاهی با یک پرامپت ثابت، جواب‌ها فرق می‌کنند؟

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

✏️ تمرین

می‌خواهی مدل هوش مصنوعی برای یک پرسش حقوقی هر بار یک پاسخ ثابت و قابل‌دفاع بدهد؛ کدام تنظیم درست‌تر است؟



🔒

این بخش ویژهٔ اعضاست

برای دیدن این بخش باید عضو ویژه (VIP) باشی. با شمارهٔ موبایلت وارد شو تا ۱۴ روز دسترسی رایگان فعال شود.

🎁 ورود / ثبت‌نام و شروع ۱۴ روز رایگان

قبلاً عضو شده‌ای؟ فقط کافی است وارد شوی. اشتراک: از ۱۹۹٬۰۰۰ تومان / ماه

جمع‌بندی

پرامپت خوب نیمی از کار است؛ نیم دیگر، دانستن این است که با چه تنظیمی آن را اجرا کنی. دما تعیین می‌کند مدل چقدر به محتمل‌ترین جواب بچسبد یا از آن فاصله بگیرد، Top-p و Top-k فهرست گزینه‌ها را قیف می‌کنند، جریمه‌های تکرار و حضور جلوی یکنواختی را می‌گیرند، و بیشینهٔ توکن و توالی توقف طول و پایان را مهار می‌کنند. قاعده را به‌خاطر بسپار: برای کارِ یک‌جواب، دمای پایین؛ برای کارِ چندجواب، دمای بالا؛ و همیشه یکی از دما یا Top-p را تنظیم کن، نه هر دو را.

حتی اگر کاربر اپ هستی و این دکمه‌ها را نمی‌بینی، حالا می‌دانی چطور با کلمات همان کنترل را در دست بگیری. این درس بخشی از یک مجموعهٔ کامل است؛ برای دیدن بقیهٔ تکنیک‌های پرامپت‌نویسی و ادامهٔ مسیر یادگیری، سری کامل را اینجا دنبال کن: مجموعهٔ آموزش پرامپت‌نویسی Mr ChatGPT.

نسخهٔ فوری این مطلب در تلگرام: اینجا بخوانید

(0 رأی)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *