गणना: इनपुट X के लिए, Q = X·W_Q, K = X·W_K, V = X·W_V की गणना करें। फिर: Attention(Q,K,V) = softmax(Q·K^T / √d_k) · V। softmax(Q·K^T) एक N×N attention मैट्रिक्स उत्पन्न करता है जहां प्रविष्टि (i,j) दर्शाती है कि टोकन i टोकन j पर कितना ध्यान देता है। √d_k स्केलिंग डॉट प्रोडक्ट को उच्च आयामों में बहुत बड़ा होने से रोकता है, जो softmax को लगभग-शून्य ग्रेडिएंट वाले संतृप्त क्षेत्रों में धकेल देगा।
Decoder-only LLMs (GPT, Claude, Llama) में, self-attention causal होता है: प्रत्येक टोकन केवल पिछले टोकन (स्वयं सहित) पर ध्यान दे सकता है। यह एक causal mask द्वारा लागू किया जाता है जो softmax से पहले भविष्य की स्थितियों को −∞ पर सेट करता है। Encoder मॉडल (BERT) में, self-attention bidirectional होता है: हर टोकन हर दूसरे टोकन पर ध्यान देता है। Causal बाधा वह है जो autoregressive जनरेशन को संभव बनाती है — मॉडल भविष्य के टोकन को "देख" नहीं सकता।
Self-attention एक N×N attention मैट्रिक्स की गणना करता है, जिससे यह समय और मेमोरी दोनों में O(N²) है। 128K टोकन के संदर्भ के लिए, यह प्रति लेयर प्रति head ~16 बिलियन प्रविष्टियां हैं। यह द्विघात स्केलिंग वह मौलिक सीमा है जो sparse attention, linear attention, Flash Attention (जो मेमोरी कम करता है लेकिन compute नहीं), और SSMs (जो N×N मैट्रिक्स से पूरी तरह बचते हैं) में अनुसंधान को प्रेरित करती है। लंबे संदर्भ मॉडलिंग का हर दृष्टिकोण अंततः इस द्विघात लागत को प्रबंधित करने के बारे में है।