অ্যাটেনশন = QKᵀ
Attention as Matrix
Transformer-এর হৃৎপিণ্ড
≈ ১০ মিনিট
"Attention is all you need" — ২০১৭-র এই paper সমগ্র AI বদলে দিয়েছে। GPT, BERT, ChatGPT সবই attention-এর উপর। কেন্দ্রে শুধু একটি সরল matrix multiplication।
মূল সূত্র
অর্থ
- Q·Kᵀ = query কোন key-এর সাথে কতটুকু মেলে।
- √d_k ভাগ — gradient stable রাখে।
- Softmax — score → probability।
- × V — weighted average of values।
Q, K, V কোথা থেকে?
W_Q, W_K, W_V — learnable projection matrix।
প্রকারভেদ
- Self-attention: Q, K, V একই input থেকে।
- Cross-attention: Q এক source, K-V অন্য source (encoder-decoder)।
- Masked: ভবিষ্যৎ token দেখা নিষেধ (GPT causal mask)।
জ্যামিতি
প্রতিটি token একটি প্রশ্ন (query) করে, সব token-এর পরিচয় (key) দেখে, সবচেয়ে প্রাসঙ্গিকদের তথ্য (value) মিশিয়ে নেয়। Soft database lookup।
জটিলতা
- Sequence length n → O(n²) — দীর্ঘ context ব্যয়বহুল।
- Flash Attention, Linear Attention — efficient variant।
- LLM-এর context window-এর সীমার কারণ।
ইনপুট: ৩টি token, প্রতিটি ৪-মাত্রিক embedding। X একটি 3×4 ম্যাট্রিক্স।
ওজন: W_Q, W_K, W_V প্রতিটি 4×2 (head dim = 2)।
Q = XW_Q, K = XW_K, V = XW_V — তিনটি 3×2 ম্যাট্রিক্স।
Score: QKᵀ → 3×3 ম্যাট্রিক্স — প্রতি জোড়া token-এর মিল।
Scale: score/√2, তারপর row-wise softmax → attention weights।
Output: weights·V → প্রতিটি token-এর জন্য context-aware নতুন উপস্থাপনা।
মূল ভাবনা
- 1.softmax(QKᵀ/√d) · V — তিনটি matmul।
- 2.Q, K, V learnable projection।
- 3.Token-রা একে অপরকে দেখে।
- 4.O(n²) — context length সীমা।
নিজেকে যাচাই করো
প্রশ্নে ক্লিক করে উত্তর দেখো — তবে আগে নিজে চেষ্টা করো।
প্রশ্ন 1।√d_k কেন?
প্রশ্ন 2।Q, K, V আলাদা কেন?
প্রশ্ন 3।Masked attention কোথায়?
প্রশ্ন 4।কেন QKᵀ-কে √dₖ দিয়ে ভাগ করা হয়?
প্রশ্ন 5।Multi-head attention multiple parallel head ব্যবহার করে কেন?
ইন্টারেক্টিভ কুইজ
মূল ভাবনার উপর দ্রুত যাচাই — সঠিক বিকল্পটি বাছাই করো।