اگه بهت بگم «آذر دختری داره به اسم بهار، و بهار هم دختری داره به اسم پری»، لازم نیست کسی اضافه کنه که آذر مادربزرگ پریه؛ خودت میفهمی. این رابطه هیچجا گفته نشده و از کنار هم گذاشتن دو جملهی قبلی بیرون میاد.
مدلهای زبانی بزرگ هم همین کار رو میکنن، و حتی وقتی بهجای اسم آدمها یک رشتهی سهحرفی بیمعنی مثل axs بذاری، باز جواب درست میدن. سه پژوهشگر از دانشگاه پرینستون پرسیدن مدل این شجرهنامهی کوچک رو توی خودش چطور نگه میداره، و برای پیدا کردن جواب توی عددهای درونی مدل دست بردن و تکههاش رو جابهجا کردن. چیزی که پیدا کردن به مفهومی شبیهه که روانشناسها نزدیک هشتاد ساله اسمش رو گذاشتن نقشهی ذهنی (cognitive map). این دو فقط یک فرق با هم دارن که در عمل خیلی مهمه؛ نقشهای که مدل میکشه از نوع باریکشه.
موشهای تولمن و دو جور نقشه
نقشهی ذهنی دقیقا چیه؟ این اصطلاح رو ادوارد تولمن، روانشناس دانشگاه برکلی، در سال ۱۹۴۸ و بعد از سالها آزمایش با موشها در هزارتو جا انداخت. حرف تولمن این بود که موش موقع یاد گرفتن هزارتو فقط زنجیرهای از «اینجا بپیچ، اونجا برو جلو» رو حفظ نمیکنه و در دستگاه عصبیش چیزی میسازه که مثل یک نقشه کار میکنه و بعدا تصمیمهاش رو جهت میده.
تولمن یک قدم جلوتر هم رفت و گفت همهی نقشهها یکجور نیستن. بعضیهاشون باریکان و مثل یک نوار فقط یک مسیر ساده رو از جای حیوون تا هدف نشون میدن، و بعضیها پهن و جامعان و تکهی بزرگتری از محیط رو در بر میگیرن. تولمن اسم اولی رو نقشهی نواری (strip map) و اسم دومی رو نقشهی جامع گذاشت، و یادآوری کرد که تا وقتی همهچیز سر جاشه، فرق این دو از بیرون معلوم نمیشه. فرقشون وقتی پیدا میشه که چیزی در محیط عوض بشه؛ اگه نقطهی شروع حیوون رو جابهجا کنی یا راهی رو ببندی، نقشهی جامع هنوز کمکش میکنه راه تازه رو انتخاب کنه، ولی نقشهی نواری خیلی کمتر به کارش میاد.
نقشهی نواری رو حتما خودت هم دیدی. همون نشانیایه که از یک رهگذر میگیری؛ «مستقیم برو، سر نونوایی بپیچ دست چپ، کوچهی دوم». این نشانی تا وقتی از همون نقطه راه بیفتی جوابت رو میده، ولی اگه از خیابون بغلی شروع کنی دیگه به کارت نمیاد.
بیست و چند سال بعد معلوم شد این نقشه جای مشخصی در مغز داره. جان اوکیف در سال ۱۹۷۱ در هیپوکامپ موش نورونهایی پیدا کرد که فقط وقتی حیوون در نقطهی خاصی از اتاق بود فعال میشدن، و اسم این نورونها شد سلولهای مکان. سال ۲۰۰۵ هم میبریت و ادوارد موزر نوع دیگهای از نورونها رو پیدا کردن که برای مکانیابی یک دستگاه مختصات میسازن. به اینها میگن سلولهای شبکهای. این سه نفر سال ۲۰۱۴ برای کشف چیزی که کمیتهی نوبل اسمش رو «جیپیاس درونی» مغز گذاشت، جایزهی نوبل پزشکی گرفتن.
از اون موقع خیلی از عصبشناسها فکر میکنن این سازوکار فقط به فضا محدود نمیشه. یک مقالهی مروری در سال ۲۰۱۸ این ایده رو جمعبندی کرد که نقشهای که مغز برای مکان میکشه شاید فقط یک نمونه از روشی کلیتر باشه که مغز با اون هر جور دانشی رو، از راه خونه گرفته تا رابطهی آدمهای یک فامیل، مرتب میکنه. پس وقتی سراغ مدل زبانی میری با دو سوال جدا روبهرویی؛ اول اینکه اصلا نقشهای در کار هست یا نه، و دوم اینکه اگه هست از کدوم نوعه.
پیوند زدن در عددهای مدل
چطور میشه دید مدل این رابطهها رو کجا نگه داشته؟ اول باید بدونی مدل زبانی متن رو چطور میخونه. مدل متن رو کلمه به کلمه جلو میبره، و چون از لایههای زیادی ساخته شده که پشت سر هم کار میکنن، برای هر کلمه در هر لایه یک ردیف عدد میسازه. هرچی مدل از متن فهمیده، مثلا اینکه کی دختر کیه، باید جایی در همین عددها باشه، چون جواب آخر مدل فقط از همین راه به متن وصل میشه.
پژوهشگرهای پرینستون برای نگاه کردن به همین عددها روشی ساختن به اسم آزمایش موزاییکی (mosaic experiment) که به جراحی پیوند شبیهه. توی این روش اول دو متن مختلف رو به مدل میدن و عددهایی رو که مدل برای هر کدوم ساخته ثبت میکنن. بعد تکهای از عددهای متن دوم رو برمیدارن و جای تکهی متناظرش در متن اول میذارن، و آخر سر، در حالی که عددهای پیوندی رو ثابت نگه داشتن، از مدل سوال میپرسن. از جوابی که مدل میده میشه فهمید اون تکهی پیوندی دقیقا چه چیزی با خودش آورده.
پژوهشگرها این آزمایشها رو روی یازده مدل باز انجام دادن که هرکسی میتونه دانلودشون کنه و توشون رو ببینه. این مدلها از خانوادههای Gemma و Llama و Qwen بودن و اندازهشون از ۶۰۰ میلیون تا ۷۰ میلیارد پارامتر بود. پارامترها عددهاییان که مدل موقع آموزش یاد گرفته و بعد ثابت میمونن؛ عددهایی که در آزمایش موزاییکی جابهجا میشن با اینها فرق دارن و هر بار با خوندن متن از نو ساخته میشن.
هر بار دو رابطه بین سه چیز به مدل گفته میشد و بعد سوالی دربارهی رابطهای میپرسیدن که هیچجا گفته نشده بود. گاهی موضوع شجرهنامه بود، گاهی اینکه کی از کی بزرگتره، گاهی اینکه کدوم مولکول کدوم مولکول دیگه رو فعال یا مهار میکنه، و گاهی اینکه دو چیز با هم برابرن یا نه. مدلهایی که از حدود ده میلیارد پارامتر بزرگتر بودن، در بیشتر این کارها از پس سوالها براومدن.
اسم جدا، جایگاه جدا
مدل اسمها رو کجا میذاره؟ پژوهشهای قبلی دیده بودن که مدلها چیزهایی رو که موقع آموزش دربارهی یک آدم یا یک شهر یاد گرفتن، روی خود اسم اون آدم یا شهر نگه میدارن. پس وقتی مدل میخونه «آذر دختری داره به اسم بهار»، یک راه اینه که روی اسم بهار هم برچسبی مثل «مادرش آذره» بچسبونه. راه دیگه اینه که مدل یک اسکلت خالی از شجرهنامه رو جدا از اسمها نگه داره و اسمها رو فقط روی جایگاههای این اسکلت بنشونه.
پژوهشگرها دو خانوادهی همشکل به مدل دادن تا ببینن کدوم راه درسته. خانوادهی اول همون آذر و بهار و پری بود، و در خانوادهی دوم ژاله دختری داشت به اسم لیلا و لیلا دختری داشت به اسم مهسا. بعد در خانوادهی اول عددهایی رو که مدل برای اولین «بهار» ساخته بود برداشتن و عددهای «لیلا» رو از خانوادهی دوم جاش پیوند زدن.
حالا دقت کن چی پیش اومد. اگه راه اول درست بود، تکهی پیوندی برچسب «مادرش ژالهست» رو با خودش میآورد و مدل باید میگفت مادر لیلا ژالهست. ولی مدل گفت مادر لیلا آذره. تازه این همهش نبود؛ مدل گفت دختر لیلا پریه و آذر هم مادربزرگ پریه. انگار لیلا روی صندلی بهار در شجرهنامهی اول نشسته بود و همهی رابطههای اون صندلی رو یکجا به ارث برده بود.
پس مدل اسکلت شجرهنامه رو جدا از اسمها نگه میداره؛ سه جایگاه داره برای مادربزرگ و نفر وسط و نوه، و اسمها فقط روی این جایگاهها مینشینن. نویسندهها نشون دادن عددهایی که مدل برای هر اسم میسازه تقریبا از جمع دو سهم درست شده؛ یک سهم مال خود اسمه و یک سهم مال جایگاهش. برای همین اگه فرق دو جایگاه رو حساب کنی و این فرق رو به یک نفر اضافه و از نفر دیگه کم کنی، مدل طوری جواب میده که انگار اون دو نفر جاشون رو در شجرهنامه با هم عوض کردن.
چرا این جدایی مهمه؟ چون توضیح میده که چرا مدل با اسمهای بیمعنی هم کار میکنه. اسکلت شجرهنامه رو مدل به احتمال زیاد موقع آموزش و از دیدن خانوادههای بیشمار در متنها یاد گرفته، چون همهی خانوادهها هرچند اسم آدمهاشون فرق میکنه یک شکل دارن. اسمها فقط برچسبهاییان که هر بار روی همون اسکلت آشنا میخورن، و axs هم برای مدل برچسبیه مثل بقیه.
پس جواب سوال اول مثبته و مدل نقشه داره. سوال دوم اینه که این نقشه از کدوم نوعه.
نقشه یا نشانی کوچه به کوچه
مدل نقشهاش رو چطور میکشه؟ با این جایگاهها دو جور میشه کار کرد. راه اول شبیه کاریه که حیوون موقع راه رفتن در تاریکی میکنه؛ قدمهاش رو میشمره و همیشه میدونه نسبت به نقطهی شروع کجاست. مدلی که اینطوری کار کنه با رسیدن هر جملهی تازه جای آدم تازه رو روی یک دستگاه مختصات حساب میکنه، و رابطهی آذر و پری از همون لحظهی خوندن در جای این دو نفر روی نقشه ثبت میشه. راه دوم اینه که مدل هر جمله رو جدا و مثل یک پیوند دوتایی بین دو جایگاه نگه داره و فقط وقتی سوالی پرسیده میشه این پیوندها رو پشت سر هم بچینه.
پژوهشگرها برای جدا کردن این دو راه دو متن ساختن که فقط در جملهی اول با هم فرق داشتن. در متن اصلی آذر مادر بهار بود و در متن دوم بهار مادر آذر، و جملهی دوم در هر دو یکی بود؛ بهار دختری داره به اسم پری. بعد عددهای جملهی دوم رو از متن دوم برداشتن و جای همون تکه در متن اصلی پیوند زدن.
اگه مدل از راه اول میرفت، تکهی پیوندی کل تاریخچهی متن دوم رو با خودش میآورد. در متن دوم آذر و پری هر دو دخترهای بهارن و پس خواهرن، پس مدل باید میگفت پری خواهر آذره. ولی اگه مدل از راه دوم میرفت، تکهی پیوندی فقط پیوند سادهی «بهار مادر پریه» رو میآورد و مدل موقع سوال این پیوند رو با جملهی اول متن اصلی سر هم میکرد، پس باید میگفت آذر مادربزرگ پریه.
مدل در بیشتر موارد گفت آذر مادربزرگ پریه. یعنی مدل رابطهی دوقدمی رو موقع سوال و از کنار هم گذاشتن دو پیوند جدا ساخته بود و از قبل در هیچ نقشهای ثبتش نکرده بود. نویسندهها یک استثنا هم گزارش کردن؛ در بعضی سوالهای شجرهنامه جواب مدل به سمت متن دوم کج میشد، و این نشون میده ردی از تاریخچه هم در عددها مونده. خودشون نوشتن هنوز نمیدونن چرا مدل فقط در بعضی سوالها سراغ اون رد میره.
پس نقشهی مدل به نقشهی نواری تولمن نزدیکتره تا به نقشهی جامع. البته با نقشهی نواری یک فرق هم داره؛ مدل بهجای یک مسیر تنها، یک دسته پیوند داره که میتونه به هر ترتیبی پشت هم بچینه. ولی مدل برای هر سوال باید این پیوندها رو یک بار دیگه کوچه به کوچه طی کنه، و وقتی ازش میپرسی مادربزرگ پری کیه، اول از پری به بهار میره و بعد از بهار به آذر.
همین تصویر یک چیز آشنا رو هم توضیح میده. مدلهای بزرگتر در این کارها بهترن، و اگه به مدل اجازه بدی قبل از جواب قدمبهقدم بلند فکر کنه، باز هم بهتر میشه. نویسندهها حدس میزنن که اگه جواب دادن واقعا شبیه گشتن در یک شبکه از پیوندها باشه، هم بزرگتر شدن مدل و هم بلند فکر کردن برای قدمهای وسط این گشتن جای بیشتری فراهم میکنن. به گفتهی خود نویسندهها، کلمههایی که مدل موقع بلند فکر کردن مینویسه هم به همون عددهای درونی اضافه میشن، پس مدل ممکنه وسط فکر کردن نقشهاش رو از نو بکشه.
خاطرهی دروغ یکطرفه
این پیوندها دقیقا کجا نگه داشته میشن؟ برای جوابش باید یک قطعهی دیگه از کار مدل رو بشناسی. هر کلمهای که مدل میخونه در هر لایه چند جفت از خودش به جا میذاره، و هر جفت از یک برچسب ساخته شده که کلمههای بعدی با اون پیداش میکنن و یک محتوا که وقتی جفت پیدا شد تحویل داده میشه. به این دو میگن کلید و مقدار (key و value). کارشون شبیه رختکن سالن تئاتره؛ برای هر پالتو یک شماره میگیری و هر وقت شماره رو پس بدی، پالتو رو تحویل میگیری.
فرض پژوهشگرها این بود که دو دسته از این جفتها کار اصلی رو انجام میدن. جفتهای دستهی اول از اسم به جایگاه میرسونن، یعنی برچسبشون اسم یک نفره و محتواشون جایگاه اون نفر در شجرهنامه. جفتهای دستهی دوم برعکس از جایگاه به اسم میرسونن. وقتی از مدل میپرسی «مادر بهار کیه؟»، مدل اول با دستهی اول میفهمه بهار روی کدوم صندلی نشسته، بعد صندلی بالایی رو پیدا میکنه، و آخر با دستهی دوم میفهمه کی روی اون صندلی نشسته.
آزمایشها این فرض رو تایید کردن. در مدل Gemma-3-27B که ۲۷ میلیارد پارامتر داره، مدل موقع خوندن دو جملهی شجرهنامه ۹ هزار و ۹۲۰ جفت ساخته بود. پژوهشگرها اطلاعات اسمها رو کمکم از این جفتها پاک کردن و هر بار سراغ جفتی رفتن که پاک کردنش کمترین اثر رو روی جواب داشت. آخر کار معلوم شد کافیه فقط ۲۴۳ جفت اسمها رو بشناسن تا مدل هنوز درست جواب بده. عددها رو دنبال کن؛ ۲۴۳ از ۹۹۲۰ میشه کمتر از دو و نیم درصد. از این ۲۴۳ جفت، ۱۱۲ تا از دستهی اسم به جایگاه بودن و ۱۳۱ تا از دستهی جایگاه به اسم، و همه در لایههای مختلف مدل پخش بودن. خود نویسندهها یادآوری کردن که این جفتها برای جواب دادن کافیان، ولی معلوم نیست تنها راه مدل باشن.
بعد پژوهشگرها یک قدم جلوتر رفتن و خاطرهی دروغ کاشتن. اگه دو جهت یک رابطه از دو دستهی جدا رد میشن، باید بشه فقط یکی از جهتها رو دستکاری کرد. پس پژوهشگرها در شجرهنامهی آذر سراغ جفتهای جایگاه به اسمی رفتن که به آذر مربوط بودن، محتوای این جفتها رو با محتوای متناظر از خانوادهی ژاله عوض کردن و به هیچ جفت دیگهای دست نزدن.
نتیجه خوندنیه. سوال «دختر آذر کیه؟» از اسم آذر شروع میشه، و چون مسیرش از جفتهایی میگذره که کسی بهشون دست نزده، مدل هنوز درست جواب میده و میگه بهار. ولی سوال «مادر بهار کیه؟» از اسم بهار شروع میشه و به صندلی آذر میرسه، و چون اسمی که مدل از اون صندلی برمیداره همون محتوای دستکاریشدهست، این بار جواب میده ژاله. مدل حالا همزمان طوری جواب میده که انگار بهار دختر آذره و مادر بهار ژالهست، و این دو حکم در هیچ شجرهنامهای کنار هم جا نمیشن.
در عمل یعنی چی
این برای کسی که با مدل زبانی سیستم میسازه چه معنیای داره؟ خاطرهی دروغ رو پژوهشگرها با دست کاشتن، و مقاله نمیگه چنین ناسازگاریای در استفادهی معمولی چقدر پیش میاد. ولی یک چیز رو روشن نشون میده. در ساختمون مدل نقشهی واحدی نیست که هر آدم فقط یک جا روش داشته باشه و دو جهت یک رابطه رو مجبور کنه با هم بخونن؛ هر جهت از راه خودش جواب داده میشه، و اگه یکی از راهها خطا کنه، راه دیگه خبردار نمیشه.
در عمل سیستمسازی، من از این مقاله دو عادت ساده برمیدارم. اولی اینه که وقتی با مدل زبانی از یک متن رابطه بیرون میکشی، رابطه رو از هر دو طرف بپرسی و دو جواب رو کنار هم بذاری. مثلا اگه از یک پروندهی حقوقی بیرون میکشی کی همسر کیه و کدوم بچه تحت تکفل کیه، «همسر الف کیه؟» و «ب همسر کیه؟» برای مدل دو سوال جدان، پس هر دو رو بپرس. دومی اینه که برای رابطههای چندقدمی بذاری مدل قدمها رو بنویسه، چون مدل این قدمها رو در هر حال موقع سوال طی میکنه و بهتره این گشتن جلوی چشم تو اتفاق بیفته تا جایی که نمیبینیاش.
یک خبر خوب هم در این مقاله هست. اسمها از راه چند صد جفت به جایگاهها وصل میشن، و بخشی که اینقدر کوچیک باشه رو میشه پیدا کرد، تغییر داد و اثرش رو از قبل حدس زد. به نظرم این یعنی نگاه کردن به درون مدل داره از یک کار صرفا پژوهشی به راهی برای پیدا کردن خطا نزدیک میشه، چون جایی رو که یک خطا ثبت شده میشه با انگشت نشون داد.
چرا مغز و ماشین به یک راه رسیدن
چرا مدلی که هیچکس بهش نگفته شجرهنامه چیه، به ساختاری رسیده که به حدس عصبشناسها دربارهی مغز شبیهه؟ نویسندهها سه شرط رو پیشنهاد میکنن که شاید برای این کار کافی باشن. شرط اول دادهایه که الگوهاش با عوض شدن اسمها عوض نمیشن، مثل خانوادهها که همه یک شکل دارن. شرط دوم سازوکاریه که بتونه چیزهای جدا رو موقتا به هم گره بزنه، و در مدل زبانی همین جفتهای کلید و مقدار این کار رو میکنن. شرط سوم یادگیری از راه خطای پیشبینیه؛ مدل در تمام دورهی آموزش کلمهی بعدی رو حدس میزنه و از اشتباهش یاد میگیره.
مغز هم هر سه شرط رو داره. موشی که در اتاقهای مختلف راه میره با قاعدههای هندسیای سر و کار داره که در همهی اتاقها یکیان، و مدتهاست پیشنهاد شده که هیپوکامپ همون جاییه که اطلاعات بخشهای مختلف مغز بهسرعت به هم گره میخورن. بعضی نظریهها حتی میگن نقشهی هیپوکامپ هم مثل مدل، ساختار محیط رو جدا از جزئیات حسی هر مکان نگه میداره. نویسندهها این شباهت رو نمونهی دیگهای میدونن از اینکه دو سیستم با جنس کاملا متفاوت میتونن به اصول محاسباتی یکسانی برسن. در زیستشناسی به چیزی شبیه این میگن فرگشت همگرا (convergent evolution)؛ بال خفاش و بال پرنده از دو مسیر جدا اومدن، ولی چون مسئلهی پرواز برای هر دو یکی بوده، به راهحلهای شبیه هم رسیدن.
ولی این شباهت تا یک جایی جلو میره. موش با سلولهای شبکهای دستگاه مختصاتی داره که به گفتهی کمیتهی نوبل مکانیابی دقیق و پیدا کردن مسیر رو ممکن میکنه، و این به نقشهی جامع تولمن نزدیکتره. مدل زبانی در این آزمایشها بیشتر به یک فهرست از پیوندهای دوتایی تکیه میکرد. تولمن در همون مقالهی ۱۹۴۸ چند شرط برشمرده بود که باعث میشن بهجای نقشهی جامع، نقشهی نواری شکل بگیره، و دو تا از اونها نشانههای ناکافی در محیط و تکرار بیش از حد یک مسیر بودن. اینکه چیزی شبیه این شرطها برای مدلی هم صدق میکنه که جهان رو فقط از راه متن شناخته یا نه، سوالیه که این مقاله جوابش رو نمیده، ولی به نظرم ارزش پرسیدن داره.
آزمون تولمن
تولمن برای جدا کردن این دو نوع نقشه آزمون سادهای داشت. تا وقتی حیوون از همون نقطهی همیشگی راه میافته، هر دو نقشه به یک اندازه خوب کار میکنن، و فرقشون فقط وقتی پیدا میشه که نقطهی شروع عوض بشه. خاطرهی دروغ پرینستون هم در واقع همین آزمون بود. تا وقتی سوال از سمت آذر پرسیده میشد همهچیز درست به نظر میرسید، و فقط وقتی نقطهی شروع رو عوض کردن و از سمت بهار پرسیدن، معلوم شد دو طرف یک رابطه از دو مسیر جدا میان.
از این مقاله یک تصویر برام میمونه. مدل زبانی شجرهنامه رو میشناسه، ولی مثل کسی که راه خونه تا محل کارش رو کوچه به کوچه بلده و نقشهی شهر توی سرش نیست. چنین آدمی چون کوچهها رو خوب میشناسه کم پیش میاد گم بشه. ولی هر مسیر تازه رو باید از نو طی کنه، و اگه یکی از کوچهها رو اشتباه به خاطر سپرده باشه، فقط مسیرهایی خراب میشن که از همون کوچه رد میشن؛ برای همینه که باید راه رو از هر دو سر پرسید.