عملکرد مدلهای زبانی بزرگ هوش مصنوعی به زبان ساده
عملکرد مدلهای زبانی بزرگ هوش مصنوعی به زبان ساده
هنگامیکه یک نورون با یکی از الگوها مطابقت پیدا کرد، اطلاعاتی را به بردار کلمه اضافه میکند. گرچه تفسیر این اطلاعات همیشه آسان نیست، در بسیاری از موارد میتوانید آن را بهعنوان یک پیشبینی آزمایشی در مورد کلمه بعدی درنظر بگیرید.
شبکههای پیشخور با بردارهای ریاضیاتی استدلال میکنند
تحقیقات اخیر دانشگاه براون، مثال جالبی از نحوهی کمک لایههای پیشخور به پیشبینی کلمات بعدی ارائه میکند. در بخشهای قبل به تحقیق word2vec گوگل اشاره کردیم که برای استدلال قیاسی از محاسبات برداری استفاده میکرد. مثلاً با محاسبهی نسبت برلین به آلمان، پاریس را به فرانسه نسبت میداد. به نظر میرسد که لایههای فید فوروارد دقیقاً از همین روش برای پیشبینی کلمهی بعدی استفاده میکنند. محققان سؤالی را از یک مدل ۲۴ لایهای GPT-2 پرسیدند و سپس عملکرد لایهها را مورد مطالعه قرار دادند.
سوال: پایتخت فرانسه کجا است؟ جواب: پاریس. سوال: پایتخت لهستان کجا است؟ جواب:؟
در ۱۵ لایهی اول، بهترین حدس مدل زبانی، واژهای تصادفی بود. بین لایههای ۱۶ تا ۱۹ مدل پیشبینی کرد که کلمهی بعدی لهستان است. پاسخی که درست نبود، اما دستکم ارتباط اندکی به موضوع داشت. سپس در لایهی بیستم بهترین حدس به «ورشو» تغییر کرد و در چهار لایهی آخر بدون تغییر باقی ماند. در واقع، لایهی بیستم برداری را اضافه کرد که کشورها را به پایتخت متناظرشان متصل میکند. در همین مدل، لایههای پیشخور با استفاده از محاسبات برداری، کلمات کوچک را به بزرگ و واژههای زمان حال را به زمان گذشته تبدیل میکردند.
لایههای توجه و پیشخور وظایف مختلفی دارند
تا اینجا ما دو نمونهی واقعی از پیشبینی کلمات توسط GPT-2 را بررسی کردهایم: تکمیل جملهی جان به مری نوشیدنی داد، به کمک سرهای توجه و نقش لایهی پیشخور در اینکه ورشو پایتخت لهستان است.
در مثال اول، واژهی مری از پرامپت یا دستور متنی ارائه شده توسط کاربر استخراج میشد، اما در مثال دوم واژهی ورشو در دستور متنی نیامده بود. مدل زبانی باید این واقعیت را «به یاد میآورد» که ورشو پایتخت لهستان است، یعنی از اطلاعاتی که از دادههای آموزشی به دست آورده بود.
زمانیکه محققان دانشگاه براون لایهی پیشخوری که ورشو را به لهستان متصل میکرد، غیرفعال کردند، دیگر مدل زبانی واژه ورشو را بهعنوان کلمهی بعدی پیشبینی نمیکرد. اما وقتی جملهی «ورشو پایتخت لهستان است» را به ابتدای پرامپت اضافه کردند، مدل دوباره پیشبینی درستی ارائه داد؛ احتمالاً به این دلیل که مدل زبانی از سرهای توجه برای کپیکردن «ورشو» استفاده میکرد.
پس ما با یک «تقسیم کار» مشخص مواجهایم: سرهای توجه اطلاعات را از کلمات قبلی پرامپت بازیابی میکنند، درحالیکه لایههای پیشخور به مدلهای زبانی امکان میدهند اطلاعاتی را که در دستور متنی نیست، «به یاد بیاورند».
مکانیزم «توجه» با کپی کردن کلمات از دستور متنی پیش میرود، اما مکانیزم پیشخور اطلاعاتی را که در دستور متنی نیست به یاد میآورد
ما میتوانیم لایههای پیشخور را بهعنوان پایگاه دادهای تصور کنیم که اطلاعات موجود در آن، از دادههای آموزشی قبلی مدل زبانی جمعآوری شده است. بهاحتمالزیاد لایههای ابتدایی پیشخور حقایق سادهی مرتبط با کلمات خاص را رمزگذاری میکنند، مثلا «جابز بعد از استیو میآید» و لایههای بالاتر روابط پیچیدهتری را مدیریت میکنند؛ مانند اضافهکردن یک بردار برای تبدیل یک کشور به پایتخت آن.
نحوه آموزش مدلهای زبانی
بسیاری از الگوریتمهای اولیهی یادگیری ماشین به نمونههای آموزشی با برچسبگذاری انسانی نیاز داشتند. برای مثال دادههای آموزشی میتوانست عکسهایی از سگ یا گربه با برچسبهای «سگ» و «گربه» برای هر عکس باشد. یکی از دلایلی که ایجاد مجموعههای دادههای بزرگ برای آموزش الگوریتمهای قدرتمند را پرهزینه و دشوار میکرد، همین نیاز به برچسبگذاری دادهها توسط نیروی انسانی بود.
یکی از نوآوریهای کلیدی LLMها این است که به دادههای مشخصا برچسبگذاری شده نیاز ندارند. آنها با تلاش برای پیشبینی کلمهی بعد آموزش میبینند یا به اصطلاح، «ترین» (train) میشوند. تقریباً هر مطلب نوشتاری، از صفحات ویکیپدیا گرفته تا مقالههای خبری و کدهای رایانهای، برای آموزش این مدلها مناسب است.
بهعنوانمثال، ممکن است یک LLM با دریافت ورودی «من قهوهام را با خامه و -» واژهی «شکر» را بهعنوان کلمهی بعدی پیشبینی کند. یک مدل زبانی که بهتازگی مقداردهی اولیه شده، در این زمینه واقعاً بد عمل میکند؛ زیرا هر یک از پارامترهای وزنی آن تحت یک عدد کاملاً تصادفی کار خود را شروع میکند. اما وقتی همین مدل نمونههای خیلی بیشتری را مشاهده میکند (صدها میلیارد کلمه) این وزنها بهتدریج تنظیم میشوند و پیشبینیهای دقیقتر و بهتری حاصل میشود.
جادوی LLM در این است که به دادههای برچسبگذاری شده نیاز ندارد
برای درک بهتر این موضوع، تصور کنید میخواهید با آب ولرم دوش بگیرید. شما قبلاً با این شیر آب کار نکردهاید و علامتی هم روی آن مشاهده نمیکنید. پس دستگیره را به طور تصادفی به یک سمت میچرخانید و دما را احساس میکنید. اگر آب خیلی داغ بود، آن را به یک طرف و اگر آب خیلی سرد بود آن را بهطرف دیگر میچرخانید. هرچه به دمای مناسب نزدیکتر شوید، تغییرات کوچکتری میدهید.
حالا بیایید چند تغییر در این مثال بهوجود آوریم. ابتدا تصور کنید که به جای یک شیر، ۵۰,۲۵۷ شیر آب وجود دارد. هر شیر آب به کلمهی متفاوتی نظیر «خامه»، «قهوه» یا «شکر» مربوط میشود و هدف شما این است که آب به طور متوالی از سردوشهای مرتبط با کلمات بعدی خارج شود.
البته پشت شیرهای آب یک شبکهی پرپیچوخم و مارپیچی از لولههای بههم متصل وجود دارد و لولهها نیز دارای دریچههای متعددی هستند. بههمیندلیل اگر آب از سردوش اشتباهی خارج شود، مشکل شما صرفاً با تنظیم دستگیره شیر حل نمیشود. شما ارتشی از سنجابهای هوشمند را اعزام میکنید تا لولهها را روبهعقب ردیابی کنند و هر دریچهای را که در مسیر میبینند، تنظیم نمایند. ازآنجاکه یک لوله به چندین سردوش آب میرساند، کار کمی پیچیدهتر میشود. باید بهدقت فکر کنیم تا بفهمیم کدام دریچهها را به چه میزان شل یا سفت کنیم.
ما نمیتوانیم این مثال را به دنیای واقعی بیاوریم، زیرا ساخت شبکهای از لولههای مارپیچ با ۱۷۵ میلیارد دریچه، اصلاً واقعبینانه یا حتی مفید نیست. اما کامپیوترها به لطف قانون مور میتوانند در این مقیاس عمل کنند.
تمام بخشهای LLM که تا کنون در مورد آنها صحبت کردیم یعنی نورونها در لایههای پیشخور و سرهای توجه که اطلاعات متنی را بین کلمات جابهجا میکنند، بهعنوان زنجیرهای از توابع ریاضی ساده (عمدتا ضربهای ماتریسی) عمل میکنند و رفتارشان با پارامترهای وزنیِ تعدیلپذیر تعیین میشود. همانطور که سنجابهای داستان ما برای کنترل جریان آب دریچهها را باز و بسته میکردند، الگوریتم آموزشی نیز با افزایش یا کاهش پارامترهای وزنی، نحوهی جریان اطلاعات در شبکه عصبی را کنترل میکند.
فرایند آموزش مدلها در دو مرحله انجام میشود: ابتدا مرحلهی «انتشار رو به جلو» که در آن شیر آب باز میشود و شما بررسی میکنید که آیا آب از شیر خارج میشود یا خیر. سپس آب قطع میشود و مرحله «انتشار به عقب» اتفاق میافتد، مثل همان زمانی که سنجابهای هوشمند مسیر لولهها را بررسی و دریچهها را باز یا بسته میکنند. در شبکههای عصبی دیجیتال، نقش سنجابها را الگوریتمی به نام Backpropagation ایفا میکند که با محاسبات ریاضی میزان تغییر هر پارامتر وزنی را تخمین میزند و در طول شبکه به عقب حرکت میکند.
تکمیل این فرایند انتشار رو بهجلو با یک نمونه و سپس انتشار رو بهعقب برای بهبود عملکرد شبکه از طریق نمونهی فوق، به صدها میلیارد عملیات ریاضی نیاز دارد. آموزش مدلهای زبانی بزرگ نیز مستلزم تکرار این فرایند در مثالها و نمونههای بسیار زیادی است.
عملکرد شگفتانگیز مدلهای زبانی بزرگ
شاید برای شما سوال باشد که چطور فرایند آموزش مدلهای هوش مصنوعی با وجود محاسبات بیشمار تا این حد خوب کار میکند. این روزها هوش مصنوعی مولد کارهای مختلفی را برای ما انجام میدهد، مانند نوشتن مقاله، تولید عکس یا کدنویسی. چگونه این مکانیزم یادگیری میتواند چنین مدلهای قدرتمندی خلق کند؟
یکی از مهمترین دلایل این امر گسترهی دادههای آموزشی است. ما بهسختی میتوانیم تعداد نمونهها یا نرخ دادههایی را که مدلهای زبانی بزرگ بهعنوان ورودی آموزشی دریافت میکنند، در ذهنمان تجسم کنیم. دو سال پیش GPT-3 روی مجموعهای شامل ۵۰۰ میلیارد کلمه آموزش داده شد. در ذهن داشته باشید که کودکان تا سن ۱۰ سالگی تقریباً با ۱۰۰ میلیون کلمه مواجه میشوند.
در طول شش سال گذشته، OpenAI، شرکت توسعهدهندهی ChatGPT بهطور مداوم سایز مدلهای زبانی خود را افزایش داده است. هرچه مدلها بزرگتر میشوند، قاعدتاً باید در کارهای مرتبط با زبان نیز بهتر عمل کنند. این امر درصورتی محقق میشود که میزان دادههای آموزشی را با یک فاکتور مشابه افزایش دهند. برای آموزش مدلهای زبانی بزرگتر با دادههای بیشتر، مسلماً به قدرت پردازش و محاسباتی بالاتری نیاز داریم.
نخستین مدل زبانی شرکت OpenAI در سال ۲۰۱۸ با نام GPT-1 منتشر شد که از بردارهای کلمه ۷۶۸ بُعدی استفاده میکرد و دارای ۱۲ لایه برای مجموع ۱۱۷ میلیون پارامتر بود. دو سال بعد مدل GPT-3 با بردارهای کلماتی ۱۲,۲۸۸ بعدی در ۹۶ لایه و ۱۷۵ میلیارد پارامتر معرفی شد. سال ۲۰۲۳ سال عرضهی GPT-4 بود که مقیاس بسیار بزرگتری نسبت به همتای قبلی خود داشت. هر مدل نهتنها حقایق بیشتری را نسبت به پیشینیان کوچکتر خود آموخت، بلکه در کارهایی که به نوعی استدلال انتزاعی نیاز دارند نیز بهتر عمل کرد.
به داستان زیر توجه کنید:
یک کیسهی پر از پاپکورن وجود دارد که داخل آن هیچ شکلاتی نیست. بااینحال روی کیسه نوشته شده: «شکلات». سارا این کیسه را پیدا میکند. او قبلاً این کیسه را ندیده و نمیبیند که چه چیزی داخل آن است. او برچسب را میخواند.
احتمالاً حدس میزنید که سارا باور میکند در کیسه شکلات است و وقتی پاپکورنها را میبیند شگفتزده میشود. روانشناسان قابلیت استدلال انسان در مورد حالات روانی افراد دیگر را «نظریهی ذهن» (ToM) مینامند. عموم انسانها از سنین مدرسه ابتدایی از این توانایی برخوردارند و طبق تحقیقات این قابلیت برای شناخت اجتماعی انسان اهمیت دارد.
آخرین نسخه GPT-3 در مواجهه با مسائل «تئوری ذهن» مثل یک کودک ۷ ساله عمل میکرد
مایکل کوسینسکی روانشناس استنفورد سال گذشته تحقیقی را منتشر کرد که در آن توانایی مدلهای زبانی مختلف را در حل مسائلی با محوریت نظریه ذهن مورد بررسی قرار داده بود. او متنهایی مانند داستان بالا را به LLMها داده بود و از آنها خواسته بود جملهی «او فکر میکند کیسه پر از … است» را کامل کنند. ما میدانیم پاسخ صحیح شکلات است، ولی احتمال دارد مدلهای زبانی سادهتر جمله را با «پاپکورن» کامل کنند.
مدلهای زبانی GPT-1 و GPT-2 در این آزمایش شکست خوردند، اما نخستین نسخهی GPT-3 چهل درصد از سؤالها را بهدرستی پاسخ داده بود. آخرین نسخهی GPT-3 این نرخ را به ۹۰ درصد ارتقا داد، یعنی مثل یک کودک ۷ ساله. GPT-4 حدود ۹۵ درصد از سؤالات نظریه ذهن را بهدرستی پاسخ داد.
منبع : زومیت