ग्रीनबूस्ट: लिनक्स मॉड्यूल RAM को CUDA मेमोरी में बदल देता है और NVIDIA के साथ LLM के उपयोग में क्रांति ला देता है

NVIDIANVIDIA

NVIDIA - Stock all / Shutterstock.com

ग्रीनबूस्ट के आगमन के साथ स्थानीय कृत्रिम बुद्धिमत्ता विकास परिदृश्य एक महत्वपूर्ण परिवर्तन से गुजर रहा है। लिनक्स कर्नेल के लिए यह अभिनव मॉड्यूल डेवलपर्स और शोधकर्ताओं के सामने आने वाली मुख्य बाधाओं में से एक को दूर करने का वादा करता है: उपभोक्ता एनवीआईडीआईए कार्ड पर वीडियो मेमोरी (वीआरएएम) की सीमा। सिस्टम रैम को CUDA आर्किटेक्चर द्वारा उपयोग योग्य संसाधन में परिवर्तित करके, ग्रीनबूस्ट कमोडिटी पीसी पर सीधे जटिल बड़े पैमाने के भाषा मॉडल (एलएलएम) चलाने के लिए नए दरवाजे खोलता है।

स्वतंत्र प्रोग्रामर फेरान डुआरी द्वारा विकसित यह पहल ऐसे माहौल में एक महत्वपूर्ण प्रगति का प्रतिनिधित्व करती है जहां उच्च क्षमता वाले हार्डवेयर, जैसे प्रचुर वीआरएएम के साथ एंटरप्राइज़-ग्रेड जीपीयू, अधिकांश के लिए पहुंच योग्य नहीं है। समाधान मौजूदा संसाधनों के उपयोग को अनुकूलित करने पर केंद्रित है, जिससे वीआरएएम बाधाओं के साथ भी एनवीआईडीआईए जीपीयू की कम्प्यूटेशनल शक्ति का पूरी तरह से दोहन किया जा सकता है, ओपन सोर्स एआई में अनुसंधान और विकास को बढ़ावा दिया जा सकता है।

जिन मॉडलों को पहले दसियों गीगाबाइट मेमोरी की आवश्यकता होती थी, जैसे “glm-4.7-flash:q8_0” को 31.8 जीबी मेमोरी के साथ उपभोक्ता उपकरणों पर चलाने की क्षमता लगभग एक दुर्गम चुनौती थी। पारंपरिक दृष्टिकोण के परिणामस्वरूप अक्सर प्रदर्शन में बाधाएं आती हैं या अनुमान की गुणवत्ता में गिरावट आती है, जिससे कई उत्साही और छोटे डेवलपर्स के लिए इन मॉडलों के साथ व्यावहारिक बातचीत संभव नहीं हो पाती है।

पारंपरिक वीआरएएम बाधाओं पर काबू पाना

ऐतिहासिक रूप से, उपभोक्ता जीपीयू में वीआरएएम की कमी से निपटने की रणनीतियाँ सीमित रही हैं। सबसे आम समाधानों में से एक तंत्रिका नेटवर्क की अतिरिक्त परतों को सीपीयू सिस्टम मेमोरी में लोड करना था। हालाँकि, यह दृष्टिकोण एक गंभीर प्रदर्शन समस्या से ग्रस्त था। सीपीयू मेमोरी में सीयूडीए सुसंगतता की कमी के कारण जीपीयू और सीपीयू के बीच बड़े पैमाने पर और जटिल डेटा ट्रांसफर की आवश्यकता होती है, जिससे एक बाधा उत्पन्न होती है जो टोकन पीढ़ी की गति को दस गुना तक कम कर सकती है।

खोजा गया एक अन्य विकल्प मॉडल के परिमाणीकरण स्तर में भारी कमी करना था। हालाँकि इससे मेमोरी की मांग कम हो गई, लेकिन इसके साथ एलएलएम की अनुमान और तार्किक तर्क क्षमताओं में महत्वपूर्ण गिरावट आई। गुणवत्ता बनाए रखने के लिए, एकमात्र व्यवहार्य विकल्प 48 जीबी या अधिक वीआरएएम के साथ एंटरप्राइज़-ग्रेड जीपीयू में निवेश करना था, एक व्यय जो पूर्ण वर्कस्टेशन की लागत से अधिक है और सीमित बजट वाले व्यक्तिगत डेवलपर्स और स्टार्टअप के लिए पहुंच से बाहर है।

