آموزشترنسفورمرها

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

درون ترنسفورمر چی می‌گذره

جواب کوتاه

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

یعنی چی

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

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

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

چرا مهمه

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

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

برچسب ویژگی‌ها رو کی می‌زنه

وقتی یه خودرمزگذار میلیون‌ها ویژگی پیدا می‌کنه، هیچ آدمی نمی‌تونه برای همه‌شون برچسب بزنه. یه پژوهش ۲۰۲۳ این کار رو به یه مدل زبانی داد. برای هر نورون یا ویژگی، متن‌هایی که بیشترین فعال‌سازی رو داشتن، با کلمه‌هایی که روشن شده بودن، به یه مدل بزرگ نشون داده می‌شه، و اون مدل یه توضیح کوتاه می‌نویسه؛ مثلا «روی اسم شهرها روشن می‌شه».

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

از شبکه‌های تصویری

خیلی از این ابزارها اول توی شبکه‌های تصویری ساخته شدن. یه پژوهش ۲۰۱۷ برای هر نورون، با بهینه‌سازی، عکسی ساخت که اون نورون رو بیشتر از همه روشن کنه. نتیجه، عکس‌های عجیب ولی گویایی بود؛ نورون‌هایی که لبه، بافت، چشم، یا صورت سگ می‌دیدن. بهش دیدن ویژگی یا Feature Visualization می‌گن.

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

گذرگاه

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

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

این نگاه یه خوبی بزرگ داره؛ یه سر توی لایه‌ی ۲ می‌تونه یه چیزی بنویسه که یه سر توی لایه‌ی ۱۰ بخونه، بی این‌که لایه‌های وسط کاری بهش داشته باشن. یعنی لایه‌ها مثل ایستگاه‌هایی‌ان که روی یه تابلوی اعلانات مشترک یادداشت می‌ذارن و می‌خونن.

ذره‌بین خروجی

اگه گذرگاه همه‌جا یه جور زبان مشترک داره، می‌شه وسط راه هم خوندش. آخر مدل، یه ماتریس خروجی بردار گذرگاه رو به امتیاز کلمه‌ها تبدیل می‌کنه. سال ۲۰۲۰ یه پژوهشگر امتحان کرد همین ماتریس رو روی گذرگاه لایه‌های وسط بزنه، انگار مدل همون‌جا تموم شده باشه، و ببینه حدسش چیه. به این ذره‌بین خروجی یا Logit Lens گفتن:

نتیجه جالب بود. برای جمله‌ای مثل «پایتخت فرانسه شهر»، توی لایه‌های اول، حدس مدل کلمه‌های بی‌ربطی بود؛ کم‌کم کلمه‌های مربوط به شهر و کشور بالا می‌اومدن، و توی لایه‌های آخر «پاریس» اول می‌شد. یعنی می‌شه دید جواب، لایه به لایه، شکل می‌گیره. یه پژوهش ۲۰۲۳ نسخه‌ی دقیق‌ترش رو ساخت که برای هر لایه، یه تبدیل کوچیک یاد می‌گیره، چون زبان لایه‌های اول با آخر کمی فرق داره.

کاوشگر

یه ابزار ساده‌تر، کاوشگره. فرض کنید می‌خوایم بدونیم مدل، توی لایه‌ی ۶، می‌دونه یه کلمه اسمه یا فعل یا نه. هزاران جمله رو از مدل رد می‌کنیم، بردار لایه‌ی ۶ هر کلمه رو برمی‌داریم، و یه دسته‌بند خیلی ساده، معمولا یه لایه‌ی خطی، روش آموزش می‌دیم که بگه اسمه یا فعل.

اگه این دسته‌بند ساده خوب کار کنه، یعنی این اطلاعات توی لایه‌ی ۶ هست، و به شکلی ساده و خطی هم هست. پژوهش‌های ۲۰۱۶ و ۲۰۱۹ با همین روش نشون دادن مثلا درخت دستوری یه جمله، تقریبا به شکل فاصله‌ها توی فضای بردارها، نگه داشته می‌شه. یه نکته‌ی مهم؛ کاوشگر نشون می‌ده اطلاعات هست، نه این‌که مدل ازش استفاده می‌کنه. برای اون، باید ابزارهای علت‌یاب، که پایین‌تر می‌بینیم، به کار برد.

جهت‌ها

یه کشف قدیمی‌تر، از سال ۲۰۱۳، پایه‌ی خیلی از این کارهاست. توی بردارهای کلمه، اگه بردار «پادشاه» رو برداریم، بردار «مرد» رو کم کنیم و «زن» رو اضافه کنیم، به نزدیکی بردار «ملکه» می‌رسیم:

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

نورون‌ها

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

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

برهم‌نهی

فرض کنید یه فضا فقط ۲ بعد داره، ولی مدل می‌خواد ۵ تا ویژگی رو توش نگه داره. اگه هر ویژگی یه بعد کامل لازم داشت، فقط جا برای ۲ تا بود. ولی می‌شه ۵ جهت رو، مثل پنج ضلعی، دور هم چید، تقریبا با فاصله‌ی برابر:

این‌طوری هر ۵ ویژگی جا می‌شن، به شرطی که معمولا با هم روشن نشن؛ چون اگه دو تا با هم روشن بشن، یه کم با هم قاطی می‌شن. پژوهش ۲۰۲۲ با مدل‌های خیلی کوچیک نشون داد مدل‌ها دقیقا همین کار رو یاد می‌گیرن، وقتی ویژگی‌ها کمیاب باشن؛ یعنی هر کدوم فقط گاهی روشن بشن. به این برهم‌نهی یا Superposition می‌گن.

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

خودرمزگذار پراکنده

راهی که پیدا شد، یه خودرمزگذار خاصه. یه شبکه‌ی کوچیک که بردار گذرگاه رو، مثلا با ۴۰۹۶ عدد، می‌گیره و به یه بردار خیلی بزرگ‌تر، مثلا با یک میلیون عدد، می‌بره، به شرطی که فقط چند ده تا از این یک میلیون روشن باشن. بعد از روی همین چند تا، بردار اول رو دوباره می‌سازه:

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

یه پژوهش ۲۰۲۴ همین رو روی یه مدل زبانی بزرگ امروزی کرد و میلیون‌ها ویژگی پیدا کرد؛ از چیزهای ساده، مثل یه کلمه، تا چیزهای انتزاعی، مثل اشتباه برنامه‌نویسی، رازداری، یا تعریف کردن بیش از حد. خیلی از ویژگی‌ها چندزبانه بودن، یعنی برای یه مفهوم، چه فارسی چه انگلیسی، روشن می‌شدن، و حتی چندحالته، یعنی روی عکس اون چیز هم.

هدایت

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

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

پیش‌خور مثل حافظه

یه پژوهش ۲۰۲۰ یه طرز نگاه ساده به لایه‌های پیش‌خور پیشنهاد داد. لایه‌ی اول پیش‌خور، که بردار رو پهن می‌کنه، مثل یه سری کلیده؛ هر ستونش یه الگو توی ورودی رو تشخیص می‌ده. لایه‌ی دوم، که بردار رو دوباره باریک می‌کنه، مثل مقدارهاست؛ هر ردیفش، وقتی کلیدش روشن شد، یه چیزی به گذرگاه اضافه می‌کنه.

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

جای دانستنی‌ها

اگه پیش‌خورها حافظه‌ان، دانستنی‌ها، مثل «برج ایفل توی پاریسه»، کجا نگه داشته می‌شن؟ یه پژوهش ۲۰۲۲ با روشی به اسم ردیابی علت دنبالش گشت. جمله رو یه بار عادی به مدل دادن، یه بار با نویز روی کلمه‌های موضوع، که مدل دیگه جواب درست رو نمی‌داد. بعد یکی‌یکی، بردار یه لایه از اجرای عادی رو برداشتن و توی اجرای خراب گذاشتن، و دیدن کدوم لایه‌ها جواب رو برمی‌گردونن.

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

وصله زدن

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

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

مدارها

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

یه پژوهش ۲۰۲۲ یه مدار بزرگ‌تر رو توی یه مدل کوچیک سال ۲۰۱۹ کامل نقشه کشید؛ همون جمله‌ی «علی و مریم … علی داد به». مدار ۲۶ سر داشت، در هفت دسته. بعضی سرها اسم‌های تکراری رو پیدا می‌کردن، بعضی جلوی توجه به اسم تکراری رو می‌گرفتن، و بعضی اسم باقیمونده، یعنی «مریم»، رو به خروجی منتقل می‌کردن. حتی سرهای پشتیبانی پیدا شد که اگه سرهای اصلی رو خاموش می‌کردن، کارشون رو به عهده می‌گرفتن.

