LP-GEMM: Integrating Layout Propagation into GEMM Operations
यह शोध पत्र LP-GEMM प्रस्तुत करता है, जो ऑपरेशन्स के बीच मेमोरी लेआउट को प्रसारित करके क्रमिक मैट्रिक्स गुणन (sequential matrix multiplications) में अनावश्यक डेटा पैकिंग और अनपैकिंग को समाप्त करने की एक तकनीक है, जिससे पूर्ण BLAS सिमेंटिक शुद्धता बनाए रखते हुए x86 और RISC-V आर्किटेक्चर पर महत्वपूर्ण गति वृद्धि प्राप्त होती है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक विशाल, हाई-स्पीड बेकरी चला रहे हैं जो जटिल, बहु-परत वाले केक (ये आपके मशीन लर्निंग मॉडल हैं) बनाने में माहिर है। आपकी बेकरी का सबसे महत्वपूर्ण चरण सामग्री मिलाना है। कंप्यूटर की दुनिया में, इस मिश्रण की प्रक्रिया को GEMM (जनरल मैट्रिक्स मल्टीप्लिकेशन) कहा जाता है।
द दशकों से, इस बेकरी को चलाने का मानक तरीका (जैसे OpenBLAS लाइब्रेरी) एक बार में एक केक बनाने में अविश्वसनीय रूप से कुशल रहा है। हालाँकि, यह एक कठोर नियम का पालन करता है: हर बार जब आप एक केक बनाना समाप्त करते हैं, तो आपको उसे तुरंत खोलना होगा, उसे एक मानक डिब्बे में रखना होगा, और फिर अगला केक शुरू करने के लिए उस डिब्बे से बाहर निकालना होगा।
समस्या: "री-पैकिंग" की बाधा
मान लीजिए कि आप 10-परत वाला केक बना रहे हैं।
- परत 1: आप बैटर (घोल) मिलाते हैं। मानक नियम कहता है, "रुको! इस बैटर को एक चौकोर डिब्बे में डालो, इसे सील करो और इस पर लेबल लगाओ।"
- परत 2: आपको अगला लेयर बनाने के लिए उस बैटर की आवश्यकता है। लेकिन वह एक डिब्बे में है! इसलिए, आपको उसे अनबॉक्स करना होगा, उसे एक नए मिक्सिंग बाउल में डालना होगा और फिर मिश्रण शुरू करना होगा।
- परत 3: आप मिश्रण पूरा करते हैं। फिर से, आपको इसे री-बॉक्स करना होगा, सील करना होगा और लेबल लगाना होगा।
- परत 4: आपको इसे फिर से अनबॉक्स करना होगा।
एक वास्तविक कंप्यूटर में, यह "बॉक्सिंग और अनबॉक्सिंग" (जिसे पैकिंग और अनपैकिंग कहा जाता है) लाखों बार होती है। यह वास्तव में केक नहीं मिलाता; यह केवल सामग्री को इधर-उधर ले जाता है। यह समय, ऊर्जा और बेकर (CPU) का ध्यान बर्बाद करता है।
समाधान: LP-GEMM (एक "असेंबली लाइन" दृष्टिकोण)
यह पेपर LP-GEMM (लेआउट प्रोपेगेशन GEMM) पेश करता है। इसे एक निर्बाध असेंबली लाइन के रूप में सोचें।
हर लेयर के बाद बैटर को बॉक्स करने के बजाय, बेकर्स एक विशेष, कस्टम आकार के मिक्सिंग बाउल पर सहमत होते हैं।
- पहला बेकर (इनिशियल कर्नल): वह कच्ची सामग्री लेता है और उसे इस विशेष कस्टम आकार में डालता है।
- मध्यवर्ती बेकर्स (इंटरमीडिएट कर्नल्स): उन्हें बैटर पहले से ही उस कस्टम आकार में प्राप्त होता है। वे अगले लेयर को सीधे उसी आकार में मिलाते हैं। कोई अनबॉक्सिंग नहीं। कोई री-बॉक्सिंग नहीं। वे बस प्रवाह को जारी रखते हैं।
- अंतिम बेकर (एंडिंग कर्नल): एक बार जब अंतिम केक तैयार हो जाता है, केवल तभी कोई उस कस्टम-आकार के बैटर को लेता है और उसे एक मानक डिब्बे में रखता है ताकि ग्राहक उसे घर ले जा सके।
यह क्यों मायने रखता है
पेपर ने इस विचार का परीक्षण दो प्रकार के "बेकर्स" (कंप्यूटर चिप्स) पर किया:
- Intel x86 (एक पावरहाउस): एक बहुत तेज़, जटिल प्रोसेसर।
- RISC-V (एक कुशल नया खिलाड़ी): एक नया, सरल और बहुत ऊर्जा-कुशल प्रोसेसर।
परिणाम:
- Intel चिप पर: नया तरीका ऑपरेशन्स के अनुक्रमों (sequences) के लिए लगभग 2.25 गुना तेज़ था। यह 10 मिनट के सफर से 4 मिनट के सफर पर जाने जैसा है।
- RISC-V चिप पर: स्पीडअप और भी नाटकीय था, 5 गुना तक तेज़। क्योंकि RISC-V चिप "बर्बाद होने वाली गतिविधियों" के प्रति अधिक संवेदनशील है, इसलिए पैकिंग/अनपैकिंग चरणों को हटाने से बड़ा अंतर आया।
वास्तविक दुनिया का अनुप्रयोग: Llama 3.2 टेस्ट
इस सिद्धांत को सिद्ध करने के लिए, लेखकों ने इस नए तरीके का उपयोग करके Llama 3.2 (एक प्रसिद्ध AI चैटबॉट) का एक संस्करण बनाया।
- चुनौती: Llama जैसे AI मॉडल केवल एक बार मिश्रण नहीं करते; वे ऑपरेशन्स की एक लंबी श्रृंखला (ट्रांसफॉर्मर में "अटेंशन" मैकेनिज्म की तरह) करते हैं।
- समाधान: उन्होंने "मिडल बेकर्स" को इस तरह अनुकूलित किया कि जब रेसिपी में किसी त्वरित विराम (जैसे मसाला डालने या तापमान जांचने) की आवश्यकता हो, तब भी वे कस्टम आकार को संभाल सकें।
- परिणाम: AI काफी तेज़ चला, जिससे यह साबित हुआ कि डेटा को "बॉक्स" किए गए रूप के बजाय "प्रवाह" (flowing) की स्थिति में रखने से बड़ा बदलाव आता है।
एनालॉजी सारांश
- पुराना तरीका (OpenBLAS): एक कूरियर की तरह जो एक पैकेज डिलीवर करता है, उसे अनपैक करता है, अगले व्यक्ति को सौंप देता है, जो तुरंत उसे फिर से पैक करता है, लेबल लगाता है और अगले व्यक्ति को भेज देता है। टेप गन और बॉक्स के साथ बहुत सारा समय बर्बाद होता है।
- नया तरीका (LP-GEMM): एक कन्वेयर बेल्ट की तरह जहाँ पैकेज एक विशेष ट्रे पर रहता है। पहला व्यक्ति उसे ट्रे पर रखता है, अगला व्यक्ति उस पर काम करता है जबकि वह अभी भी ट्रे पर है, और अगला व्यक्ति भी ऐसा ही करता है। केवल अंत में ही उसे एक मानक शिपिंग बॉक्स में रखा जाता है।
निचोड़
LP-GEMM एक चतुर तकनीक है जो कंप्यूटर को गणितीय समस्याओं के बीच अनावश्यक "सफाई" करने से रोकती है। डेटा को हर स्टेप के बाद एक मानक प्रारूप में बदलने के बजाय, उसे अगले स्टेप के लिए तैयार प्रारूप में प्रवाहित होने देने से, हम बिना नया हार्डवेयर बनाए AI और वैज्ञानिक गणनाओं को बहुत तेज़ और कुशल बना सकते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।