एक नवीन “Attention Sink Detector” अशा टोकन्सना शोधतो जे लार्ज-लँग्वेज-मॉडेल (LLM) इन्फरन्सच्या प्रीफिल स्टेज दरम्यान बहुतेक अटेंशन मास (attention mass) साठवून ठेवतात. हे टूल दर्शवते की की-व्हॅल्यू (KV) कॅशमधून हे सिंक टोकन्स काढून टाकल्यास मॉडेलची कामगिरी खालावते, ज्यामुळे ते स्थिर जनरेशनसाठी आवश्यक अँकर्स ठरतात.

प्रीफिल स्टेज का महत्त्वाचा आहे

बहुतेक LLM संशोधन टोकन-बाय-टोकन जनरेशन लूपवर लक्ष केंद्रित करते, परंतु पहिल्या टोकनपूर्वी होणारे काम—प्रीफिल—पुढील सर्व प्रक्रियेचा पाया रचते. प्रीफिल दरम्यान मॉडेल संपूर्ण प्रॉम्प्टवर प्रक्रिया करते, KV कॅश तयार करते आणि प्रत्येक पोझिशनवर अटेंशन पसरवते. सॉफ्टमॅक्स (softmax) जे अटेंशन वेट्स तयार करते, त्याची बेरीज १ असणे आवश्यक असल्यामुळे, मॉडेल “काहीही संबंधित नाही” असे म्हणू शकत नाही. ते उरलेले संभाव्यता मास (probability mass) अशा टोकनवर टाकते ज्याचा संदर्भ देणे सोपे असते, जे सहसा क्रमामधील पहिले टोकन असते. ते टोकन एक attention sink बनते.

सोप्या भाषेत अटेंशन सिंक म्हणजे काय

एका Transformer मध्ये, प्रत्येक हेड प्रत्येक टोकन जोडीसाठी एक वेट (weight) मोजते. जेव्हा वितरण (distribution) खूप जास्त प्रमाणात झुकलेले असते, तेव्हा एकाच टोकनला अटेंशन वेटचा मोठा हिस्सा मिळू शकतो. ही घटना कोणताही दोष (bug) नाही; ती सॉफ्टमॅक्सच्या अटीमुळे घडते. पहिले टोकन (जे सहसा वाक्याची सुरुवात दर्शवणारा मार्कर असते) इतरत्र नियुक्त न करता येणाऱ्या अवशिष्ट संभाव्यतेसाठी (residual probability) एक “रिलिज व्हॉल्व्ह” म्हणून काम करते.

KV-cache व्यवस्थापनासाठीचे महत्त्व

KV कॅशेमध्ये प्रक्रिया केलेल्या प्रत्येक टोकनसाठी की (key) आणि व्हॅल्यू (value) वेक्टर्स साठवले जातात, ज्यामुळे जनरेशन दरम्यान जलद शोध घेणे शक्य होते. लाँग-कॉन्टेक्स्ट (long-context) परिस्थितीमध्ये, GPU मेमरीच्या मर्यादेत राहण्यासाठी तज्ज्ञ कॅशचे प्रूनिंग (pruning) करतात. नवीन डिटेक्टर हे दर्शवतो की, जे टोकन्स “महत्त्वाचे” वाटत नाहीत त्यांना विनाकारण हटवल्यास मॉडेल ज्या सिंक्सवर अवलंबून असते ते देखील हटवले जातात, ज्यामुळे कामगिरी कोसळते. कॅशमध्ये सिंक टोकन्स स्थिर ठेवल्याने मॉडेलचे अंतर्गत संतुलन राखले जाते आणि जनरेशन स्थिर राहते.

डिटेक्टर कसे कार्य करते

  • Eager attention: हे अंमलबजावणी FlashAttention सारख्या फास्ट कर्नल्सना बायपास करते, जे पूर्ण अटेंशन मॅट्रिक्स एकत्रित करतात; त्याऐवजी हे प्रत्येक हेडसाठी रॉ अटेंशन स्कोअर रेकॉर्ड करते.
  • Layer-wide aggregation: प्रत्येक टोकनसाठी एक सिंगल अटेंशन-मास प्रोफाइल तयार करण्यासाठी सर्व लेयर्स आणि हेड्समध्ये स्कोअरची सरासरी काढली जाते.
  • Log-median absolute deviation (MAD): अटेंशन वेट्स खूप जास्त प्रमाणात झुकलेले (right-skewed) असल्यामुळे, साधा मीन-स्टँडर्ड-डेव्हिएशन टेस्ट सामान्य व्हेरिएन्सला आउटलायर्स म्हणून चुकीच्या पद्धतीने वर्गीकृत करू शकतो. वेट्सचे लॉग-ट्रान्सफॉर्मिंग वितरणाचे सामान्यीकरण करते; त्यानंतर MAD लागू केल्यामुळे ज्या टोकन्सचा अटेंशन मास सामान्य वितरणापेक्षा जास्त आहे, त्यांना फ्लॅग केले जाते.

उघड झालेल्या सिंक्सचे दोन प्रकार

  1. True sinks – प्रॉम्प्टच्या आशयाचा विचार न करता, वाक्याची सुरुवात (BOS) दर्शवणारे टोकन सातत्याने अटेंशनचा मोठा भाग शोषून घेते.
  2. Structural sinks – सिस्टिम-लेव्हल प्रॉम्प्ट्सचे भाग असलेले टोकन्स, जसे की ChatML मध्ये वापरले जाणारे मार्कर्स (<im_start>, <im_end>), लहान क्लस्टर्स तयार करतात जे देखील अटेंशन आकर्षित करतात. ते लॉजिकल बाउंड्रीज म्हणून काम करतात, ज्यामुळे मॉडेलला युजर मेसेज आणि सिस्टिम सूचना वेगळ्या करण्यास मदत होते.

प्रतिवाद: आपल्याला खरोखर रॉ मॅट्रिक्सची गरज आहे का?

लेखक असे सूचित करतात की रॉ नंबर्सशिवाय सिंकची ही घटना लपलेली राहते आणि अपूर्ण डेटावर आधारित कोणतीही कॅश-प्रूनिंग पॉलिसी मॉडेल अस्थिर करण्याचा धोका निर्माण करते.

पुढे काय पाहावे

हे डिटेक्टर चार भागांच्या मालिकेतील दुसरे भाग आहे, ज्याची सुरुवात जनरेशन क्वालिटीसाठी एन्ट्रॉपी ट्रॅकरने झाली होती. आगामी भागात सिंक डिटेक्शनला entropy-guided speculative decoding सोबत जोडले जाईल. अंतिम अभ्यास हा एक एम्पिरिकल अभ्यास असेल.

निष्कर्ष: अटेंशन सिंक्स ही कोणतीही अनाकलनीय गोष्ट नाही; ते स्ट्रक्चरल पिलर्स आहेत जे प्रीफिल दरम्यान Transformer चे अटेंशन वितरण व्यवस्थित ठेवतात. त्यांना दुर्लक्षित करणारी कोणतीही KV-cache प्रूनिंग स्ट्रॅटेजी मॉडेलची स्थिरता धोक्यात आणेल. ही टोकन्स शोधणे आणि जतन करणे हा एक कमी खर्चाचा उपाय आहे जो लाँग-कॉन्टेक्स्ट इन्फरन्सला विश्वसनीय आणि कार्यक्षम बनवू शकतो.