دما و تنظیمات مدل: چه چیزی را واقعاً کنترل میکنند
دما مدل را صادقتر یا باهوشتر نمیکند؛ فقط شکل انتخاب کلمه را عوض میکند. توضیح سادهی temperature، top_p و طول خروجی، با مقدارهای پیشنهادی برای هر کار.
یک باور رایج بین کسانی که تازه با API کار میکنند: «دما را صفر کن تا مدل دروغ نگوید.» این جمله در ظاهر منطقی است و در عمل غلط. دما با درستی هیچ کاری ندارد.
برای فهمیدن اینکه واقعاً چه کار میکند، باید یک قدم عقب برویم به کاری که مدل در هر لحظه انجام میدهد: انتخاب کلمهی بعدی. سازوکار کامل این کار را در مدلهای هوش مصنوعی چطور کار میکنند توضیح دادهایم؛ اینجا فقط همان تکهای که به تنظیمات مربوط است.
دما چه کار میکند
مدل در هر گام یک فهرست از کلمههای ممکن با احتمال هرکدام میسازد. مثلاً بعد از «هوای امروز خیلی»: «سرد» با احتمال بالا، «گرم» کمی کمتر، «عجیب» خیلی کمتر.
دما این توزیع را تیز یا تخت میکند. دمای نزدیک صفر یعنی همیشه سراغ صدرنشین برو. دمای بالا یعنی فاصلهی احتمالها را کم کن تا گزینههای بعید هم شانس بیاورند. همین. نه دانشی اضافه میشود، نه استدلالی عوض میشود.
دما مثل درجهی ریسکپذیری یک نویسنده است، نه سطح سوادش. نویسندهی محتاط همیشه واژهی امن را انتخاب میکند؛ نویسندهی ریسکپذیر گاهی واژهی غافلگیرکننده میآورد. هیچکدام چیزی بیشتر از دیگری نمیداند.
دمای صفر یعنی درستتر؟ نه
در دمای صفر خروجی پایدار میشود: همان ورودی، تقریباً همان جواب. این برای کارهای تولیدی ارزشمند است — وقتی هزار محصول را دستهبندی میکنید، نمیخواهید نتیجه هر بار فرق کند.
اما اگر مدل تاریخ تأسیس یک شرکت را اشتباه بداند، در دمای صفر همان اشتباه را هر بار و با لحن مطمئنتری تحویل میدهد. جلوگیری از جواب ساختگی کار دیگری است: منبع دادن و اجازهی «نمیدانم». این را در اشتباههای رایج در کار با هوش مصنوعی باز کردهایم.
چه مقداری برای چه کاری
| کار | دمای پیشنهادی | چرا |
|---|---|---|
| استخراج داده از متن | ۰ تا ۰٫۲ | تکرارپذیری مهمتر از تنوع است |
| دستهبندی و برچسبزدن | ۰ | نتیجه باید هر بار یکسان باشد |
| تولید کد | ۰ تا ۰٫۳ | خلاقیت در نحو، دردسر است |
| ترجمه و ویرایش | ۰٫۳ تا ۰٫۵ | کمی انعطاف در واژهگزینی |
| نوشتن متن تبلیغاتی | ۰٫۷ تا ۰٫۹ | تنوع، مادهی خام انتخاب است |
| ایدهپردازی و طوفان فکری | ۰٫۹ تا ۱٫۲ | گزینههای بعید همانهاییاند که میخواهید |
بالای حدود ۱٫۲ معمولاً متن شروع به از هم پاشیدن میکند: جملهها بیربط میشوند و در فارسی زودتر از انگلیسی خراب میشود.
top_p و جریمهی تکرار
top_p راه دیگری برای همان هدف است: بهجای تغییر شکل توزیع، فقط گزینههایی را نگه میدارد که مجموع احتمالشان به مقدار تعیینشده برسد. مثلاً ۰٫۹ یعنی دنبالهی کماحتمالها کلاً حذف شود. دستکاری همزمان دما و top_p کار را غیرقابل پیشبینی میکند؛ یکی را ثابت بگذارید.
جریمهی تکرار جلوی چرخیدن مدل روی یک عبارت را میگیرد. اگر خروجیتان مدام یک جمله را با کلمات دیگر تکرار میکند، این پارامتر کمک میکند — ولی زیادکردنش باعث میشود مدل از واژههای اصلی موضوع فرار کند و متن عجیب شود.
طول خروجی
سقف توکن خروجی، کیفیت را کنترل نمیکند؛ فقط جایی است که مدل قطع میشود. اگر متنهایتان نصفه تمام میشوند، مشکل معمولاً همین است نه پرامپت. برعکس، سقف بالا باعث نمیشود مدل طولانیتر بنویسد — طول را باید در خود پرامپت بخواهید.
در چت معمولی چه کنیم
در رابطهای چت معمولاً به این پارامترها دسترسی ندارید. خبر خوب اینکه بیشتر اثرشان را میشود با زبان گرفت:
بهجای دمای پایین:
«فقط یک نسخه بده. محافظهکارانه بنویس و از عبارتهای
استاندارد استفاده کن. چیزی خارج از متن اضافه نکن.»
بهجای دمای بالا:
«۱۰ ایده بده که دستکم سهتایشان غیرمنتظره باشد.
ایدههای واضح و تکراری را حذف کن.»
این روش در عمل نزدیک به همان نتیجه میرسد. جزئیات بیشتر در پرامپتنویسی فارسی آمده و میتوانید هر دو نسخه را در نارنگی پشت سر هم امتحان کنید.
مدلهای استدلالی حساب جدا دارند
در مدلهایی که قبل از جواب دادن مرحلهی فکرکردن دارند، دما اغلب بیاثر یا محدود است و ارائهدهنده توصیه میکند دست به آن نزنید. آنجا چیزی که خروجی را عوض میکند، میزان تلاش استدلالی است نه تصادفیبودن. تفاوت خانوادههای مدل را در مقایسهی چتجیپیتی، جمینای و کلاد دیدهاید؛ مقادیر دقیق پارامترها هم در مستندات رسمی API آمده است.
جمعبندی
دما یک دکمهی کیفیت نیست؛ دکمهی ریسک است. اگر خروجیتان بیمزه و کلیشهای است، احتمالاً مشکل از پرامپت است نه از دمای پایین. اگر خروجی پراکنده و بیربط است، پیش از بالا بردن قید و بند، دما را پایین بیاورید.
ترتیب درست عیبیابی این است: اول صورتمسئله، بعد منبع و زمینه، و تازه در آخر پارامترها. کسانی که از پارامتر شروع میکنند، معمولاً وقتشان را هدر میدهند.