آموزشمدل‌های زبانی بزرگ (LLM)

درس ۳۰ از ۸۵، هوش مصنوعی، حدود ۱۲ دقیقه خواندن

چرا یک پرسش دو جواب متفاوت می‌گیرد

جواب کوتاه

چون مدل زبانی هر تکه‌ی جواب رو با قرعه از میان احتمال‌ها انتخاب می‌کنه، و یه انتخاب متفاوت اول کار، کل ادامه‌ی جواب رو عوض می‌کنه. حتی توی مدل کوچیکی که ما ساختیم، محتمل‌ترین جمله فقط ۸ درصد شانس داشت. ورودی هم تقریبا هیچ‌وقت عین قبل نیست؛ یه کلمه فرق توی سوال یا تاریخچه، احتمال‌ها رو جابه‌جا می‌کنه. با دمای صفر جواب‌ها خیلی شبیه‌تر می‌شن، ولی طبق مستندات Claude باز هم کاملا ثابت نیستن.

درخت جمله‌ها

یه سوال رو دو بار از یه چت‌بات بپرسید، احتمالا دو جواب متفاوت می‌گیرید. خرابی نیست؛ از اول همین‌طوری ساخته شده.

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

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

شانس هر جمله

شانس هر جمله، ضرب شانس همه‌ی قرعه‌های مسیرشه. ما همه‌ی مسیرهای مدل کوچیکمون رو با پایتون شمردیم، با سقف ۸ کلمه: ۱۷۹ جمله‌ی ممکن.

محتمل‌ترین جمله‌ها، «صبح نون و پنیر می‌خورم» و «شب شیر می‌خورم»، هر کدوم فقط ۸٫۳۳ درصد شانس دارن. یعنی حتی اگه دنبال محتمل‌ترین جواب باشید، بیشتر از ۹۰ درصد وقت‌ها یه چیز دیگه می‌گیرید. و ۱۷۲ جمله‌ی دیگه، با هم، ۵۸ درصد شانس دارن.

یه نکته‌ی جالب دیگه: توی درس انتخاب محتمل‌ترین روش حریصانه «صبح چای می‌خورم» رو داد، که فقط ۵٫۵۶ درصد شانس داره. پس «همیشه محتمل‌ترین تکه» لزوما به «محتمل‌ترین جمله» نمی‌رسه، چون فقط به همون قدم نگاه می‌کنه. یه چیز دیگه هم شمردیم: ۵۷٫۶ درصد وقت‌ها، مدل کوچیک ما جمله‌ای می‌سازه که توی ۱۲ جمله‌ی آموزشش نبوده.

قرعه‌ی ثابت

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

ما مدل کوچیکمون رو دو بار با دونه‌ی ۷ اجرا کردیم: هر دو بار «صبح چای با کیک می‌خورم». با دونه‌ی ۸، «صبح نون و پنیر می‌خورم». یعنی اگه دونه، مدل و ورودی هر سه عین هم باشن، قرعه‌ها هم عین هم می‌شن. این برای آزمایش و پیدا کردن اشکال خیلی به درد می‌خوره. ولی توی یه چت معمولی، دونه دست شما نیست.

دمای صفر

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

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

چرا دمای صفر هم ثابت نیست

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

کامپیوتر عددهای اعشاری رو با دقت محدود نگه می‌داره، و برای همین ترتیب جمع زدن روی رقم‌های آخر اثر داره: اگه اول ۰٫۱ و ۰٫۲ رو جمع کنی و بعد ۰٫۳، با وقتی که اول ۰٫۲ و ۰٫۳ رو جمع کنی و بعد ۰٫۱، جواب گاهی یه ذره فرق می‌کنه. یه آزمایش ۲۰۲۵ نشون داد دلیل اصلی فرق جواب‌ها اینه که سرور چند تا درخواست رو با هم حساب می‌کنه، و بسته به اینکه اون لحظه چند نفر دیگه هم سوال کردن، ترتیب حساب‌ها یه کم عوض می‌شه. وقتی دو تکه احتمال تقریبا برابری دارن، همین یه ذره فرق کافیه تا اون یکی برنده بشه، و از اون‌جا به بعد کل جواب فرق می‌کنه.

توی همون آزمایش، یه پرسش رو هزار بار با دمای صفر از یه مدل بزرگ پرسیدن و ۸۰ جواب متفاوت گرفتن؛ جواب‌ها تا تکه‌ی ۱۰۳ عین هم بودن و از اون‌جا جدا شدن. وقتی حساب‌ها رو طوری نوشتن که به تعداد درخواست‌های هم‌زمان بستگی نداشته باشه، هر هزار جواب یکی شدن. یه دلیل دیگه هم هست: چت‌بات‌ها گاهی مدل زیرشون رو عوض می‌کنن، که توی درس مدل و چت‌بات دیدیم.

ورودی هم فرق می‌کنه

یه دلیل دیگه هم هست که کمتر بهش دقت می‌شه: شما فکر می‌کنید همون سوال رو پرسیدید، ولی ورودی مدل معمولا عین قبل نیست.

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

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

از فرق استفاده کنید

این فرق فقط دردسر نیست؛ می‌شه ازش استفاده کرد.

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

برای سنجیدن جواب: یه پژوهش ۲۰۲۳ یه ایده‌ی ساده داد: اگه مدل یه چیزی رو واقعا بدونه، جواب‌های چندباره‌اش شبیه هم و سازگارن؛ ولی اگه داره از خودش می‌سازه، جواب‌ها از هم دور می‌شن و هم‌دیگه رو نقض می‌کنن. پس اگه یه سوال واقعی رو سه بار پرسیدید و سه جواب متفاوت گرفتید، به هیچ‌کدوم اعتماد نکنید. درس توهم همین رو بیشتر باز می‌کنه.

چند نکته

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

با این درس ایستگاه «ساختن متن» تموم شد. ایستگاه بعد می‌ره سراغ اینکه این مدل‌ها اصلا چطور ساخته می‌شن: پیش‌آموزش چیست.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • هر تکه با قرعه انتخاب می‌شه.
  • یه شاخه‌ی متفاوت، کل جمله رو عوض می‌کنه.
  • محتمل‌ترین جمله هم شانس کمی داره.
  • دمای صفر: شبیه‌تر، ولی نه کاملا ثابت.
  • جواب‌های پراکنده، نشونه‌ی نادونستنه.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس

درس بعد