Xe-Forge: Multi-Stage LLM-Powered Kernel Optimization for Intel GPU
Xe-Forge एक मल्टी-स्टेज, LLM-संचालित पाइपलाइन है जो हार्डवेयर बाधाओं के क्यूरेटेड नॉलेज बेस को चेन-ऑफ-वेरिफिकेशन-एंड-रिफाइनमेंट एजेंट के साथ जोड़कर इंटेल GPUs के लिए ट्राइटन कर्नेल के पोर्टिंग और अनुकूलन को स्वचालित करता है, जिससे मैन्युअल ट्रायल-एंड-एरर के बिना PyTorch eager की तुलना में महत्वपूर्ण स्पीडअप प्राप्त होता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक बहुत ही प्रतिभाशाली, विश्व स्तरीय शेफ (AI) है जो लगभग हर व्यंजन को पूरी तरह से बनाना जानता है। लेकिन एक पेच है: इस शेफ ने पहले कभी आपकी विशिष्ट रसोई में काम नहीं किया है। आपकी रसोई में अनोखे ओवन हैं, काउंटर की ऊंचाई अजीब है, और मसालों को व्यवस्थित करने का आपका अपना एक विशेष तरीका है जिसके बारे में शेफ नहीं जानता।
यदि आप शेफ को आपकी रसोई के लिए भोजन बनाने के लिए कहते हैं, तो वह एक स्वादिष्ट व्यंजन तो बना सकता है, लेकिन यह आपकी रसोई के लिए सबसे तेज़ या सबसे कुशल संस्करण नहीं होगा क्योंकि वह आपके रसोई के विशिष्ट शॉर्टकट्स के बजाय अपनी "मानक" तकनीकों का उपयोग कर रहा है।
Xe-Forge एक नया सिस्टम है जिसे ठीक इसी समस्या को हल करने के लिए डिज़ाइन किया गया है, विशेष रूप से Intel GPUs (रसोई) और Triton kernels (वे रेसिपी जिनका उपयोग AI में किया जाता है) के लिए।
यह कैसे काम करता है, इसे सरल अवधारणाओं में यहाँ दिया गया है:
1. समस्या: "कॉपी-पेस्ट" की बाधा (The "Copy-Paste" Bottleneck)
AI की दुनिया में, डेवलपर्स लगातार कोड (कर्नेल) लिखते हैं ताकि कंप्यूटर तेज़ी से चल सकें। जब वे इस कोड को एक नए प्रकार के कंप्यूटर चिप (जैसे Intel के नए GPUs) पर ले जाते हैं, तो उन्हें कोड को बार-बार मैन्युअल रूप से ट्यून करना पड़ता है। उन्हें मेमोरी एक्सेस को एडजस्ट करना पड़ता है, डेटा को कैसे ग्रुप किया जाए उसे बदलना पड़ता है, और हार्डवेयर की छोटी-छोटी खामियों को ठीक करना पड़ता है।
यह बिल्कुल वैसा ही है जैसे एक शेफ को हर नए रेस्टोरेंट में जाने पर प्याज काटने का तरीका फिर से सीखना पड़े, भले ही प्याज वही हो। यह मैन्युअल काम धीमा, उबाऊ है और एक ऐसी बाधा पैदा करता है जो नई AI सुविधाओं के उपयोग को रोक देती है।
2. समाधान: Xe-Forge (एक "स्मार्ट किचन रेनोवेशन टीम")
Xe-Forge एक स्वचालित पाइपलाइन है जो एक ऐसी रेसिपी (जो पहले से ही काम कर रही है - एक सही लेकिन धीमी कर्नेल) को लेती है और उसे Intel चिप्स पर बिजली की तरह तेज़ बनाने के लिए स्वचालित रूप से फिर से लिखती है। यह शुरुआत से रेसिपी नहीं लिखता; यह मौजूदा रेसिपी को लेकर उसे पॉलिश करता है।
Xe-Forge को एक बहु-चरणीय रेनोवेशन टीम के रूप में सोचें जो रसोई में आती है और नौ विशिष्ट अपग्रेड एक स्मार्ट क्रम में करती है:
- एल्गोरिद्मिक ऑप्टिमाइज़ेशन (Algorithmic Optimization): "हम प्याज को छोटे टुकड़ों में क्यों काट रहे हैं जब एक फूड प्रोसेसर इसे एक बार में कर सकता है?" (यह गणितीय शॉर्टकट्स ढूंढता है)।
- डिस्कवरी (Discovery): "रुको, हमें इस स्टेप को करने की ज़रूरत ही नहीं है; हम इसे पूरी तरह से छोड़ सकते हैं।" (यह काम को हटाने के खुले रास्ते ढूंढता है)।
- Dtype Fix: "हम सूप की एक बहुत छोटी मात्रा के लिए एक बड़ा, भारी बर्तन इस्तेमाल कर रहे हैं। चलिए एक छोटा, हल्का पैन इस्तेमाल करते हैं।" (यह ऊर्जा बचाने के लिए डेटा प्रिसिजन को बदल देता है)।
- फ्यूजन (Fusion): "बर्तन धोने, सुखाने और फिर उसे रखने के बजाय, आइए इसे एक ही गति में धो लें और सुखा लें।" (यह अलग-अलग चरणों को एक में जोड़ देता है)।
- मेमोरी एक्सेस (Memory Access): "पेंट्री के चक्कर लगाना बंद करें। आइए मसालों को इस तरह व्यवस्थित करें कि आप उन्हें एक साथ उठा सकें।" (यह डेटा प्राप्त करने के तरीके को अनुकूलित करता है)।
- ब्लॉक पॉइंटर्स (Block Pointers): "दूरी को स्केल से मापने के बजाय, टेप मेजर का उपयोग करें।" (यह आधुनिक, कुशल कोड टूल्स का उपयोग करता है)।
- परसिस्टेंट कर्नेल (Persistent Kernel): "हर एक टाइल के लिए एक नया वर्कर भेजने के बजाय, आइए एक टीम को पूरा काम करने के लिए वहीं रहने दें।" (यह सेटअप समय को कम करता है)।
- GPU-विशिष्ट ट्यूनिंग (GPU-Specific Tuning): "यह ओवन 350 डिग्री पर और पंखा हाई स्पीड पर सबसे अच्छा चलता है। आइए इसे सेट करें।" (यह Intel-विशिष्ट नियमों को लागू करता है)।
- ऑटो ट्यूनिंग (Autotuning): "आइए कुछ टेस्ट बैच चलाकर देखें कि एकदम सही तापमान क्या है।" (यह सेटिंग्स को बारीक ट्यून करता है)।
3. "दिमाग" और "नियम पुस्तिका"
यह सिस्टम एक Large Language Model (LLM) का उपयोग अपने दिमाग के रूप में करता है, लेकिन LLMs अक्सर अन्य कंपनियों (जैसे NVIDIA) के डेटा पर प्रशिक्षित होते हैं और उन्हें Intel के विशिष्ट नियमों का पता नहीं होता।
इसे ठीक करने के लिए, Xe-Forge एक क्यूरेटेड नॉलेज बेस (Curated Knowledge Base) का उपयोग करता है। इसे एक नियम पुस्तिका (Rulebook) के रूप में समझें जिसका पालन शेफ को करना चाहिए। इसमें विशिष्ट Intel नियम शामिल हैं जैसे:
- "आपको 24 के बजाय 32 वर्कर्स के समूह का उपयोग करना चाहिए।"
- "मेमोरी ब्लॉक्स 'पावर ऑफ टू' (powers of two) होने चाहिए।"
- "इस विशिष्ट रजिस्टर मोड को भूलना नहीं है।"
इस नियम पुस्तिका के बिना, AI अनुमान लगाएगा और संभवतः विफल हो जाएगा। इस नियम पुस्तिका के साथ, AI उस "सुरक्षित क्षेत्र" के भीतर रहता है जो हार्डवेयर वास्तव में कर सकता है।
4. "सेफ्टी इंस्पेक्टर" (CoVeR एजेंट)
सिस्टम केवल अनुमान नहीं लगाता और उम्मीद नहीं करता। यह एक चेन-ऑफ-वेरिफिकेशन-एंड-रिफाइनमेंट (CoVeR) एजेंट का उपयोग करता है। यह एक सेफ्टी इंस्पेक्टर की तरह है जो हर चरण पर काम की जांच करता है:
- क्या कोड कंपाइल हो रहा है? (क्या ओवन चालू भी हो सकता है?)
- क्या संरचना सही है? (क्या सामग्री सही क्रम में है?)
- क्या परिणाम सही है? (क्या सूप मूल रेसिपी जैसा ही स्वादिष्ट है, बस तेज़ है?)
- क्या यह वास्तव में तेज़ है? (क्या हमने समय बचाया?)
यदि AI कोई गलती करता है, तो इंस्पेक्टर उसे पकड़ लेता है, AI को बताता है कि ठीक क्या गलत हुआ, और AI फिर से प्रयास करता है। यह तब तक लूप में चलता रहता है जब तक कि इसे एक ऐसा संस्करण न मिल जाए जो सही भी हो और तेज़ भी।
5. परिणाम: एक बदली हुई रसोई
शोधकर्ताओं ने इस सिस्टम का परीक्षण 97 अलग-अलग रेसिपी (कर्नेल्स) और एक जटिल AI कार्य जिसे फ्लैश अटेंशन (Flash Attention) कहा जाता है (जो बड़े लैंग्वेज मॉडल्स में उपयोग किया जाता है), एक Intel Arc Pro B70 GPU पर किया।
- औसत जीत: अनुकूलित कोड (optimized code) मानक अन-ऑप्टिमाइज्ड कोड की तुलना में औसतन 1.17 गुना तेज़ था।
- बड़ी जीत: 67% रेसिपी के लिए, यह तेज़ हो गया। 9 विशिष्ट रेसिपी के लिए, यह 5 से 82 गुना तेज़ था।
- उपमा: कल्पना कीजिए कि एक रेसिपी जिसे पकाने में 82 मिनट लगते थे। Xe-Forge ने उसे केवल 1 मिनट में पकाने का तरीका ढूंढ लिया।
- फ्लैश अटेंशन (Flash Attention): जटिल "फ्लैश अटेंशन" कार्य के लिए, सिस्टम ने बिना कुछ भी तोड़े, सभी परीक्षणों में इसे 2 से 13 गुना तेज़ बना दिया।
- कोई रिग्रेशन नहीं (No Regressions): महत्वपूर्ण रूप से, सिस्टम ने कभी भी कोड को इस तरह से धीमा नहीं किया जिससे परिणाम बिगड़ जाएं। यदि किसी बदलाव से मदद नहीं मिली, तो इसने मूल कोड को ही बनाए रखा।
निचोड़
Xe-Forge यह साबित करता है कि आपको हर समस्या को हल करने के लिए सुपर-इंटेलिजेंट AI की आवश्यकता नहीं है। इसके बजाय, आपको एक स्मार्ट, स्ट्रक्चर्ड प्रोसेस की आवश्यकता है जो जोड़ता है:
- एक सक्षम AI।
- विशिष्ट हार्डवेयर के लिए एक सख्त नियम पुस्तिका।
- हर बदलाव को सत्यापित करने के लिए एक कठोर सुरक्षा निरीक्षक।
यह दृष्टिकोण AI कोड को नए हार्डवेयर पर पोर्ट करने के थकाऊ और मैन्युअल काम को हटा देता है, जिससे डेवलपर्स को Intel चिप्स पर शक्तिशाली AI को पहले की तुलना में बहुत तेज़ी से तैनात करने की अनुमति मिलती है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।