Sparse by Command: Task-Conditional Compute Skipping for Multi-Task Inference Accelerators
यह शोध पत्र "स्पार्स बाय कमांड" (Sparse by Command) प्रस्तुत करता है, जो एक हार्डवेयर-सॉफ्टवेयर सह-डिज़ाइन दृष्टिकोण है जो मॉडल आर्किटेक्चर को बदले बिना मल्टी-टास्क इन्फरेंस के लिए हल्के गेटिंग नेटवर्क और एक विशेष टाइल्ड एक्सेलेरेटर के माध्यम से टास्क कमांड का लाभ उठाकर अनावश्यक गणनाओं को गतिशील रूप से स्किप करने के लिए उपयोग करता है, जिससे 76% तक FLOP की कमी और 2.4x लेटेंसी स्पीडअप प्राप्त होता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक विशाल, उच्च-तकनीकी ऑर्केस्ट्रा के कंडक्टर हैं। आर्टिफिशियल इंटेलिजेंस की दुनिया में, यह ऑर्केस्ट्रा एक "न्यूरल नेटवर्क" है, जो एक मस्तिष्क जैसा कंप्यूटर प्रोग्राम है जिसे निर्णय लेने के लिए डिज़ाइन किया गया है। आमतौर पर, जब यह ऑर्केस्ट्रा संगीत का एक टुकड़ा बजाता है, तो हर एक संगीतकार अपना वाद्य यंत्र उठा लेता है और बजाता है, चाहे वह किस भी तरह का गाना हो। यदि गाना एक कोमल लोरी है, तो भारी ड्रम और तेज़ बजने वाले ट्रम्पेट भी पूरी आवाज़ में बजते हैं, भले ही उस गाने को उनकी ज़रूरत न हो। यह अविश्वत रूप से बर्बादी है। यह बहुत अधिक ऊर्जा का उपयोग करता है और इसमें बहुत समय लगता है, ठीक वैसे ही जैसे एक सेब खरीदने के लिए एक विशाल ट्रक को कोने वाली दुकान तक चलाना।
"मल्टी-टास्क इन्फरेंस" (multi-task inference) के विशिष्ट क्षेत्र में, यह समस्या और भी बड़ी है। यहाँ, एक एकल कंप्यूटर मस्तिष्क को एक साथ कई काम करने के लिए कहा जाता है, जैसे कार को मोड़ना, ब्रेक लगाना, या बाईं ओर मुड़ना। समस्या यह है कि कंप्यूटर को यह नहीं पता होता कि वह कौन सा काम कर रहा है जब तक कि वह काम शुरू नहीं कर देता, इसलिए वह एक साथ सभी कामों के लिए तैयारी करता है, उन चीजों पर शक्ति बर्बाद करता है जिनकी उसे उस क्षण आवश्यकता नहीं होती। वैज्ञानिकों ने इसे "स्पार्स" (sparse) बनाकर ठीक करने की कोशिश की है, जो एक फैंसी शब्द है "खाली" के लिए। उन्होंने कंप्यूटर को कुछ नोट्स छोड़ने के लिए कहने की कोशिश की, लेकिन आमतौर पर, कंप्यूटर को अभी भी यह देखने के लिए हर एक नोट की जाँच करनी पड़ती है कि उसे छोड़ना चाहिए या नहीं, जिसमें समय और ऊर्जा लगती है। यह शोध पत्र एक सरल प्रश्न पूछता है: क्या होगा यदि कंप्यूटर को काम शुरू करने से पहले ही पता चल जाए कि वह कौन सा काम करने जा रहा है, ताकि वह संगीतकारों को काम शुरू करने से पहले ही अपने वाद्य यंत्र नीचे रखने के लिए कह सके?
इस शोध पत्र के लेखक, हांगकांग और हुवावेई की एक टीम ने "स्पार्स बाय कमांड" (Sparse by Command) नामक एक चतुर नया सिस्टम बनाया है जो इस समस्या को हल करता है। उन्होंने महसूस किया कि स्वायत्त ड्राइविंग (autonomous driving) जैसे कार्यों में, "कमांड" (जैसे "बाएं मुड़ें" या "ब्रेक लगाएं") कंप्यूटर द्वारा सड़क को देखना शुरू करने से बहुत पहले ही ज्ञात होती है। उन्होंने इस मुफ्त जानकारी का उपयोग एक स्मार्ट स्विचबोर्ड बनाने के लिए किया। कंप्यूटर अपने मस्तिष्क के किन हिस्सों का उपयोग करेगा, इसका अनुमान लगाने के बजाय, एक छोटा, सुपर-फास्ट सहायक नेटवर्क कमांड को देखता है और तुरंत एक स्विच घुमाकर मुख्य मस्तिष्क के उन विशिष्ट हिस्सों को बंद कर देता है जिनकी उस क्षण आवश्यकता नहीं होती।
इसे एक स्मार्ट होम की तरह समझें। यदि आप अपने घर को बताते हैं "मैं सोने जा रहा हूँ," तो सिस्टम केवल लिविंग रूम की लाइटें धीमी नहीं करता है; वह जानता है कि आप किचन में नहीं हैं, इसलिए वह आपके वहां पहुँचने से पहले ही किचन की लाइटों की बिजली पूरी तरह से काट देता है। लेखकों ने एक विशेष कंप्यूटर चिप बनाई है (एक FPGA पर, जो इलेक्ट्रॉनिक्स के लिए एक प्रोग्राम करने योग्य लेगो बोर्ड की तरह है) जो इन स्विचों को समझती है। जब कमांड कहती है "ब्रेक लगाएं," तो चिप 76% काम को छोड़ देती है। जब यह कहती है "बाएं मुड़ें," तो यह लगभग 71% काम को छोड़ देती है। क्योंकि चिप काम होने का केवल दिखावा करने के बजाय भौतिक रूप से काम को रोक देती है, यह बहुत सारा समय और बैटरी पावर बचाती है।
इसके परिणाम काफी प्रभावशाली हैं। जब उन्होंने एक सिम्युलेटेड ड्राइविंग गेम CARLA पर इसका परीक्षण किया, तो सिस्टम बहुत तेज़ हो गया। निर्णय लेने में लगने वाला समय 9.12 मिलीसेकंड से घटकर 3.74 और 4.44 मिलीसेकंड के बीच आ गया। यह लगभग 2.1 से 2.4 गुना की गति वृद्धि है! इसने ऊर्जा का भी आधा से कम उपयोग किया, जो 263 मिलीजूल से गिरकर प्रति निर्णय लगभग 108-128 मिलीजूल हो गया। महत्वपूर्ण रूप से, कार दुर्घटनाग्रस्त नहीं हुई या रास्ता नहीं भटकी; इसने 100% ड्राइविंग रूट भी पूरी तरह से सफलतापूर्वक पूरे किए।
यह शोध पत्र यह भी दिखाता है कि यह दृष्टिकोण पुराने तरीकों से बेहतर क्यों है। उन्होंने केवल हिस्सों को स्थायी रूप से "प्रून" (prune - काटने) करने की कोशिश की, जैसे ऑर्केस्ट्रा से ड्रमों को हमेशा के लिए हटा देना। लेकिन यह अच्छी तरह से काम नहीं किया क्योंकि कभी-कभी ड्रमों की आवश्यकता होती है, और कभी-कभी नहीं। यदि आप उन्हें स्थायी रूप रूप से हटा देते हैं, तो ऑर्केस्ट्रा उन गानों को नहीं बजा पाएगा जिनमें उनकी आवश्यकता होती है। "स्पार्स बाय कमांड" सिस्टम अधिक स्मार्ट है क्योंकि यह सभी संगीतकारों को तैयार रखता है लेकिन उन्हें केवल तभी बुलाता है जब विशिष्ट गीत को उनकी आवश्यकता होती है। उन्होंने एक अलग प्रकार के कंप्यूटर मस्तिष्क (ट्रांसफॉर्मर) पर भी इसका परीक्षण किया और पाया कि यह वहां भी काम करता है, जिससे पता चलता है कि इस विचार का उपयोग केवल कारों के लिए ही नहीं, बल्कि कई अलग-अलग प्रकार की स्मार्ट मशीनों के लिए किया जा सकता है।
संक्षेप में, यह शोध पत्र सिद्ध करता है कि यदि आप कंप्यूटर को एक स्पष्ट निर्देश देते हैं कि उसे क्या करना है, तो आप उसे वह सारा व्यस्त काम छोड़ने के लिए कह सकते हैं जिसकी उसे आवश्यकता नहीं है। एक कस्टम चिप बनाकर जो इन निर्देशों को सुनती है और अनावश्यक काम को भौतिक रूप से छोड़ देती है, उन्होंने एक स्मार्ट सिस्टम बनाया जो तेज़, सस्ता और काम में उतना ही कुशल है। यह एक याद दिलाता है कि कभी-कभी, कुशल होने का सबसे अच्छा तरीका कड़ी मेहनत करना नहीं, बल्कि यह जानना है कि क्या नहीं करना है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।