مدلهای زبانی واقعاً چطوری کار میکنن؟
خلاصهٔ کاملتر
نویسنده میگه چون مدلهای زبانی مدرن بیشتر از روی هم چیدن بلوکهای ترنسفورمر ساخته میشن، اگه همین ماشینآلات ترنسفورمر رو بفهمی بیشتر راه رو رفتی. فرقِ مدلها هم بیشتر تو چیزیه که روش train شدن، مقیاس و انتخابهای پیکربندی، و post-training که روش انجام میشه. مسیر مقاله از توکن شروع میشه: مدل خودِ متن رو نمیخونه، بلکه عددهای صحیح میخونه. tokenizer یه رشته رو به دنبالهای از عددها تبدیل میکنه که هرکدوم به یه ورودی تو یه واژگان ثابت اشاره میکنه و معمولاً هم توکنها کلمهی کامل نیستن، بلکه تکههای زیرکلمهایان.
بعد نوبت embedding هست. یه ID مثل 1024 بهتنهایی معنی نداره؛ معنیش از یه جدول بزرگ به اسم ماتریس embedding میاد که بهازای هر ورودی واژگان یه ردیف داره و هر ردیف یه بردار بلنده. خاصیت جالبش اینه که توکنهای از نظر معنایی شبیه، بردارهای نزدیک به هم پیدا میکنن؛ مثلاً بردار «king» نزدیک «queen» میشه و حتی حسابوکتاب روش گاهی جواب میده، مثل king − man + woman ≈ queen. ولی این بردار هیچی دربارهی جای توکن تو دنباله نمیگه و اینجاست که positional encoding وارد میشه.
نویسنده توضیح میده که مقالهی اصلی ترنسفورمر (Vaswani و همکاران ۲۰۱۷) موقعیت رو با الگوهای سینوس و کسینوس به embedding اضافه میکرد، ولی این روش دو مشکل داشت. مدلهای امروزی بیشتر از یه روش دیگه به اسم RoPE استفاده میکنن که بهجای جمع کردن بردار موقعیت، بردارهای Query و Key رو به اندازهی زاویهای که به موقعیت توکن بستگی داره میچرخونه. اینجوری موقع attention، چیزی که مهم میشه اختلاف چرخشهاست که فاصلهی نسبی رو نشون میده؛ مزیتش اینه که موقعیت نسبی رو طبیعیتر کدگذاری میکنه، به context طولانیتر بهتر تعمیم میده و پارامتر جدید هم اضافه نمیکنه.
قلب ماجرا attention هست. هر توکن به سه نقش تبدیل میشه: Query یعنی «دنبال چی میگردم»، Key یعنی «چی واسه عرضه دارم» و Value یعنی «وقتی match شد چی منتقل میشه». Query هر توکن با Key بقیهی توکنهایی که اجازهی دیدنشون رو داره با dot product مقایسه میشه، softmax این امتیازها رو به وزن تبدیل میکنه و بعد یه میانگین وزندار از Value ها گرفته میشه. تو مدلهای زبانی سبک GPT یه قید مهم هست به اسم causal masking که نمیذاره یه توکن به توکنهای آینده نگاه کنه. نویسنده هم به induction head ها اشاره میکنه؛ هدهای خاصی که Anthropic تو ۲۰۲۲ پیداشون کرد و الگوی «A B … A» رو تو prompt تشخیص میدن و یکی از واضحترین مکانیزمهای شناختهشدهی پشت in-context learning هستن.
یه pass تنهای attention فقط یه view میده، واسه همین multi-head attention چند بار بهموازات اجراش میکنه و هر head تو فضای کوچیکتر خودش کار میکنه. نکتهای که نویسنده میگه خیلی جاها اشتباه گفته میشه اینه که هر head یه تکهی ثابت از بردار توکن نمیگیره، بلکه ماتریسهای projection خودش رو داره که view متفاوتی از همون توکن میسازه. head ها هم خودبهخود تخصصی میشن. مدلهای امروزی هم بیشتر از یه نوع به اسم Grouped-Query Attention (GQA) استفاده میکنن که گروهی از head ها همون Key و Value رو share میکنن تا فشار حافظهی KV cache کم بشه.
بعد از attention، هر لایه یه گام دوم داره: شبکهی feed-forward که روی هر توکن جدا کار میکنه؛ بردار رو بزرگ میکنه، یه تابع غیرخطی اعمال میکنه و دوباره فشردهش میکنه. اون قدمِ غیرخطی وسط مهمه، چون بدونش دو لایهی خطی پشتسرهم با یه لایهی خطی فرقی نمیکنن و کل عمق فرومیپاشه. به گفتهی نویسنده بیشتر پارامترهای مدل و بخش زیادی از دانش واقعی و معنایی همینجا ذخیره میشه؛ حتی روشهایی مثل ROME میتونن یه fact مشخص رو با یه ویرایش هدفمند روی همین وزنها عوض کنن. بعضی مدلهای فرانتیر هم این بخش رو با Mixture of Experts جایگزین کردن تا تعداد پارامتر بالا بره بدون اینکه هزینهی محاسبه به همون نسبت رشد کنه.
در آخر، residual stream خروجی هر بلوک رو بهجای جایگزینی به بردار قبلی اضافه میکنه و یه مسیر میانبر واسه سیگنال آموزش میسازه، و layer normalization هم بردارها رو تو یه بازهی پایدار نگه میداره تا منفجر یا صفر نشن؛ مدلهای امروزی بیشتر pre-norm و RMSNorm رو به کار میبرن. آخر کار هم بردار آخرین توکن به logits تبدیل میشه، softmax اون رو به توزیع احتمال میبره و با تنظیماتی مثل temperature و top-k و top-p کلمهی بعدی انتخاب میشه و حلقه تکرار میشه. نتیجهگیری نویسنده اینه که مدلهای جدی امروزی روی یه مجموعهی مشترک از انتخابها همگرا شدن (pre-norm، RMSNorm، RoPE، SwiGLU، GQA) و این مکانیزمهای پایه حتی اگه معماری عوض بشه، مسئلهی هر مدل دنبالهای میمونن.
نکات کلیدی:
- تقریباً همهی LLMهای مدرن از روی هم چیدن بلوکهای ترنسفورمر ساخته میشن و اسکلت مشترکی دارن
- مسیر کار: توکنسازی، embedding، positional encoding، attention، multi-head، feed-forward، residual و پیشبینی کلمهی بعدی
- attention با سه نقش Query و Key و Value تصمیم میگیره کدوم توکنها واسه هم مهمن
- بیشتر دانش و پارامترهای مدل تو شبکهی feed-forward ذخیره میشه، نه تو attention
- مدلهای امروزی روی RoPE، RMSNorm، pre-norm، SwiGLU و GQA همگرا شدن