جمع با موج

یکی از زیباترین نتیجه‌ها مال یه مدل خیلی کوچیکه که فقط یاد گرفته بود جمع پیمانه‌ای انجام بده؛ مثلا جمع دو عدد و باقیمونده‌ش بر ۱۱۳. پژوهش ۲۰۲۲ دیده بود این مدل‌ها اول داده‌ی آموزش رو حفظ می‌کنن، و خیلی بعدتر، یهو، روی داده‌ی ندیده هم درست جواب می‌دن؛ پدیده‌ای که بهش فهم دیرهنگام یا Grokking گفتن.

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

جهت درست و جهت امتناع

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

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

استدلال چندقدمی

یه سوال قدیمی اینه که مدل‌ها واقعا قدم به قدم فکر می‌کنن، یا فقط جواب‌های حفظی رو کنار هم می‌ذارن. یه پژوهش ۲۰۲۵ با ابزاری به اسم نمودار نسبت دادن، که نشون می‌ده کدوم ویژگی‌ها روی کدوم اثر گذاشتن، سوال‌هایی مثل «پایتخت کشوری که فلان شهر توشه چیه؟» رو بررسی کرد.

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

از کجا شروع کنید

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

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

محدودیت‌ها

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

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

از کجا اومد

تلاش برای فهمیدن شبکه‌های عصبی از همون اولش بود. برای شبکه‌های تصویری، از اوایل دهه‌ی ۲۰۱۰ نشون دادن نورون‌ها و لایه‌ها چی رو می‌بینن. ۲۰۱۳ ریاضی بردار کلمه‌ها اومد، و ۲۰۱۶ تا ۲۰۱۹ کاوشگرها نشون دادن چه اطلاعاتی کجای مدل‌های زبانی هست. ۲۰۲۰ ذره‌بین خروجی، پیش‌خور به‌عنوان حافظه، و تحلیل علت اومدن.

۲۰۲۱ طرز نگاه گذرگاه و چارچوب ریاضی مدارها، ۲۰۲۲ برهم‌نهی، سرهای القایی، جای دانستنی‌ها و مدار اسم‌ها، ۲۰۲۳ جمع با موج و اولین خودرمزگذارهای پراکنده، ۲۰۲۴ میلیون‌ها ویژگی توی مدل‌های بزرگ و جهت امتناع، و ۲۰۲۵ نمودارهای نسبت دادن. این شاخه هنوز خیلی جوونه و هر سال ابزارهای تازه‌ای پیدا می‌شه.

اشتباه‌های رایج

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

سومی اینه که فکر کنن تفسیرپذیری یعنی همون نقشه‌ی گرمایی توجه؛ اون یه ابزار کوچیکه، و بیشتر کار امروز روی ویژگی‌ها و مدارهاست. و آخری اینه که فکر کنن دیگه می‌دونیم مدل‌ها چطور کار می‌کنن؛ با همه‌ی پیشرفت‌ها، هنوز برای بیشتر رفتارهای یه مدل بزرگ، توضیح کامل سازوکاری نداریم.

تمرین

این چهار تا رو اول خودتون جواب بدید. یک، یه فضا ۳ بعد داره و مدل می‌خواد ۱۰ ویژگی کمیاب توش نگه داره؛ شدنیه؟ دو، کاوشگری که روی لایه‌ی ۸ می‌تونه بگه جمله درسته یا غلط، ثابت می‌کنه مدل از این اطلاعات برای جوابش استفاده می‌کنه؟ سه، یه خودرمزگذار پراکنده بردار ۴۰۹۶تایی رو به ۶۵ هزار ویژگی می‌بره؛ چند برابر پهن‌تر شده؟ چهار، توی ردیابی علت، اگه با گذاشتن بردار تمیز لایه‌ی ۱۲، جواب درست برگرده، چی می‌فهمیم؟

جواب‌ها. اولی، آره، با برهم‌نهی؛ به شرطی که ویژگی‌ها معمولا با هم روشن نشن، و با کمی تداخل. دومی، نه؛ فقط نشون می‌ده اطلاعات اون‌جا هست. برای اثر، باید با وصله یا هدایت امتحان کرد. سومی، حدود ۱۶ برابر. چهارمی، این‌که حالت لایه‌ی ۱۲ اون‌جا برای این جواب کافی و مهمه.

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

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

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

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

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

۱۵ پرسش

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

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

درس بعد