این مقاله 4 بخش هست که شما در حال خوندن قسمت اول (مقدمه) هستین.
تا حالا به این فکر کردی که:
جواب این سوالها رو توی مدل Transformer پیدا میکنیم. مدلی که اطلاعات رو تحلیل و پردازش میکنه و نتیجهای دقیق و هوشمندانه تحویلت میده. توی این سری مقاله ها، قراره با هم این مدل رو قدم به قدم کشف کنیم.🎯
چند وقت پیش، تصمیم گرفتم مهارتهای برنامهنویسی خودم رو توی زبان C محک بزنم. از اونجایی که به شدت درگیر مدلهای زبانی بزرگ شده بودم، فکر کردم، چرا مدل معروف Attention is All You Need رو پیادهسازی نکنم؟ 😎 اینجوری هم میتونم از طرفی دانش خودم رو توی C تقویت کنم و هم به قول فاینمن: "اگه نتونم چیزی رو بسازم، یعنی خوب درکش نکردم!".
این مقاله نتیجه همون پیادهسازیه. هر چی توی این مسیر یاد گرفتم، اینجا مینویسم و سعی میکنم جوری بنویسم که همه بتونیم با هم ازش یاد بگیریم. دور از جملات پیچیده و کلیشهای، میخوام همه چی رو ساده توضیح بدم.❤️
بریم سراغ اصل مطلب. مدل Transformer دو بخش اصلی داره: Encoder (رمزگذار) و Decoder (رمزگشا).
فرض کن یه فایل بزرگ پر از اطلاعات داری که مربوط به یکی از استانهای ایرانه. اطلاعاتی مثل جمعیت، مکانهای دیدنی، آب و هوا و کلی چیزهای دیگه داخل این فایل قرار داره. Encoder شبیه اینه که بیای تمام این اطلاعات رو داخل ذهنت ذخیره کنی، و به جای اینکه به هر کلمهای دقت کنی، سعی میکنی معنی کلی این اطلاعات رو بفهمی.
مثلاً فرض کن وقتی متن درباره "مشهد" و "طرقبه" حرف میزنی، به جای اینکه فقط این دو اسم رو به خاطر بسپاری، توی ذهنت یه تصویر کلی از استان به وجود میاری که اینها رو به هم مرتبط میکنه. مشهد رو بهعنوان یه شهر مهم و مقدس به یاد میاری و طرقبه رو بهعنوان یه منطقه گردشگری. در واقع، Encoder به جای اینکه به کلمات جدا از هم نگاه کنه، روابط بین اونها رو میفهمه و یه تصویر بزرگ و هماهنگ از کل اطلاعات میسازه. ممکنه اینجا یه کم اذیت بشی😕، دو بار دیگه این مثال رو بخون، اگه متوجه نشدی، ازش بگذر که قسمت Encoder عمیق تر میشیم.
اما وقتی میخوای یه سوال خاص از اون اطلاعات بپرسی، مثل اینکه "جمعیت استان خراسان چقدره؟"، Decoder میاد سراغ اون اطلاعات و دقیقاً همون بخشهایی رو که مربوط به سوالت هستن پیدا میکنه و جوابت رو میده.
مثلا در جواب "جمعیت استان خراسان چقدره؟"، Decoder بجای اینکه بیاد مثلا بگه: "خراسان استانی در شرق ایرانه، و مکانهای دیدنی مثل ارگ کلاه فرنگی و ... و جمعیتش 6 میلیون نفره" فقط همون بخش "جمعیتش 6 میلیون نفره" رو بهت برمیگردونه و بقیه چیزا رو کنار میذاره.
تا همینجا برای مقدمه، کافیه. ادامه مقاله رو برای اینکه طولانی نشه، در بخش های دیگه میگم.✅
فهرست مطالبی که قراره در موردش عمیق بشیم:
هر کدوم از مطالب زیر که آماده شده، لینک میدم به صفحه مربوطه اش