ग्रीनबूस्ट की अभिनव 3-स्तरीय वास्तुकला

ग्रीनबूस्ट केवल एक ड्राइवर ट्विक या स्टॉपगैप समाधान नहीं है; GPLv2 के तहत लाइसेंस प्राप्त एक सावधानीपूर्वक डिज़ाइन किया गया लिनक्स कर्नेल मॉड्यूल है। यह स्वतंत्र रूप से और आधिकारिक NVIDIA ड्राइवरों के समानांतर कार्य करता है, सीधे CUDA मेमोरी आवंटन परत में हस्तक्षेप करता है। यह सरल हस्तक्षेप जीपीयू ड्राइवर को सिस्टम रैम को “बाहरी मेमोरी” के रूप में पहचानने की अनुमति देता है, जिससे एक मेमोरी विस्तार आर्किटेक्चर तैयार होता है जो प्रदर्शन और क्षमता को अनुकूलित करने के लिए तीन अलग-अलग स्तरों पर काम करता है।

पहली परत, जिसे T1 के नाम से जाना जाता है, GPU में एकीकृत मूल VRAM है। GeForce RTX 5070 का उपयोग करते हुए एक परीक्षण वातावरण में, इसकी 12 जीबी क्षमता और लगभग 336 जीबी/सेकेंड की बैंडविड्थ के साथ, यह परत गणना के लिए महत्वपूर्ण पथ बन जाती है। यह अनुमान प्रक्रिया के दौरान सबसे अधिक पहुंच वाली सक्रिय परतों को संग्रहीत करता है, जो सबसे अधिक मांग वाले संचालन के लिए अधिकतम गति सुनिश्चित करता है।

दूसरा स्तर, T2, मदरबोर्ड सिस्टम की DDR4 या DDR5 रैम मेमोरी से बना है। PCIe 4.0 x16 लिंक के माध्यम से GPU से कनेक्ट होने पर, यह लगभग 32 GB/s की गति प्रदान करता है। यह स्तर स्थिर मॉडल भार डेटा और पर्याप्त कुंजी-मूल्य (केवी) कैश के लिए एक कुशल भंडारण क्षेत्र के रूप में कार्य करता है, जो एलएलएम के लिए व्यापक संदर्भों को बनाए रखने और संदर्भित करने के लिए महत्वपूर्ण है, जिससे एआई को अधिक व्यापक जानकारी के साथ काम करने की अनुमति मिलती है।

अंत में, सुरक्षा की तीसरी परत, T3, NVMe स्टोरेज है। लगभग 1.8 जीबी/सेकेंड की अपेक्षाकृत धीमी गति के साथ स्वैप स्पेस के रूप में आवंटित, इसे किसी भी मेमोरी ओवरफ्लो को अवशोषित करने के लिए मैप किया गया है। यह परत केवल असाधारण स्थितियों में ही काम में आती है, जब वीआरएएम और सिस्टम रैम दोनों पूरी तरह से समाप्त हो जाते हैं, जो अत्यधिक उपयोग परिदृश्यों में सिस्टम विफलताओं को रोकने के लिए सुरक्षा प्रदान करता है।

एकीकरण के पीछे परिष्कार

ग्रीनबूस्ट की तकनीकी बुद्धिमत्ता कर्नेल और उपयोगकर्ता-स्पेस घटकों के निर्बाध रूप से सहयोग करने के तरीके में निहित है। कर्नेल मॉड्यूल (`greenboost.ko`) पेजिंग ओवरहेड और विखंडन को समाप्त करते हुए, DDR4 में एक बड़े पेज स्थान को आरक्षित करने के लिए एक अनुकूलित मेमोरी एलोकेटर का उपयोग करता है। इन स्थानों को डीएमए-बीयूएफ फ़ाइल डिस्क्रिप्टर के रूप में निर्यात किया जाता है, जिससे सीधे मेमोरी एक्सेस की अनुमति मिलती है।

फिर GPU इन ऑपरेटिंग सिस्टम पेजों को `cudaImportExternalMemory` API के माध्यम से CUDA बाहरी मेमोरी के रूप में आयात करता है। यह प्रक्रिया CUDA प्लेटफ़ॉर्म को भौतिक DDR4 पृष्ठों की व्याख्या करने के लिए प्रेरित करती है जैसे कि वे मदरबोर्ड आर्किटेक्चर को छिपाते हुए सीधे ग्राफिक्स कार्ड से जुड़ी हुई मेमोरी हों। फिर डेटा मूवमेंट को पीसीआई एक्सप्रेस 4.0 बस के माध्यम से डीएमए ट्रांसफर के रूप में प्रबंधित किया जाता है, जिससे सीपीयू द्वारा अनावश्यक प्रतिलिपि चक्र समाप्त हो जाते हैं।

उपयोगकर्ता स्थान में, `libgreenboost_cuda.so` लाइब्रेरी एक स्मार्ट इंटरसेप्टर के रूप में कार्य करती है। `LD_PRELOAD` के माध्यम से गतिशील रूप से डाला गया, यह `cudaMalloc` और `cudaFree` जैसी एपीआई कॉल को इंटरसेप्ट करता है। छोटे आवंटन अनुरोध बिना किसी विलंब के सीधे मूल वीआरएएम पर भेजे जाते हैं। हालाँकि, वीआरएएम सीमा से अधिक के बड़े अनुरोधों को कर्नेल में ग्रीनबूस्ट मॉड्यूल पर पुनर्निर्देशित किया जाता है, जो सिस्टम रैम से आवश्यक मेमोरी आवंटित करता है और इसे वैध CUDA डिवाइस पॉइंटर के रूप में एप्लिकेशन में लौटाता है। `dlopen` और `dlsym` का उपयोग करने वाले अनुमान इंजनों के लिए, ग्रीनबूस्ट के पास जवाबी उपाय हैं, जो `dlsym` फ़ंक्शन को स्वयं ही रोकता है और यहां तक ​​कि RAM में ऑफलोडिंग को मजबूर करने के लिए रिपोर्ट की गई VRAM क्षमता को भी बदल देता है।

अनुकूलकों और व्यावहारिक प्रदर्शन के साथ तालमेल

ग्रीनबूस्ट को बहुआयामी अनुकूलन टूलसेट की पेशकश करते हुए नवीनतम अनुमान दृष्टिकोण के साथ काम करने के लिए डिज़ाइन किया गया है। एक उदाहरण `ExLlamaV3` के साथ इसका एकीकरण है, एक अनुमान इंजन जो मूल रूप से ग्रीनबूस्ट द्वारा प्रदान किए गए केवी कैश परत पथ का समर्थन करता है। यह मॉडल के केवी टेंसर को बिना कॉपी किए, I/O ओवरहेड को खत्म करने और प्रदर्शन में सुधार किए बिना `/dev/greenboost` से `mmap` एक्सेस के माध्यम से सीधे पायथन को आवंटित करने की अनुमति देता है।

100,000 टोकन से अधिक लंबे संदर्भों के लिए, सिस्टम रैम बैंडविड्थ पर ओवरहेड को कम करने के लिए `kvpress` टूल का उपयोग संयोजन के रूप में किया जा सकता है। अधिक मौलिक रूप से, NVIDIA मॉडलऑप्ट, NVIDIA के आधिकारिक अनुकूलन उपकरण के साथ एकीकरण, 31.8GB मॉडल को पुन: प्रशिक्षण की आवश्यकता के बिना कुशल FP8 प्रारूप में परिवर्तित करने की अनुमति देता है, जिससे आकार 16GB से कम हो जाता है। यह रणनीतिक संयोजन, जो मॉडल भार के लिए वीआरएएम और केवी कैश के लिए सिस्टम रैम आवंटित करता है, ने GeForce RTX 5070 पर 10 से 25 टोकन प्रति सेकंड (टोक/सेकेंड) की औसत अनुमान गति प्रदर्शित की है, जो बेंचमार्क वातावरण (2 से 5 टोकन/सेकेंड) की तुलना में एक महत्वपूर्ण वृद्धि है।

PCIe 4.0 बस चुनौती

