LLM Fundamentals: Transformer, Attention & Embeddings
Large Language Model: Understanding the Foundation
مدل زبانی بزرگ (Large Language Model - LLM) یک مدل یادگیری عمیق است که با استفاده از معماری Transformer و تکنیکهای Self-Attention، بر روی میلیاردها پارامتر و تریلیونها توکن از دادههای متنی آموزش دیده است. این مدلها قادرند الگوهای پیچیده زبانی، روابط معنایی، و حتی استدلال منطقی را یاد بگیرند و در وظایف مختلفی همچون تولید متن، ترجمه، خلاصهسازی، و پاسخگویی به سؤالات عملکرد فوقالعادهای داشته باشند.
تفاوت اصلی LLMها با مدلهای قدیمیتر در مقیاس (Scale) و قدرت تعمیمدهی (Generalization) است. LLMهای مدرن مانند GPT-4، Claude، LLaMA، و Gemini دارای میلیاردها پارامتر هستند و میتوانند بدون نیاز به آموزش مجدد، طیف گستردهای از وظایف را انجام دهند (Zero-shot / Few-shot Learning).
فرض کنید یک شرکت خدماتی میخواهد یک دستیار هوشمند برای پاسخ به سوالات مشتریان درباره قوانین، قراردادها و خدمات خود بسازد. اگر از LLM بهتنهایی استفاده کنید، ممکن است پاسخهایی اشتباه یا outdated بدهد. برای این کار باید مدل را با دادههای معتبر، Prompt مناسب و در بعضی موارد با Retrieval یا Fine-tuning همراه کنید.
در عمل: LLM برای تولید پاسخ، RAG برای آوردن متن معتبر از پایگاه دانش، و Fine-tuning برای تنظیم سبک پاسخدهی به کار میروند.
یک LLM را میتوان به یک دانشمند چندزبانه تشبیه کرد که هزاران کتاب را خوانده و الگوهای زبانی، دانش عمومی، و روابط منطقی را درونی کرده است. وقتی از او سؤالی میپرسید، او با استفاده از این دانش فشردهشده، پاسخی منسجم و مرتبط تولید میکند—نه با جستجو در یک پایگاه داده، بلکه با استنتاج از الگوهای یادگیریشده.
The Foundation of Modern LLMs
Transformer (معرفیشده در مقاله "Attention is All You Need" در ۲۰۱۷) معماری پایه تمام LLMهای مدرن است. برخلاف RNN و LSTM که داده را به صورت متوالی پردازش میکنند، Transformer از Self-Attention استفاده میکند تا تمام توکنهای ورودی را به صورت موازی پردازش کند.
The Core of Transformer Architecture
Attention به مدل اجازه میدهد تا بر روی قسمتهای مختلف ورودی «تمرکز» کند. در Self-Attention، هر توکن میتواند با تمام توکنهای دیگر در توالی تعامل داشته باشد و وزن اهمیت (Attention Weight) هر یک را محاسبه کند.
# Simplified Self-Attention Formula
Attention(Q, K, V) = softmax(Q @ K^T / sqrt(d_k)) @ V
Where:
Q = Query (what I'm looking for)
K = Key (what information I have)
V = Value (the actual information)
d_k = dimension of key vectors (for scaling)
چرا مهم است؟ Attention باعث میشود مدل بتواند روابط معنایی بین کلمات دور از هم را درک کند.
Breaking Text into Processable Units
قبل از ورود به LLM، متن باید به واحدهای کوچکتری به نام توکن (Token) تبدیل شود. توکن میتواند یک کلمه، بخشی از کلمه (Sub-word)، یا حتی یک کاراکتر باشد.
Byte Pair Encoding
استفاده در GPT و مدلهای OpenAI
Word Piece Tokenization
استفاده در BERT و مدلهای Google
Sentence Piece
استفاده در T5 و LLaMA
# Example Tokenization (Conceptual)
Text: "unhappiness"
BPE Tokens: ["un", "happiness"]
Character Tokens: ["u", "n", "h", "a", "p", "p", "i", "n", "e", "s", "s"]
# Why Sub-word?
# - Handles rare words efficiently
# - Reduces vocabulary size
# - Better generalization to unseen words
Vector Representations of Meaning
Embedding یک نمایش برداری با ابعاد ثابت (مثلاً ۷۶۸ یا ۱۵۳۶ بعد) از یک توکن است. این بردارها به گونهای آموزش داده میشوند که کلمات با معانی مشابه، بردارهای نزدیک به هم داشته باشند.
در عمل، Embeddingها در یک فضای چندبعدی (۷۶۸+ بعد) هستند. از تکنیکهایی مانند UMAP یا t-SNE برای تجسم در ۲D استفاده میشود.