A 35B Hybrid-Attention Mixture-of-Experts Model on a 6GB 2011 GPU: Hand-Written 4-bit CUDA Inference for Fermi
यह शोध पत्र एक हाइब्रिड निष्पादन रणनीति को लागू करके 2011 के 6GB फर्मी (Fermi) GPU पर 35-बिलियन-पैरामीटर वाले Qwen3.6 MoE मॉडल के एंड-टू-एंड इन्फरेंस (inference) का प्रदर्शन करता है, जो GPU प्रीफिल के लिए वेट्स (weights) को स्ट्रीम करता है और CPU डिकोडिंग के लिए एक हैंड-रिटन SSSE3 इंटिजर कर्नल का उपयोग करता है, साथ ही प्रदर्शन लाभों और लीगेसी सिलिकॉन पर फ्रंटियर-क्लास AI चलाने की व्यावहारिक हार्डवेयर सीमाओं दोनों को प्रलेखित करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने नहीं लिखा है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक विशाल, अविश्वसनीय रूप से बुद्धिमान पुस्तकालय है जिसमें 35 अरब पुस्तकें हैं (एक आधुनिक AI मॉडल)। अब, कल्पना कीजिए कि आप इस पुस्तकालय से एक विशिष्ट कहानी पढ़ना चाहते हैं, लेकिन आप एक छोटे से, 14 साल पुराने शेड में फंसे हुए हैं जहाँ केवल एक छोटा सा डेस्क और एक बहुत पुराना, धीमा कंप्यूटर है।
यह बिल्कुल वही है जो यह शोध पत्र (paper) वर्णित करता है। शोधकर्ताओं ने सफलतापूर्वक एक अत्याधुनिक AI मॉडल को 2011 के ग्राफिक्स कार्ड (GPU) पर चलाने में सफलता प्राप्त की है, जिसमें केवल 6 GB मेमोरी है—जो मॉडल के आकार का लगभग आधा ही है।
उन्होंने इस "असंभव" कार्य को कैसे अंजाम दिया, इसे सरल उपमाओं (analogies) के माध्यम से यहाँ समझाया गया है:
1. समस्या: शेड के लिए पुस्तकालय बहुत बड़ा है
AI मॉडल एक विशाल विश्वकोश (encyclopedia) की तरह है। भले ही इसे सिकोड़ दिया जाए (4-bit प्रिसिजन में कंप्रेस किया जाए), फिर भी यह लगभग 10.5 GB जगह घेरता है। पुराने कंप्यूटर के पास केवल 6 GB का डेस्क है।
- समस्या: आप पूरी किताब को डेस्क पर नहीं रख सकते।
- पुराना तरीका: आधुनिक कंप्यूटरों में इस काम को संभालने के लिए "टेन्सर कोर्स" (विशेषीकृत कैलकुलेटर) और तेज़ मेमोरी होती है। 2011 के कार्ड में इनमें से कुछ भी नहीं है। यह उन्नत गणित को एक ऐसे कैलकुलेटर के साथ करने जैसा है जिसमें केवल जोड़ और घटाव के बटन हैं।
2. समाधान: दो टीमों की रिले रेस
चूंकि पूरा मॉडल फिट नहीं होता, इसलिए शोधकर्ताओं ने काम को दो टीमों में विभाजित किया: एक GPU टीम (पुराना ग्राफिक्स कार्ड) और एक CPU टीम (मुख्य कंप्यूटर प्रोसेसर)।
चरण 1: "प्रीफिल" (प्रॉम्प्ट पढ़ना)
- उपमा: कल्पना कीजिए कि आपको शुरू करने के लिए निर्देशों की एक लंबी सूची (प्रॉम्प्ट) पढ़ने की आवश्यकता है।
- ट्रिक: GPU एक तेज़ कन्वेयर बेल्ट की तरह कार्य करता है। यह मुख्य कंप्यूटर की हार्ड ड्राइव से "पुस्तकों" (मॉडल वेट्स) का एक छोटा हिस्सा पकड़ता है, उसे अपने छोटे डेस्क पर रखता है, उस हिस्से के लिए गणित करता है, और फिर अगले हिस्से के लिए उन्हें बदल देता है।
- परिणाम: पूरी किताब को एक साथ पढ़ने के बजाय, यह इसे निरंतर प्रवाह में पेज-दर-पेज पढ़ता है। इसने उन्हें शुरुआती निर्देशों को पहले की तुलना में 34% तेज़ी से प्रोसेस करने की अनुमति दी।
चरण 2: "डिकोड" (कहानी लिखना)
- उपमा: अब AI को एक बार में एक शब्द करके कहानी लिखनी है।
- समस्या: यदि GPU यह करने की कोशिश करता, तो उसे हर एक शब्द के लिए हार्ड ड्राइव तक बार-बार दौड़ना पड़ता। यह एक धावक के पुस्तकालय तक दौड़कर जाने, एक किताब उठाने, वापस आने, एक शब्द लिखने और फिर से यही दोहराने जैसा है। यह बहुत धीमा है।
- ट्रिक: उन्होंने इस काम को मुख्य कंप्यूटर के मस्तिष्क (CPU) पर स्थानांतरित कर दिया। उन्होंने एक कस्टम, सुपर-एफिशिएंट "हस्तलिखित" कोड लिखा जो संख्याओं को जटिल दशमलव (decimals) के बजाय सरल पूर्णांकों (integers/whole numbers) की तरह मानता है।
- परिणाम: इसने AI को शब्दों को पहले की तुलना में 3 गुना तेज़ी से लिखने में सक्षम बनाया, जिससे एक धीमी रेंगने वाली गति एक स्थिर दौड़ में बदल गई।
3. "जादुई" शॉर्टकट
शोधकर्ताओं ने केवल काम को विभाजित ही नहीं किया; उन्होंने पुराने हार्डवेयर को नया महसूस कराने के लिए चतुर शॉर्टकट भी बनाए।
"स्नैपशॉट" कैश:
- समस्या: AI की एक "मेमोरी" होती है जो पढ़ने के दौरान बदलती रहती है। आमतौर पर, आप पुराने काम का पुन: उपयोग नहीं कर सकते क्योंकि मेमोरी की स्थिति अलग होती है।
- समाधान: उन्होंने विशिष्ट चेकपॉइंट्स पर AI की मेमोरी के "स्नैपशॉट" लिए। यदि आप AI को वही कहानी दोबारा सुनाने के लिए कहते हैं जो उसने पहले सुनी थी, तो वह पूरी चीज़ को फिर से नहीं पढ़ता। वह सीधे अंतिम स्नैपशॉट पर कूद जाता है जो उसने सहेजा था।
- परिणाम: एक लंबे प्रॉम्प्ट को दोहराने में 78 सेकंड के बजाय केवल 0.5 सेकंड लगे। यह किसी फिल्म को फिर से देखने के बजाय सीधे उसके अंत पर जाने जैसा है।
"पिन्ड" (Pinned) मेमोरी:
- उपमा: सामान्यतः, हार्ड ड्राइव से GPU तक डेटा ले जाना एक डगमगाते फोर्कलिफ्ट के साथ बक्से ले जाने जैसा है।
- समाधान: उन्होंने बक्सों को एक जगह "लॉक" कर दिया (पिन्ड मेमोरी) ताकि फोर्कलिफ्ट बिना डगमगाए उन्हें सुचारू रूप से ले जा सके। इससे डेटा ले जाने में लगने वाला समय आधा हो गया।
4. क्या काम नहीं आया (असफलता के बिंदु)
इस पेपर का एक हिस्सा इस बारे में भी है कि क्या विफल रहा, जो उतना ही महत्वपूर्ण है। यह हमें बताता है कि दीवार कहाँ है।
- लिखने के लिए GPU का उपयोग करना: उन्होंने GPU से शब्द लिखवाने की कोशिश की, लेकिन पुराना कार्ड डेटा को आगे-पीछे ले जाने में बहुत धीमा था। यह वास्तव में CPU से भी धीमा था।
- कंप्यूटर के सभी थ्रेड्स का उपयोग करना: उन्होंने हर उपलब्ध प्रोसेसिंग थ्रेड का उपयोग करने की कोशिश की (जैसे 12 के बजाय 24 श्रमिकों को काम पर रखना)। इससे ट्रैफिक जाम जैसी स्थिति पैदा हो गई, जिससे काम बहुत धीमा हो गया।
- गणित को फिर से लिखना: उन्होंने गणित के कर्नेल (math kernels) को तीन अलग-अलग तरीकों से फिर से लिखने की कोशिश की, लेकिन पुराना हार्डवेयर आवश्यक प्रकार के गणित को संभालने में सक्षम नहीं था।
निचोड़ (The Bottom Line)
यह पेपर कोई नया स्पीड रिकॉर्ड बनाने के बारे में नहीं है। यह एक 'प्रूफ ऑफ कॉन्सेप्ट' है जो कहता है: "आपको 35-बिलियन-पैरामीटर वाले AI को चलाने के लिए $20,000 के सुपरकंप्यूटर की आवश्यकता नहीं है।"
पुराने हार्डवेयर को एक पहेली की तरह मानने और शून्य से एक कस्टम इंजन बनाने के माध्यम से (उस कंप्यूटर आर्किटेक्चर के लिए हस्तलिखित कोड लिखकर जिसे सॉफ्टवेयर डेवलपर्स ने 14 साल पहले छोड़ दिया था), उन्होंने साबित कर दिया कि यदि आपकी इंजीनियरिंग पर्याप्त चतुर है, तो आप पुराने हार्डवेयर पर भी आधुनिक AI चला सकते हैं।
संक्षेप में: उन्होंने एक फेरारी इंजन (AI मॉडल) को एक 1990 के दशक के साइकिल फ्रेम (2011 GPU) पर चलाने के लिए एक कस्टम ट्रांसमिशन बनाया और ईंधन का प्रकार बदला, यह साबित करते हुए कि पर्याप्त सूझबूझ के साथ, आप पुरानी तकनीक के साथ भी आश्चर्यजनक रूप से आगे बढ़ सकते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।