एक क्रांतिकारी दृष्टिकोण होने के बावजूद, ग्रीनबूस्ट हार्डवेयर की मूलभूत भौतिक सीमाओं को समाप्त नहीं करता है। डेवलपर, फेरान डुआरी, सबसे बड़ी बाधा के बारे में पारदर्शी है: अधिकतम PCIe 4.0 x16 बस ट्रांसफर बैंडविड्थ लगभग 32 जीबी/सेकेंड। जबकि आधुनिक जीपीयू का एकीकृत वीआरएएम सैकड़ों जीबी/एस, या हाई-एंड मॉडल में 1 टीबी/सेकेंड से भी अधिक प्रदान करता है, पीसीआईई के माध्यम से सिस्टम रैम तक पहुंचने की गति काफी धीमी है, अक्सर दसवें से भी कम।

यदि मॉडल वेट डेटा, जिसे अक्सर एक्सेस किया जाता है, को वीआरएएम और सिस्टम रैम के बीच बार-बार स्थानांतरित किया जाता है, तो इस “थ्रैशिंग” के परिणामस्वरूप पाइपलाइन में काफी देरी होगी। इसी तरह, हालांकि एनवीएमई ड्राइव अनुक्रमिक पहुंच के लिए कुशल हैं, लेकिन अनुमान के दौरान छोटे ब्लॉकों में लाखों यादृच्छिक एक्सेस संचालन से निपटने पर स्वैप परत पर प्रदर्शन नाटकीय रूप से कम हो सकता है। ग्रीनबूस्ट की क्षमता को अधिकतम करने के लिए आदर्श समाधान एक एकल मॉड्यूल में नहीं है, बल्कि कार्यभार को बुद्धिमानी से विभाजित करने में है, वीआरएएम (टी1) में डेटा वजन को न्यूनतम रखने और केवी कैश को स्थानांतरित करने के लिए एफपी8 और आईएनटी4-एडब्ल्यूक्यू जैसी नवीनतम पैरामीटर क्वांटाइजेशन प्रौद्योगिकियों का उपयोग करता है, जो समय के साथ बढ़ता है, डीडीआर4 रैम (टी2) में।

एआई बुनियादी ढांचे के लिए निहितार्थ

ग्रीनबूस्ट को ओपन सोर्स के रूप में जारी करना उपभोक्ता जीपीयू बाजार द्वारा लगाई गई कृत्रिम सीमाओं के खिलाफ डेवलपर समुदाय की एक मजबूत प्रतिक्रिया का प्रतिनिधित्व करता है, जहां कम्प्यूटेशनल शक्ति अधिक है लेकिन प्रतिबंधित वीआरएएम औद्योगिक उपयोग को सीमित करता है। यह सॉफ़्टवेयर के माध्यम से, ऐप्पल एम-सीरीज़ आर्किटेक्चर में देखे गए एकीकृत मेमोरी अनुभव का अनुकरण करने का एक प्रयास है, जो इस तकनीक को मौजूदा पीसी प्लेटफार्मों में एकीकृत करके महंगे एचबीएम मॉड्यूल की आवश्यकता के बिना बड़े पैमाने पर एआई अनुमान को सक्षम बनाता है।

यह कार्यान्वयन विधि व्यक्तिगत शोधकर्ताओं और छोटे से मध्यम आकार के एआई विकास पारिस्थितिकी तंत्र के लिए एंटरप्राइज़-ग्रेड एआई त्वरक की बढ़ती लागत के खिलाफ एक शक्तिशाली जवाबी उपाय प्रदान करती है। वर्तमान में GeForce RTX 5070 पर प्रदर्शित, स्रोत कोड की उपलब्धता के साथ, Ada Lovelace और Ampere आर्किटेक्चर कार्ड वाले उपयोगकर्ताओं की एक विस्तृत श्रृंखला से समाधान को सत्यापित और अनुकूलित करने की उम्मीद की जाती है। ऐसे समय में जब हार्डवेयर-प्रबलित स्केलेबिलिटी एक पठार पर पहुंच गई है, फेरन डुआरी का दृष्टिकोण, कर्नेल प्रबंधन से लेकर पीसीआई-एक्सप्रेस इंटरफ़ेस और सीयूडीए वातावरण तक जटिल परतों को दरकिनार करके, मेमोरी प्रबंधन चुनौतियों की ओर इशारा करता है जिन्हें भविष्य में वितरित एआई बुनियादी ढांचे को संबोधित करने की आवश्यकता होगी। दुनिया भर के डेवलपर्स इस बाधा को दूर करने के लिए विकल्प बनाना जारी रखते हैं।