فهم مدل های زبانی بزرگ از واقعیت: تقلید هوشمندانه یا درک معنا؟

فهم مدل های زبانی بزرگ

این پست را به اشتراک بگذارید

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

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

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

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

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

محققان برای این آزمایش، ابتدا مجموعه‌ای از مسائل کارل (Karel) را تعریف کردند. مسائل کارل نوعی مسائل برنامه‌نویسی هستند که اغلب از آن‌ها برای آموزش مفاهیم برنامه‌نویسی و مهارت حل مسئله استفاده می‌شود. این نوع مسائل، شامل یک عامل به نام کارل هستند که می‌تواند در محیط شبکه‌ای (دو بعدی) حرکت کرده و وظایف ساده‌ای انجام دهد. کارل می‌ تواند جلو برود، بچرخد، اشیا (که معمولا «بیپر»نامیده می شوند) را بردارد و یا آن‌ها را زمین بگذارد.

نمونه‌هایی از دستورهای زبان کارل:

 

نتیجه دستور
یک قدم به سمت جلو در جهتی که رو به آن است حرکت می‌کند move()
۹۰ درجه به چپ می‌چرخد turnLeft()
بیپر را از محل فعلی خود برمی‌دارد pickBeeper()
بیپر را در محل فعلی قرار می‌دهد putBeeper()

 

مسئله کارل برای سنجش فهم مدل های زبانی بزرگ

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

این تیم تحقیقاتی پس از تعریف مسائل کارل، یک مدل زبانی بزرگ را روی جواب‌های این مسائل (که شامل دستوراتی می‌شد که کارل با اجرای آن‌ها به حالت هدف می‌رسید)  آموزش دادند، ولی هیچ توضیحی در مورد معنای دستورهای به مدل ندادند. سرانجام توسط تکنیک یادگیری ماشینی به نام probing ، فرآیند تفکر مدل در حین تولید پاسخ ها را زیر نظر گرفتند.

محققان پس از آموزش بر روی بیش از یک میلیون پازل تصادفی دریافتند که مدل به‌طور خودبه‌خود، فهم مخصوص به خودش از واقعیت را  توسعه داده است.  فهم و بینشی که در داده‌های آموزشی (training data) وجود نداشت!

چارلز جین (english)، دانشجوی دکترای مهندسی برق و علوم کامپیوتر MIT می‌گوید:

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

در ذهن یک مدل زبانی بزرگ چه می‌گذرد؟

استفاده از probing به جین کمک کرد تا میزان فهم مدل های زبانی بزرگ را به دقت بررسی کند. همانطور که گفته شد، نقش پروب (probe) ، تفسیر این موضوع بود که مدل زبانی در رابطه با معنای دستورالعمل‌ها چه فکری می‌کرد. پروب نشان داد که مدل زبانی در پاسخ به هر دستورالعمل، شبیه‌سازی داخلی مخصوص به خودش را از نحوه‌ی حرکت کارل ایجاد می‌کرد. در واقع مدل زبانی، معنی و مفهومی را به ازای هر دستورالعمل برای خود در نظر می گرفت!

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

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

 

نحوه کار پروب

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

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

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

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

 

مشکل احتمالی: تفکر پروب

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

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

 

آزمایش جهان وارونه

به دلیل نگرانی از تفکر پروب، محققان یک سناریوی «جهان وارونه» ایجاد کردند که در آن معنی دستورالعمل‌ها به عمد برعکس شده بود. مثلا معنای دستورالعمل «بالا» به «پایین» تغییر کرده بود. این کار برای همه دستورالعمل ها انجام شد («چپ» به «راست» و …).

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

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

 

نتیجه آزمایش فهم مدل های زبانی بزرگ

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

مارتین رینارد (english)، استاد MIT در رشته مهندسی برق و علوم کامپیوتر و عضو آزمایشگاه هوش مصنوعی و نویسنده ارشد مقاله می‌گوید:

این پژوهش مستقیماً به یک پرسش محوری در هوش مصنوعی مدرن می‌پردازد: آیا توانایی‌های شگفت‌انگیز مدل‌های زبانی بزرگ صرفاً ناشی از همبستگی آماری (statistical correlations)  در مقیاس بزرگ است، یا اینکه این مدل‌ها درک معناداری از واقعیتی که قرار است با آن تعامل داشته باشند، کسب می‌کنند؟  این پژوهش نشان می‌دهد که مدل زبانی، یک مدل داخلی از واقعیت شبیه‌سازی شده را ایجاد می کند، با اینکه هرگز برای توسعه چنین مدلی آموزش ندیده است.

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

الی پاولیک (english)، استاد دستیار علوم کامپیوتر و زبان‌شناسی در دانشگاه براون می‌گوید:

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

مشاهده مقاله اصلی

refrence: https://arxiv.org/pdf/2305.11169

پیام بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *