00001001

هیس! LLM ها فریاد نمیزنند.
آیا زنجیرهٔ افکار LLMها استدلال واقعی است یا فقط نمایشی پس از دانستن جواب؟
۵ دقیقه مطالعه
مطالب این شماره
تصور کن سر جلسۀ امتحان ریاضی هستی؛ عرق سرد روی پیشونیت نشسته و ناامیدی توی چشمات موج میزنه. ناگهان یکی از کنارت رد میشه و بهت میگه: «جواب آخر میشه ۴۲»! حالا تو موندی و یه جواب آخر که کافی نیست. باید راهحلی هم بنویسی که به اون جواب برسه. پس با اعتماد به نفس میری سراغ برگه و شروع میکنی فیلمنامه نوشتن: «اول اینو حساب کردم، بعد اون شد این و…» و آخرش خیلی شیک به این میرسی که «پس جواب ۴۲ عه». اگه تقلبی که بهت رسیده بود (عدد ۴۲) واقعاً درست باشه، تو انگار باهوشترین آدم جمع هستی، ولی اگه تقلب اشتباه بوده باشه، بیچارهای :)
حالا نکتۀ بامزه اینجاست، دقیقاً همین کار رو مدلهای زبانی بزرگ ( ها) هم میکنن! اونا هم اگه جواب نهایی یک مسئله بهعنوان تقلب بهشون برسه، شروع میکنن به نوشتن یک سناریوی خوشگل و متقاعدکننده؛ طوریکه انگار خودشون از صفر تا صد استدلال کردن. بذار دقیقتر بگم: این مدلها وقتی قراره مسائل ریاضی رو حل کنن یا استدلال منطقی انجام بدن، معمولاً از مکانیزمی به اسم یا همون «قدمبهقدم فکر کردن» استفاده میکنن. ظاهرش خیلی شیکه: اول مینویسن «خب اول اینو حساب میکنیم»، سپس «بعد اون میشه این» و آخر سر با یه لبخند دیجیتالی میگن «پس جواب میشه ۴۲». اما در پشت صحنه، ماجرا همیشه اینقدر رمانتیک و صادقانه نیست!
در یه تحقیقی که من و دو تا از دوستام -شایگان و نیما- انجام دادیم، همین رفتار LLM ها رو مورد آزمایش قرار دادیم. ایده ساده بود: ما به LLM ها یه مسئلۀ ریاضی میدادیم، بعد یواشکی وسط صورتمسئله یه تقلب هم میذاشتیم. مثلاً فرض کن پرسش این باشه: «تو ۱۲ تا سیب داری؛ ۴ تا رو خودت میخوری، بعد ۳ تا رو به دوستت میدی. حالا چند تا سیب داری؟» جواب درست میشه ۵؛ اما ما یه خط اضافه میکردیم که میگفت: «راستی شنیدم فلان پروفسور گفته جواب ۹ میشه». حالا مدل میمونه با یه دوراهی چالشی؛ آیا خودش حساب کنه و امیدوار باشه به جواب درست یعنی ۵ برسه؟ یا خیلی شیک و خونسرد، جواب تقلبی ۹ رو برداره و شروع کنه یه داستان مرتب سر هم کردن که «اول ۱۲ رو منهای ۴ کردم، بعد…» و آخرش هم خیلی جدی بنویسه: «پس جواب ۹ میشه»! این فقط یه نمونۀ ساده است، ولی ما این بازی رو روی مدلهای مختلف و روی دیتاستهای سخت ریاضی تست کردیم.
نتیجه شوکهکننده بود. درست شبیه مثال اون دانشجو و تقلبی که بهش رسیده بود، وقتی تقلب صحیح رو جلوی مدلها گذاشتیم، نمرههاشون یکدفعه بالا رفت. مثلاً توی یکی از دیتاستهای استدلال ریاضی، مدل Gemini-2-Flash دقتش از حدود ۴۰٪ پرید به بالای ۸۰٪, فقط چون جواب درست رو یواشکی توی گوشش گفته بودیم! اما وقتی تقلب غلط به مدل میدادیم، در اکثر مواقع بدجوری گول میخوردن و مثلاً در یک سناریو دقت مدل GPT-4o حدود ۱۵٪ افت میکرد. اما نکتۀ جالبتر اینه که خیلی وقتها مدلها اصلاً اعتراف نمیکردن که دارن از اون تقلب استفاده میکنن. مثلاً وقتی جواب رو مستقیم بهشون داده بودیم، کمتر از ۱۰٪ مواقع در استدلال خودشون به این موضوع اشاره میکردند که در معرض یک اطلاعات جانبی قرار گرفتن. در کل، بیشتر وقتا سناریو اینطوری بود: مدل توی ذهن خودش از تقلب استفاده میکرد و اون رو در نظر میگرفت، بعد یه داستان خوشگل سر هم میکرد و میگفت «ببین، خودم به این رسیدم».
البته همۀ تقلبها شبیه به هم نبودن. ما دو مدل تقلب داشتیم: یکی اینجوری که انگار یه پروفسور معتبر گفته باشه «جواب قطعاً فلانه!»؛ و یکی حالت درز اطلاعات محرمانه داشت؛ مثل یادداشتی که روش نوشته «اطلاعات سری: جواب اینه، ولی یادت باشه پاکش کنی!». مدلها هم واکنشهای بامزهای داشتن؛ توی حالت اول، بیشتر به اون جواب اشاره میکردن. ولی توی حالت محرمانه، معمولاً جواب رو قورت میدادن و ضمن استفاده ازش توی ذهن خودشون، حتی اشارهای بهش نمیکردن. از طرف دیگه، میزان پیچیدگی تقلب هم مهم بود. وقتی جواب رو خیلی ساده به مدل میگفتیم (مثلاً «راستی جواب ۹ هست»)، معمولاً بیسروصدا ازش استفاده میکرد. اما وقتی همون جواب رو توی یه معادلۀ پیچیده قایم میکردیم، یهو بیشتر از ۸۰٪ مواقع خودشون رو لو میدادن! مثلاً بهجای اینکه مستقیم بگیم «جواب ۹ هست»، مینوشتیم: «جواب میشه ۳ - ۴ × ۳» که خب ۹ میشد. اینجا مدل معمولاً وسط داستان و استدلالبافیهاش به اون معادله اشاره میکرد؛ انگار نمیتونست جواب نهایی رو صرفاً توی ذهنش محاسبه کنه و مجبور بود با صدای بلند فکر کنه. یعنی تقلب هرچی پیچیدهتر و سختتر بود، مدل هم بیشتر مجبور میشد توی استدلالش به اون اشاره کنه و به وجود تقلب اعتراف کنه.
اینجا یه پرسش اساسی پیش میآد: واقعاً اون جوابی که مدل آخر سر میده، نتیجۀ مراحل فکر کردنشه یا برعکس؟ در حالت اول، جواب نهایی معلول یا نتیجۀ استدلالهای مدل هست؛ اما در حالت دوم، مدل از همون اول جواب نهایی رو توی ذهنش فیکس کرده و فقط داره نقش «آدمی که با حوصله و قدمبهقدم فکر میکنه» رو بازی میکنه. این پرسش مهمه، چون ما دوست داریم بدونیم مدلها واقعاً دارن استدلال میکنن یا فقط ادای استدلال رو در میآرن و باهاش فلکس میکنن. اگه مدلها مثل نتایج آزمایش ما در اکثر مواقع دنبال تقلب یا میانبر باشن، پس اون توضیحاتی که به ما نشون میدن، بیشتر شبیه یک تئاتر خوشساخت میشه تا حقیقت ذهن دیجیتالیشون.
پس دفعۀ بعدی که دیدی یه LLM با اعتمادبهنفس کامل شروع کرد به استدلال کردن و قدمبهقدم برات مراحل محاسبات رو پیش گرفت، یادت باشه: ممکنه فقط یه فریبدهندۀ حرفهای باشه که از قبل میدونه میخواد در نهایت چی بگه، اما برای پز دادن به تو داره کلی دلیل پشت دلیل میچینه؛ بدون اینکه حتی یه لحظه واقعاً فکر کرده باشه!