SoftWater: Class-Aware Rate Allocation for Softmax Quantization
SoftWater एक क्लास-अवेयर रेट एलोकेशन विधि है जो सॉफ्टमैक्स क्वांटाइजेशन के लिए KL-डाइवर्जेंस-आधारित रेट-डिस्टॉर्शन समस्या को हल करती है ताकि बार-बार आने वाली, कम-वैरिएंस वाली क्लासेज को महीन ग्रिड और दुर्लभ क्लासेज को मोटे ग्रिड आवंटित किए जा सकें, जिससे छोटे LLMs में स्टोरेज ओवरहेड को काफी कम करते हुए परप्लेक्सिटी डिग्रेडेशन को न्यूनतम किया जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप किताबों के एक विशाल पुस्तकालय को एक छोटे से बैकपैक में फिट करने के लिए सिकोड़ने की कोशिश कर रहे हैं। आर्टिफिशियल इंटेलिजेंस (AI) की दुनिया में, ये "किताबें" विशाल भाषा मॉडल (language models) हैं—कंप्यूटर मस्तिष्क जिन्हें लिखने, चैट करने और समस्याओं को हल करने के लिए प्रशिक्षित किया गया है। उन्हें आपके फोन या एक छोटे लैपटॉप पर चलाने के लिए पर्याप्त तेज़ बनाने के लिए, वैज्ञानिक एक तकनीक का उपयोग करते हैं जिसे क्वांटाइजेशन (quantization) कहा जाता है। इसे एक हाई-डेफिनिशन मूवी को पिक्सेलेटेड, लो-रेज़ोल्यूशन संस्करण में बदलने जैसा समझें। आप कुछ विवरण खो देते हैं, लेकिन फ़ाइल का आकार नाटकीय रूप से कम हो जाता है, जिससे यह पोर्टेबल बन जाता है।
आमतौर पर, जब वैज्ञानिक इन AI मॉडलों को सिकोड़ते हैं, तो वे मस्तिष्क के हर हिस्से के साथ एक जैसा व्यवहार करते हैं। वे "शरीर" (वह हिस्सा जो संदर्भ/context को समझता है) और "सिर" (वह हिस्सा जो यह तय करता है कि अगला शब्द क्या होगा) दोनों को एक ही छोटे बॉक्स में दबा देते हैं। लेकिन यहाँ एक पेंच है: आधुनिक AI में, "सिर" आश्चर्यजनक रूप से भारी होता है। यह मॉडल की कुल मेमोरी का एक बड़ा हिस्सा रखता है—कभी-कभी लगभग एक तिहाई! यदि आप पूरे मॉडल को एक बहुत छोटे आकार में सिकोड़ देते हैं लेकिन सिर को उसके मूल, भारी प्रारूप में ही छोड़ देते हैं, तो आप वास्तव में बहुत अधिक जगह नहीं बचा पाते हैं। यह एक सूटकेस पैक करने जैसा है जहाँ आप अपने कपड़ों को तो कंप्रेस कर देते हैं लेकिन भारी जूतों को उनके मूल, भारी बक्सों में ही छोड़ देते हैं। हम जिस पेपर को देख रहे हैं, वह इसी विशिष्ट समस्या पर काम करता है: AI के "शब्द चुनने वाले सिर" को कैसे सिकोड़ा जाए बिना उसे लड़खड़ाने या रोबोटिक बनाए बिना।
इस पेपर के लेखक, एमआईटी (MIT) के जियो वी. कैवलकांटी और आशिया सी. विल्सन ने महसूस किया कि सिर को सिकोड़ने का पुराना तरीका एक अखरोट को तोड़ने के लिए हथौड़े का उपयोग करने जैसा था। उन्होंने इस समस्या को एक रेट-डिस्टॉर्शन (rate-distortion) समस्या के रूप में देखा। कल्पना कीजिए कि आपके पास AI के विकल्पों का वर्णन करने के लिए "बिट्स" (भंडारण का डिजिटल मुद्रा) खर्च करने का एक सीमित बजट है। पुराने तरीके इन बिट्स को समान रूप से खर्च करते थे, जैसे डिक्शनरी के हर शब्द को समान ध्यान देना। लेकिन लेखकों ने देखा कि AI शब्दों का समान रूप से उपयोग नहीं करता है। यह "the" या "and" जैसे सामान्य शब्दों का लगातार उपयोग करता है, और "xylophone" या "quintessential" जैसे दुर्लभ शब्दों का केवल कभी-कभी उपयोग करता है।
यह पेपर एक नई विधि पेश करता है जिसे सॉफ्टवॉटर (SoftWater) कहा जाता है। हर शब्द को समान स्टोरेज स्पेस देने के बजाय, सॉफ्टवॉटर एक स्मार्ट वॉटर स्प्रिंकलर सिस्टम की तरह काम करता है। यह बार-बार उपयोग होने वाले, कम वेरिएंस वाले शब्दों (जिनका AI बार-बार उपयोग करता है और उन्हें एक ही तरह से उपयोग करता है) पर बिट्स की एक महीन, उच्च-रिज़ॉल्यूशन वाली धुंध (mist) छिड़कता है। दुर्लभ, अप्रत्याशित शब्दों के लिए, यह एक मोटा, व्यापक स्प्रे उपयोग करता है। यह "क्लास-अवेयर" (class-aware) दृष्टिकोण यह सुनिश्चित करता है कि AI सामान्य शब्दों को पूरी तरह से याद रख सके जबकि दुर्लभ शब्दों पर थोड़ी धुंधलापन स्वीकार कर सके, और यह सब समान मात्रा में स्थान का उपयोग करते हुए संभव होता है।
शोधकर्ताओं ने इसे पांच अलग-अलग AI मॉडलों पर परखा, जो 1-बिलियन-पैरामीटर वाले छोटे मॉडल से लेकर 32-बिलियन-पैरामीटर वाले विशाल मॉडल तक हैं। उन्होंने पाया कि सॉफ्टवॉटर पिछले सबसे अच्छे तरीके, जिसे WaterSIC कहा जाता है, से काफी बेहतर है। 60 में से 59 परीक्षणों में, सॉफ्टवॉटर ने एक ऐसा मॉडल तैयार किया जो अधिक स्वाभाविक लगा और जिसने कम गलतियाँ कीं (जिसे "KL डाइवर्जेंस" द्वारा मापा जाता है, जो बस यह बताने का एक फैंसी तरीका है कि AI के विकल्प मूल से कितने अलग हैं)।
यहाँ जादुई नंबर है: जब उन्होंने एक 1-बिलियन-पैरामीटर मॉडल के "सिर" को केवल 2 बिट्स प्रति वेट तक सिकोड़ा, तो सॉफ्टवॉटर ने मॉडल के कुल आकार को 45% से 60% तक कम कर दिया, जबकि AI केवल थोड़ा कम सटीक हुआ (परप्लेक्सिटी में 2.9% से 3.7% की वृद्धि)। इसके विपरीत, पुराने तरीके ने समान स्थान के लिए AI को बहुत अधिक भ्रमित कर दिया। इससे भी अधिक प्रभावशाली बात यह है कि जब उन्होंने 4-बिट वाला सिर इस्तेमाल किया, तो मॉडल मूल, उच्च-गुणवत्ता वाले संस्करण से लगभग अविभेद्य था।
पेपर ने यह भी पता लगाया कि यह विधि लचीली है। यदि आप जानते हैं कि AI का उपयोग किसी विशिष्ट कार्य के लिए किया जाएगा, जैसे कानूनी दस्तावेज़ लिखना या कोडिंग करना, तो आप उस विशिष्ट विषय के लिए स्प्रिंकलर सिस्टम को "कैलिब्रेट" (calibrate) कर सकते हैं। यह सुनिश्चित करता है कि AI उस विशिष्ट डोमेन के लिए आवश्यक शब्दों पर भी तेज बना रहे। लेखकों ने दिखाया कि कैलिब्रेशन डेटा को वास्तविक दुनिया के उपयोग के मामले से मिलाने से AI और भी बेहतर प्रदर्शन करता है।
संक्षेप में, सॉफ्टवॉटर केवल AI को सिकोड़ता नहीं है; यह इसे बुद्धिमानी से सिकोड़ता है। यह समझता है कि सभी शब्द समान नहीं होते और उसी के अनुसार स्टोरेज स्पेस आवंटित करता है। ऐसा करके, यह शक्तिशाली, उच्च-गुणवत्ता वाले AI मॉडलों को उन उपकरणों पर चलाना संभव बनाता है जो पहले उन्हें संभालने में सक्षम नहीं थे, और वह भी बिना मॉडल को फिर से प्रशिक्षित (retrain) किए। यह एक व्यावहारिक, गणितीय रूप से सुदृढ़ तरीका है जिससे AI को हल्का, तेज़ और वास्तविक दुनिया के लिए तैयार बनाया जा सकता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।