Multi-Head Attention
यह क्यों मायने रखता है
गहन अध्ययन
तंत्र: प्रत्येक head i के लिए, मॉडल अलग प्रक्षेपण मैट्रिसेज़ W_Q^i, W_K^i, W_V^i सीखता है जो इनपुट को निचले-आयामी स्थान (head_dim = model_dim / num_heads) में प्रक्षेपित करते हैं। प्रत्येक head स्वतंत्र रूप से attention की गणना करता है: softmax(Q_i · K_i^T / √d) · V_i। सभी heads के आउटपुट को संयोजित किया जाता है और एक अंतिम रैखिक लेयर W_O के माध्यम से पूर्ण मॉडल आयाम में वापस प्रक्षेपित किया जाता है।
Head विशेषज्ञता
शोध दिखाता है कि विभिन्न heads अलग-अलग कार्य सीखते हैं। कुछ heads पिछले टोकन पर ध्यान देते हैं (स्थितिगत)। कुछ वाक्यात्मक रूप से संबंधित टोकन पर ध्यान देते हैं (कर्ता अपनी क्रिया से)। कुछ "induction" (पैटर्न पूर्णता) लागू करते हैं। कुछ व्यापक रूप से ध्यान देते हैं (वैश्विक संदर्भ एकत्र करना)। सभी heads समान रूप से महत्वपूर्ण नहीं हैं — 20–40% heads को काटने से अक्सर प्रदर्शन पर न्यूनतम प्रभाव पड़ता है, जो महत्वपूर्ण अतिरेक का सुझाव देता है।
GQA और MQA
Multi-Query Attention (MQA) सभी query heads में साझा एक single key-value head का उपयोग करता है, जो heads की संख्या से KV cache आकार को कम करता है। Grouped-Query Attention (GQA) एक मध्य मार्ग है: query heads के समूह एक key-value head साझा करते हैं (जैसे, 8 KV heads के साथ 32 query heads)। GQA KV cache के लिए मेमोरी को नाटकीय रूप से कम करते हुए MHA की अधिकांश गुणवत्ता को संरक्षित करता है। Llama 2 70B, Mistral, और अधिकांश आधुनिक LLMs GQA का उपयोग करते हैं।