اجازه دهید با یک مثال شروع کنیم:
فرض کنید از هوش مصنوعی (AI) سوالی ریاضی پرسیدهاید که میتواند به دو شکل زیر جواب دهد. به نظر شما کدام حالت بهتر و دقیقتر است؟ و چرا؟
❓ سوال کاربر:
Human: "Emily buys 3 apples and 2 oranges. Each orange costs $2. The total cost of all the fruit is $13. What is the cost of apples?"
💡 حالت اول (جواب مستقیم و سریع):
Assistant: "The answer is $3. This is because 2 oranges at $2 are $4 total. So the 3 apples cost $9, and therefore each apple is 9/3 = $3".
💡 حالت دوم (جواب مرحلهبهمرحله):
Assistant: "The total cost of the oranges is $4. 13 - 4 = 9, the cost of the 3 apples is $9. 9/3 = 3, so each apple costs $3. The answer is $3".
شاید در ظاهر هر دو به جوابی درست (۳ دلار) رسیده باشند، ولی از نظر نحوه کارکرد هوش مصنوعی، حالت دوم به مراتب بهتر است!
هدف از طرح این سوال اشاره به دو موضوع مهم بود:
اول این که: شما نباید در محاسبات به gpt اعتماد کامل داشته باشید. همانطور که میدانید gpt در واقع چیزی نیست جز یک ماشین که کلمه (توکن) بعدی هر جمله رو بر اساس آمار حدس میزند (Token Autocomplete).
در مدل جواب دادن اول، احتمال این که به جواب اشتباهی برسیم زیاد بود؛ چون مدل مجبور بود کل بار محاسباتی مسئله را فقط در همان یک کلمه (توکنِ بعد از علامت $) فشرده کند و صرفاً جواب را حدس بزند.
ولی در جواب دوم به این شکل نبود و مدل عملاً داشت به شکلی پیش میرفت که انگار دارد مرحلهبهمرحله محاسبه میکند و بار پردازشی را بین کلمات مختلف پخش میکند.
کارپاتی جملهای معروف دارد: «مدلها برای فکر کردن به توکن نیاز دارند!» (Models need tokens to think). یعنی هر چه توکن بیشتری تولید کنند، فرصت و فضای بیشتری برای محاسبه دارند.
مثل ما انسانها که ناگهانی و چشمبسته نمیتوانیم جواب مسائل منطقی را سریع بگوییم و ذهنم شروع به مرحلهبهمرحله حساب کردن میکند، مدلهای زبانی هم دقیقاً همینطور هستند، مانند جواب دوم در مثال اول متن.
پس مراقب باشید و هر زمان که تصمیم گرفتید از gpt سوالی بپرسید و گفتید «فقط در یک کلمه بگو...» یا «سریع جواب بده»، بدانید که احتمال زیادی وجود دارد که جواب اشتباه بگیرید.
اجازه دهید مدلی که یاد گرفته جواب دهد. یعنی اول توضیح دهد، راه حل را بنویسد و بعد جواب نهایی رو بگوید.
مورد دوم این که: در چنین حالتهایی (مخصوصاً وقتی اعداد بزرگتر یا محاسبات پیچیدهتر میشوند)، حتی بهتر است مثلا در chat gpt در انتها بگویید:
use code. در این حالت، مدل دیگر به «محاسبات ذهنی» خود (که در بسیاری از مواقع خطا دارد) تکیه نمیکند؛ بلکه خود برای این موضوع کدی ساده به زبان پایتون مینویسد، اجرا میکند و نتیجه دقیق را به شما میگوید و شما از جواب chat gpt مطمئن هستید و احتمال خطا به صفر میرسد.🔗 این نکات جذاب از ویدیوی Andrej Karpathy در آمده است که ویدیویی ۳ ساعته است و برای درک عمیق و دقیق LLMها بسیار کمک میکند که باعث میشود ما خیلی بهتر و اصولیتر با ابزارهای AI کار کنیم.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#حامد_حاجیلو (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
______