عملکرد مدلهای زبانی بزرگ هوش مصنوعی به زبان ساده

عملکرد مدلهای زبانی بزرگ هوش مصنوعی به زبان ساده
پاییز سال ۲۰۲۲، هنگامیکه ChatGPT معرفی شد، دنیایی فراتر از صنعت فناوری را شگفتزده کرد. محققان یادگیری ماشین از چندین سال قبل درحال تست مدلهای زبانی بزرگ (LLM) بودند، ولی عموم مردم توجه زیادی به این موضوع نداشتند و نمیدانستند این مدلها چقدر قدرتمند شدهاند. این روزها تقریبا همهی مردم خبرهای هوش مصنوعی مولد، چتباتهای AI و مدلهای پشت آنها را شنیدهاند و دهها میلیون نفر که احتمالا شما هم یکی از آنها باشید، این ابزار را امتحان کردهاند؛ بااینحال، اغلب ما نمیدانیم مدلهای زبانی بزرگ چگونه کار میکنند.به احتمال زیاد شنیدهاید که مدلهای هوش مصنوعی برای پیشبینی «کلمات بعدی» آموزش دیدهاند و برای این کار به حجم زیادی «متن» نیاز دارند. اما همهچیز در این نقطه متوقف میشود و جزئیات نحوه پیشبینی کلمه بعدی مثل یک راز عمیق ناگفته میماند. یکی از دلایل اصلی این موضوع روش غیرعادی توسعه این سیستمها است. نرم افزارهای معمولی توسط برنامهنویسانی توسعه داده میشوند که به کامپیوترها دستورالعملهای گامبهگام و صریحی ارائه میدهند. در مقابل چت جیپیتی، کوپایلت مایکروسافت یا جمنای گوگل روی یک شبکه عصبی ساخته شده و با استفاده از میلیاردها کلمه از زبان معمولی آموزش داده شدهاند.در نتیجه، هیچکس روی زمین بهطور کامل عملکرد درونی مدلهای زبانی بزرگ را درک نمیکند. هرچند کارشناسان اطلاعات زیادی در این زمینه دارند، بازهم در تلاشند به جزئیات بیشتری دست پیدا کنند. این امر روندی کند و زمانبر است و تکمیل آن سالها یا شاید چندین دهه طول بکشد.ما در این مطلب میخواهیم بدون توسل به اصطلاحات تخصصی فنی یا ریاضیات پیشرفته، عملکرد درونی این مدلها را به زبان ساده توضیح دهیم، به نحوی که مخاطبان عمومی با ایدهی اصلی کار مدلهای زبانی بزرگ آشنا شوند. کار را با توضیح بردارهای کلمات، روش شگفتانگیز استدلالی و نمایش مدلهای زبانی شروع میکنیم، سپس کمی در «ترنسفورمر»، بلوکسازی اصلی برای سیستمهایی مانند چتجیپیتی عمیقتر میشویم. درنهایت، نحوهی آموزش دادن مدلها را شرح میدهیم و بررسی میکنیم که چرا عملکرد خوب آنها به چنین مقادیر فوقالعاده بزرگی از داده نیاز دارد.فهرست مطالببردارهای کلمه (Word Vectors)تبدیل بردارهای کلمه به پیشبینی کلماتفرایند کار ترنسفورمر مکانیزم توجه؛ یک مثال در دنیای واقعیمکانیزم پیشخورلایههای توجه و پیشخور وظایف مختلفی دارندنحوه آموزش مدلهای زبانی عملکرد شگفتانگیز مدلهای زبانی بزرگکپی لینکبردارهای کلمه (Word Vectors)برای اینکه بفهمیم مدلهای زبانی چطور کار میکنند، ابتدا باید ببینیم که چگونه کلمات را نشان میدهند. ما انسانها برای نوشتن هر کلمه، از دنبالهی حروف استفاده میکنیم؛ مانند C-A-T برای واژه Cat. اما مدلهای زبانی همین کار را با استفاده از یک فهرست طولانی از اعداد به نام «بردار کلمه» انجام میدهند. بردار کلمه Cat را میتوان به این صورت نشان داد:[۰٫۰۰۷۴, ۰٫۰۰۳۰, ۰٫۰۱۰۵-, ۰٫۰۷۴۲, ۰٫۰۷۶۵, ۰٫۰۰۱۱-, ۰٫۰۲۶۵, ۰٫۰۱۰۶, ۰٫۰۱۹۱, ۰٫۰۰۳۸, ۰٫۰۴۶۸-, ۰٫۰۲۱۲- , ۰٫۰۰۹۱, ۰٫۰۰۳۰, ۰٫۰۵۶۳-, ۰٫۰۳۹۶-, ۰٫۰۹۹۸-, ۰٫۰۷۹۶-,…, ۰٫۰۰۰۲]چرا از چنین فهرست عجیبی استفاده میکنیم؟ بیایید به مختصات جغرافیایی چند شهر نگاه کنیم. هنگامیکه میگوییم واشنگتن دیسی در ۳۸٫۹ درجه شمالی و ۷۷ درجه غربی واقع شده، میتوانیم آن را بهصورت بردار نشان دهیم:واشنگتن دیسی [۳۸٫۹, ۷۷]نیویورک [۴۰٫۷, ۷۴] لندن [۰٫۱, ۵۱٫۵]پاریس [۲٫۴- , ۴۸٫۹] بدینترتیب میتوانیم روابط فضایی را توضیح دهیم. با توجه به اعداد مختصات جغرافیایی، شهر واشنگتن به نیویورک و شهر لندن به پاریس نزدیک است، اما پاریس و واشنگتن از هم دورند. کلمات پیچیدهتر از این هستند که در فضای دوبعدی نمایش داده شوندمدلهای زبانی رویکرد مشابهی دارند. هر بردار کلمه یک نقطه را در فضای خیالی کلمات نشان میدهد و کلماتی با معانی مشابهتر، نزدیک هم قرار میگیرند (بهلحاظ فنی LLMها روی قطعاتی از کلمات به نام توکنها عمل میکنند، اما فعلا این پیادهسازی را نادیده میگیریم). بهعنوانمثال، نزدیکترین کلمات به گربه در فضای برداری شامل سگ، بچه گربه و حیوان خانگی است. یکی از مزایای کلیدی بردارهای کلمات نسبت به رشته حروف، این است که اعداد عملیاتی را امکانپذیر میکنند که حروف نمیتوانند.اما کلمات پیچیدهتر از آن هستند که در فضای دوبعدی نشان داده شوند. به همین دلیل مدلهای زبانی از فضاهای برداری با صدها یا حتی هزاران بُعد استفاده می کنند. ذهن انسان نمیتواند فضایی با این ابعاد را تصور کند، ولی کامپیوترها میتوانند این کار را به خوبی انجام بدهند و نتایج مفیدی هم درخصوص آنها ارائه میکنند.محققان از دهها سال پیش روی بردارهای کلمات کار میکردند، ولی این مفهوم در سال ۲۰۱۳ با معرفی پروژه «word2vec» گوگل اهمیت بیشتری پیدا کرد. گوگل میلیونها فایل و سند را از صفحات اخبار جمعآوری و تجزیهوتحلیل کرده بود تا بفهمد کدام کلمات در جملات مشابه ظاهر میشوند. با گذشت زمان یک شبکهی عصبی برای پیشبینی کلماتی که در فضای برداری نزدیک به هم قرار میگیرند، تعلیم دیده بود.بردار کلمات گوگل یک ویژگی جالب دیگر هم داشت؛ شما میتوانستید با محاسبات برداری درباره کلمات «استدلال» کنید. مثلاً محققان گوگل بردار «بزرگترین» را برداشتند، «بزرگ» را از آن کم و «کوچک» را اضافه کردند. نزدیکترین کلمه به بردار حاصل شده، واژهی «کوچکترین» بود.پس بردارهای کلمات گوگل، میتوانستند قیاس و نسبت را درک کنند:نسبت سوئیسی به سوئیس معادل نسبت کامبوجی به کامبوج (ملیت)نسبت پاریس به فرانسه معادل برلین به آلمان (پایتخت)نسبت دو واژهی غیراخلاقی و اخلاقی، مشابه ممکن و غیرممکن (تضاد)نسبت مرد و زن مشابه شاه و ملکه (نقشهای جنسیتی)گوگل برای ساخت شبکه عصبی، میلیونها سند را از صفحات اخبار جمعآوری و آنالیز کردازآنجاییکه این بردارها بر مبنای روشی که انسانها از کلمات استفاده میکنند، ساخته میشوند، نهایتاً بسیاری از سوگیریهای موجود در زبان انسانی را نیز منعکس میکنند. برای مثال در برخی از مدلهای برداری کلمه، «پزشک منهای مرد بهاضافه زن» به واژهی «پرستار» میرسد. برای کاهش سوگیریهایی ازایندست، تحقیقات زیادی در دست اجرا است.بااینحال، بردارهای کلمات نقش بسیار مهم و مفیدی در مدلهای زبانی دارند؛ زیرا اطلاعات ظریف اما مهمی را در مورد روابط بین کلمات رمزگذاری میکنند. اگر یک مدل زبانی چیزی در مورد یک گربه یاد بگیرد (مثلاً گاهیاوقات او را به کلینیک دامپزشکی میبرند)، احتمالاً همین موضوع در مورد یک بچهگربه یا سگ نیز صادق است. یا اگر رابطهی خاصی بین پاریس و فرانسه وجود داشته باشد (زبان مشترک) بهاحتمال زیاد این رابطه در مورد برلین و آلمان یا رم و ایتالیا هم صدق میکند.معنی کلمات به زمینه بحث بستگی داردیک طرح ساده از بردار کلمات، واقعیت مهمی را در مورد زبانهای طبیعی نشان نمیدهد: اینکه کلمات غالباً معانی متعددی دارند. به دو جملهی زیر توجه کنید: جان یک «مجله» را برداشت. سوزان برای یک «مجله» کار میکند.اینجا معنای واژهی «مجله» با هم مرتبطاند، ولی تفاوت ظریفی بین آنها وجود دارد. جان یک مجله فیزیکی را برمیدارد، درحالیکه سوزان برای سازمانی کار میکند که مجلات فیزیکی منتشر میکند. در مقابل، واژهای مانند گُل میتواند معنای کاملاً متفاوتی داشته باشد: گل رز یا گل فوتبال.مدلهای زبانی بزرگ مانند GPT-4 که ChatGPT مبتنیبر آن توسعه یافته، میتوانند یک کلمهی مشابه با بردارهای مختلف را بسته به زمینهای که آن کلمه در آن ظاهر میشود، نشان دهند. در این مدلها یک بردار برای گل (گیاه) و یک بردار متفاوت برای گل (فوتبال)، همچنین یک بردار برای مجله (فیزیکی) و یک بردار برای مجله (سازمان) وجود دارد. همانطور که انتظار میرود، LLMها برای واژههایی با معنای مرتبط از بردارهای مشابه بیشتری نسبت به واژههای چندمعنایی استفاده میکنند.تا این مرحله هنوز چیزی در مورد نحوهی عملکرد مدلهای زبانی بزرگ نگفتهایم، اما این مقدمه برای درک هدف ما ضروری است.نرمافزارهای سنتی برای کار روی دادههای غیرمبهم طراحی میشوند. اگر از کامپیوتر خود بخواهید ۲+۳ را محاسبه کند، هیچ ابهامی درمورد معنای ۲ یا + یا ۳ وجود ندارد. اما زبان طبیعی پر از ابهاماتی است که فراتر از واژگانِ با معنای مرتبط یا واژگان با معانی مختلف هستند. به مثالهای سادهی زیر توجه کنید:در جمله «مشتری از مکانیک خواست تا خودروی او را تعمیر کند»، واژه «او» به مشتری اشاره میکند یا مکانیک؟ در جمله «استاد از دانشجو خواست تکالیف خودش را انجام دهد» واژه «خودش» به استاد برمیگردد یا دانشجو؟ما باتوجه به زمینهی بحث میتوانیم چنین ابهاماتی را درک کنیم، اما هیچ قانون قطعی و سادهای برای این کار وجود ندارد. ما باید بدانیم که مکانیکها معمولاً خودروی مشتریان را تعمیر میکنند و دانشجویان تکالیف خودشان را انجام میدهند. بردارهای کلمات راه منعطفی برای مدلهای زبانی فراهم میکنند تا معنای واژهها را در هر متن خاص متوجه شوند. اما چگونه؟ در ادامه به این سؤال پاسخ میدهیم.کپی لینکتبدیل بردارهای کلمه به پیشبینی کلماتمدلهای زبانی GPT-3، GPT-4 یا سایر مدلهای زبانی که پشت چتباتهای هوش مصنوعی قرار دارند، در دهها لایه سازماندهی شدهاند. هر لایه دنبالهای از بردارها را به عنوان ورودی میگیرد (یک بردار برای هر کلمه در متن ورودی) و اطلاعاتی را برای کمک به روشنشدن معنای آن کلمه و پیشبینی بهتر کلمه بعدی اضافه میکند. بیایید با یک مثال ساده شروع کنیم:
مجله خبری بیکینگ