NIRVANA: Structured Pruning Reimagined for Large Language Model Compression
NIRVANA एक नवीन, हार्डवेयर-जागरूक स्ट्रक्चर्ड प्रूनिंग फ्रेमवर्क है जो न्यूरल टेंगेंट कर्नेल-प्रेरित सैलिएंसी (saliency), इष्टतम आवंटन के साथ एक वैश्विक यूनिट-रैंकिंग रणनीति, और KL-डाइवर्जेंस-संचालित डेटा चयन का लाभ उठाता है ताकि बिना किसी गणनात्मक रूप से महंगी रिट्रेनिंग के शून्य-शॉट प्रदर्शन और फाइन-ट्यूनिंग क्षमताओं को संरक्षित करते हुए लार्ज लैंग्वेज मॉडल्स का अत्याधुनिक संपीड़न (compression) प्राप्त किया जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास किताबों का एक विशाल, अविश्वसनीय रूप से बुद्धिमान पुस्तकालय है जो किसी भी प्रश्न का उत्तर दे सकता है, चुटकुले सुना सकता है, या कोड लिख सकता है। यह पुस्तकालय इतना बड़ा है कि इसकी लाइटें चालू रखने के लिए ही कंप्यूटरों का एक पूरा गोदाम चाहिए। आर्टिफिशियल इंटेलिजेंस की दुनिया में, इन्हें लार्ज लैंग्वेज मॉडल्स (LLMs) कहा जाता है। ये सुपर-ब्रेन की तरह हैं, लेकिन ये इतने भारी और बिजली के भूखे होते हैं कि केवल बड़े टेक दिग्गज ही इन्हें चलाने का खर्च उठा सकते हैं। वैज्ञानिक इन 'मस्तिष्कों' को छोटा करने की कोशिश कर रहे हैं—जैसे कि एक पूरी विश्वकोश को एक जेब वाले नोटबुक में पैक करना—बिना पढ़ने या समझने की क्षमता खोए।
इसे करने के लिए, शोधकर्ता "प्रूनिंग" (pruning) नामक तकनीक का उपयोग करते हैं। एक पेड़ की कल्पना करें जो सर्दियों में होता है। इसे वसंत में जीवित रहने और तेजी से बढ़ने में मदद करने के लिए, एक माली अनावश्यक या मृत शाखाओं को काट देता है। AI में, प्रूनिंग का अर्थ है मॉडल के उन हिस्सों को काट देना जो बहुत कम काम कर रहे हैं। इसे करने के दो मुख्य तरीके हैं: आप हर जगह छोटे-छोटे व्यक्तिगत धागे (weights) काट सकते हैं, जिससे पेड़ अव्यवस्थित दिखता है और वास्तव में कंप्यूटर पर इसे तेज़ नहीं बनाता, या आप पूरी शाखाएं (न्यूरॉन्स या अटेंशन हेड्स) काट सकते हैं, जो पेड़ के आकार को साफ रखता है और इसे बहुत तेज़ बनाता है। समस्या यह है कि जब आप बहुत अधिक शाखाएं काट देते हैं, तो पेड़ अक्सर बढ़ना बंद कर देता है या ठीक से बोलना भूल जाता है। इसे फिर से सीखने के लिए बहुत अधिक महंगे "रिकवरी ट्रेनिंग" की आवश्यकता होती है, और फिर भी, यह अक्सर थोड़ा अनाड़ी बना रहता है।
यहीं पर NIRVANA नामक एक नई विधि आती है। इसके पीछे के शोधकर्ताओं ने एक ऐसी प्रूनिंग रणनीति बनाने की कोशिश की जो केवल यह अनुमान न लगाए कि कौन सी शाखाएं काटनी हैं, बल्कि यह भी समझे कि पेड़ कैसे सोचता है। उन्होंने महसूस किया कि केवल यह देखना कि कोई शाखा कितनी "मजबूत" है (उसका वेट), पर्याप्त नहीं है। इसके बजाय, उन्होंने न्यूरल टेंगेंट कर्नेल (Neural Tangent Kernel - NTK) नामक एक गणितीय अवधारणा का उपयोग किया। आप NTK को पेड़ के "विकास की क्षमता" के मानचित्र (map) के रूप में देख सकते हैं। यह न केवल यह दिखाता है कि एक शाखा कितनी बड़ी है, बल्कि यह भी कि भविष्य में पेड़ की सीखने की क्षमता उस पर कितनी निर्भर करती है। इस मानचित्र का उपयोग करके, NIRVANA सटीक रूप से पता लगाता है कि किन शाखाओं को काटना है ताकि पेड़ स्वस्थ रहे, अपनी याददाश्त बनाए रखे, और कटाई के तुरंत बाद नई चीजें सीखने के लिए तैयार रहे, बिना किसी लंबे और महंगे रिकवरी पीरियड के।
बड़ा विचार: AI पेड़ों के लिए एक स्मार्ट माली
यह पेपर NIRVANA (जिसका अर्थ है NTK-InfoRmed adaptiVe neuron & AttentioN heAd pruning) को पेश करता है, जो बड़े AI मॉडल्स को छोटा करने का एक नया तरीका है जो स्मार्ट और हार्डवेयर-अनुकूल है। लेखक तर्क देते हैं कि पिछले तरीके ऐसे माली की तरह थे जो पेड़ के समग्र स्वास्थ्य को देखे बिना केवल बड़ी शाखाओं को काट देते थे। इससे अक्सर पेड़ ढह जाता है या गणित या कोडिंग जैसे जटिल कार्यों को करने की क्षमता खो देता है।
NIRVANA खेल बदल देता है क्योंकि यह एक अत्यधिक प्रशिक्षित वनस्पति विज्ञानी (botanist) की तरह कार्य करता है जो एक विशेष "विकास मानचित्र" (NTK) का उपयोग यह तय करने के लिए करता है कि क्या काटना है। यह कैसे काम करता है, यहाँ सरल चरणों में दिया गया है:
1. "विकास मानचित्र" (NTK-Guided Saliency)
केवल यह पूछने के बजाय कि, "क्या यह वेट बड़ा है?", NIRVANA पूछता है, "यदि मैं इसे काटता हूँ, तो पेड़ की सीखने की क्षमता में कितना बदलाव आएगा?" वे Neural Tangent Kernel से प्रेरित प्रथम-क्रम फलन-स्थान (first-order function-space) सलीइन्सी स्कोर का उपयोग करते हैं। सरल शब्दों में, यह मापता है कि मॉडल का एक विशिष्ट हिस्सा मॉडल के आउटपुट और नए कार्यों पर उसके भविष्य के फाइन-ट्यूनिंग (प्रशिक्षण) की क्षमता में कितना योगदान देता है।
- उपमा: कल्पना कीजिए कि एक बैंड गाना बजा रहा है। कुछ वाद्य यंत्र तेज़ होते हैं, लेकिन यदि आप उन्हें म्यूट कर देते हैं, तो गाना ठीक लगता है। अन्य वाद्य यंत्र शांत हो सकते हैं, लेकिन यदि आप उन्हें म्यूट कर देते हैं, तो पूरा गाना बिखर जाता है। NIRVANA गाने (मॉडल का आउटपुट) और "शीट संगीत" (प्रशिक्षण गतिशीलता) दोनों को सुनता है ताकि उन वाद्य यंत्रों को ढूंढ सके जो वास्तव में आवश्यक हैं, न कि केवल सबसे तेज़।
2. केवल पत्तियां नहीं, बल्कि पूरी शाखाएं काटना (Structured Pruning)
कई पुराने तरीके मॉडल में बिखरे हुए व्यक्तिगत धागों (weights) को काटने की कोशिश करते हैं। यह एक पेड़ से हर पत्ते का छोटा-छोटा हिस्सा काटने जैसा है। यह पेड़ को हल्का तो बनाता है, लेकिन क्योंकि कट अव्यवस्थित होते हैं, कंप्यूटर हार्डवेयर (जो चीजों को साफ पंक्तियों में प्रोसेस करने के लिए बना है) इसे तेज़ नहीं चला पाता।
NIRVANA एक साथ पूरी "शाखाओं" को काटता है। एक AI मॉडल में, ये शाखाएं या तो अटेंशन हेड्स (Attention Heads) (जो मॉडल को महत्वपूर्ण शब्दों पर ध्यान केंद्रित करने में मदद करते हैं) या MLP न्यूरॉन्स (MLP Neurons) (जो मॉडल को तथ्य और तर्क संग्रहीत करने में मदद करते हैं) होती हैं। पूरी इकाइयों को हटाकर, मॉडल छोटा हो जाता है और मानक कंप्यूटरों पर काफी तेज़ी से चलता है।
3. सही संतुलन (Adaptive Sparsity)
यहाँ एक पेचीदा हिस्सा है: सभी शाखाएं एक जैसी नहीं होतीं। मॉडल के कुछ हिस्से (जैसे MLP न्यूरॉन्स) तथ्य संग्रहीत करने में माहिर होते हैं, जबकि अन्य (जैसे अटेंशन हेड्स) संदर्भ (context) को समझने में माहिर होते हैं। यदि आप एक प्रकार के बहुत अधिक हिस्से काट देते हैं, तो मॉडल एक विशिष्ट कौशल खो देता है।
NIRVANA एक विशेष फॉर्मूला का उपयोग करके सही अनुपात का पता लगाता है। यह यह तय करने के लिए (गामा) नामक एक मान की गणना करता है कि "तथ्य-संग्रहण" वाले हिस्सों से कितना काटना है बनाम "फोकस" वाले हिस्सों से।
- निष्कर्ष: पेपर सुझाव देता है कि उनके द्वारा परीक्षण किए गए मॉडल्स (जैसे Llama3.1-8B) के लिए, मॉडल को संतुलित रखने के लिए आपको अटेंशन हेड्स की तुलना में MLP न्यूरॉन्स से लगभग 3.36 गुना अधिक काटना चाहिए। यह कोई रैंडम अनुमान नहीं है; उन्होंने इसे गणितीय रूप से निकाला है और सिद्ध किया है कि यह समान रूप से सब कुछ काटने की तुलना में बेहतर काम करता है।
4. सही "टेस्ट प्रश्न" चुनना (KL-Divergence Data Selection)
यह जानने के लिए कि कौन सी शाखाएं काटनी हैं, माली को पेड़ का परीक्षण करने की आवश्यकता होती है। इसके लिए डेटा के एक छोटे सेट (कैलिब्रेशन डेटा) की आवश्यकता होती है। पिछले तरीके अक्सर परीक्षण के लिए रैंडम टेक्स्ट का उपयोग करते थे। लेखकों ने पाया कि प्रूनिंग के लिए परीक्षण डेटा की गुणवत्ता उसकी मात्रा से अधिक महत्वपूर्ण है।
उन्होंने KL डाइवर्जेंस (दो चीजों के बीच अंतर मापने का एक तरीका) को मापकर सबसे अच्छा परीक्षण डेटा चुनने के लिए एक विधि पेश की। वे विभिन्न छोटे टेक्स्ट बैचों का परीक्षण करते हैं और देखते हैं कि प्रूनिंग के दौरान मॉडल के आउटपुट में सबसे कम बदलाव किस कारण आता है।
- परिणाम: उन्होंने पाया कि केवल 32 उदाहरण (128 टोकन की लंबाई के साथ) पर्याप्त हैं। आश्चर्यजनक रूप से, उन्होंने पाया कि "सबसे अच्छा" डेटा हमेशा सबसे सुसंगत या तथ्यात्मक रूप से सही टेक्स्ट नहीं था। कभी-कभी, अजीब या असंगत टेक्स्ट प्रूनिंग के लिए बेहतर काम करता है, जिससे पता चलता है कि डेटा में मानवीय धारणा की गुणवत्ता के बजाय सांख्यिकीय पैटर्न अधिक मायने रखते हैं।
उन्होंने क्या पाया (और क्या नहीं)
शोधकर्ताओं ने Llama3.1-8B, Llama3.2-3B, Qwen2.5, और T5 सहित कई प्रसिद्ध AI मॉडल्स पर NIRVANA का परीक्षण किया। उन्होंने इसकी तुलना LLM-Pruner, SliceGPT, और FLAP जैसे अन्य शीर्ष प्रूनिंग तरीकों से की।
अच्छी खबर:
- बेहतर प्रदर्शन: समान स्तर के सिकुड़ने (sparsity) पर, NIRVANA ने गणित, कोडिंग और सामान्य ज्ञान के परीक्षणों पर लगातार उच्च स्कोर किया। उदाहरण के लिए, एक कोड-जेनरेशन टेस्ट (MBPP) पर, जहाँ अन्य तरीके 20% स्पर्सिटी पर शून्य के करीब पहुँच गए, NIRVANA ने 23.80 का स्कोर बनाए रखा, जो अगले सबसे अच्छे तरीके (जिसने 4.40 स्कोर किया) से कहीं बेहतर है।
- तेज़ रिकवरी: जब उन्होंने LoRA नामक एक हल्के तरीके का उपयोग करके कटे हुए मॉडल्स को "री-ट्रेन" करने की कोशिश की, तो NIRVANA ने अन्य तरीकों की तुलना में अपने कौशल को बहुत तेज़ी से और बेहतर तरीके से प्राप्त किया। यह बताता है कि प्रूनिंग ने मॉडल की सीखने की क्षमता को बाधित नहीं किया।
- वास्तविक गति: क्योंकि उन्होंने पूरी शाखाओं को काटा और सुनिश्चित किया कि शेष आकार 8 के गुणक (multiples) हों (जो कंप्यूटर चिप्स के तेज़ काम करने के लिए एक आवश्यकता है), NIRV एना ने वास्तव में मॉडल को तेज़ बनाया। एक मानक कंप्यूटर चिप (NVIDIA A100) पर, इसने उन अन्य तरीकों की तुलना में टेक्स्ट जेनरेट करने के समय (लेटेंसी) को काफी कम कर दिया जो केवल गणितीय ऑपरेशन्स को कम करते हैं लेकिन हार्डवेयर को तेज़ नहीं बनाते।
सीमाएँ:
- उच्च स्पर्सिटी कठिन है: सभी प्रूनिंग विधियों की तरह, यदि आप बहुत अधिक काट देते हैं (जैसे 50% या उससे अधिक), तो मॉडल का प्रदर्शन गिर जाता है। पेपर स्वीकार करता है कि बहुत उच्च संपीड़न दरों पर, मॉडल को पूरी तरह से उबरने के लिए अधिक व्यापक री-ट्रेनिंग की आवश्यकता हो सकती है।
- वन-शॉट बनाम इटरेटिव: NIRVANA एक "वन-शॉट" विधि है, जिसका अर्थ है कि यह कटाई एक बार में करता है। कुछ अन्य तरीके सबसे अच्छे कट खोजने के लिए घंटों के ट्रायल-एंड-एरर (इटरेटिव सर्च) का उपयोग करते हैं। जबकि NIRVANA बहुत तेज़ है (प्रून करने में 2 सेकंड से भी कम समय लेता है), पेपर नोट करता है कि इटरेटिव तरीके थोड़ा बेहतर कट पा सकते हैं यदि आपके पास दिनों तक प्रतीक्षा करने का समय हो, लेकिन NIRVANA गति और गुणवत्ता का सबसे अच्छा संतुलन प्रदान करता है।
यह क्यों मायने रखता है
पेपर सुझाव देता है कि NIRVANA AI को छोटा करने के लिए एक "सैद्धांतिक रूप से ठोस और व्यावहारिक दृष्टिकोण" प्रदान करता है। यह उस समस्या को हल करता है जहाँ मॉडल नियमित कंप्यूटरों के लिए बहुत बड़े हो जाते हैं, क्योंकि यह उन्हें इस तरह से काटता है जो उनके सीखने के तरीके का सम्मान करता है। "ग्रोथ मैप" (NTK) का उपयोग करके और कट को सावधानीपूर्वक संतुलित करके, यह AI को स्मार्ट और तेज़ बनाए रखता है बिना किसी विशाल कंप्यूटर वेयरहाउस के।
संक्षेप में, NIRVANA AI को छोटा करने का एक स्मार्ट तरीका है। यह केवल मॉडल को काटता नहीं है; यह इसे सावधानी से तराशता है ताकि AI स्वस्थ रहे, जल्दी सीख सके और हमारे पास मौजूद उपकरणों पर तेज़ी से चल सके।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।