ExecuTorch -- A Unified PyTorch Solution to Run AI Models On-Device
एक्सेक्यूटोरच (ExecuTorch) एक एकीकृत, पायटॉर्च-नेटिव (PyTorch-native) फ्रेमवर्क है जो रिसर्च और प्रोडक्शन के बीच के अंतर को पाटने के लिए पायटॉर्च सिमेंटिक्स (PyTorch semantics) को सुरक्षित रखते हुए, माइक्रोकंट्रोलर्स से लेकर जटिल एसओसी (SoCs) तक, विविध एज डिवाइसेस पर एआई मॉडल्स की निर्बाध, अनुकूलित तैनाती को सक्षम बनाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक शेफ (एक शोधकर्ता) हैं जिसने एक उच्च-तकनीकी रसोई (PyTorch) में एक स्वादिष्ट नई रेसिपी (एक AI मॉडल) का आविष्कार किया है। आप इस व्यंजन को दुनिया भर के लोगों को परोसना चाहते हैं, एक बड़े शहर के शानदार रेस्टोरेंट (एक शक्तिशाली स्मार्टफोन) से लेकर एक दूरदराज के गाँव के छोटे से फूड ट्रक (एक घड़ी या खिलौने के माइक्रोचिप) तक।
समस्या यह है, जैसा कि इस पेपर में बताया गया है, कि उन "दूरदराज के गाँवों" की रसोई में आपके हाई-टेक किचन जैसे उपकरण नहीं होते हैं। आमतौर पर, वहां यह व्यंजन परोसने के लिए, आपको खाना बनाना रोकना पड़ता है, पूरी रेसिपी को किसी अलग भाषा का उपयोग करके फिर से स्क्रैच से लिखना पड़ता है, और फिर उम्मीद करनी पड़ती है कि स्वाद वही रहे। यह धीमा, निराशाजनक है और अक्सर गलतियों का कारण बनता है।
पेश है ExecuTorch।
ExecuTorch को एक यूनिवर्सल ट्रांसलेटर और पोर्टेबल किचन किट के रूप में सोचें जो आपको अपनी मूल PyTorch रेसिपी को कहीं भी, बिल्कुल वैसे ही परोसने देता है जैसे आपने उसे बनाया था, बिना एक भी शब्द दोबारा लिखे।
यह कैसे काम करता है, यहाँ सरल अवधारणाओं में दिया गया है:
1. "स्नैपशॉट" (एक्सपोर्टिंग)
पूरे बिखरे हुए किचन (जटिल पायथन कोड) को दूरदराज के गाँव भेजने के बजाय, ExecuTorch आपकी रेसिपी का एक "स्नैपशॉट" लेता है। यह चरणों को एक स्पष्ट, स्टेप-बाय-स्टेप निर्देश सूची में फ्रीज कर देता है जिसे Export IR कहा जाता है।
- जादू: यह स्नैपशॉट इतना स्पष्ट है कि इसे किसी भी किचन द्वारा पढ़ा जा सकता है, चाहे वह एक हाई-एंड स्टोव हो या एक छोटा सा अलाव (कैंपफायर)। यह "पायथन" भाषा (जो भारी और धीमी है) को हटा देता है लेकिन "स्वाद" (गणित) को बिल्कुल वैसा ही रखता है।
- लाभ: आप अपने हाई-टेक किचन में अपनी रेसिपी का परीक्षण कर सकते हैं, स्नैपशॉट ले सकते हैं, और आपको 100% यकीन होगा कि जब इसे एक छोटे से अलाव पर पकाया जाएगा तो इसका स्वाद बिल्कुल वैसा ही होगा। अब अनुमान लगाने या दोबारा चखने की जरूरत नहीं।
2. "स्मार्ट डिलीवरी ट्रक" (द रनटाइम)
एक बार रेसिपी स्नैप हो जाने के बाद, इसे डिलीवर करने की आवश्यकता होती है। ExecuTorch एक बहुत ही छोटा, हल्का डिलीवरी ट्रक (Runtime) उपयोग करता है।
- छोटा फुटप्रिंट: अन्य ट्रकों के विपरीत जो बहुत बड़े होते हैं और जिन्हें बहुत अधिक ईंधन (मेमोरी) की आवश्यकता होती है, यह ट्रक बहुत छोटा है। यह सबसे छोटी जेबों (माइक्रोकंट्रोलर्स) में भी फिट हो जाता है और जगह बर्बाद नहीं करता।
- चयनात्मक पैकिंग: यदि आपकी रेसिपी को केवल एक चाकू और एक चम्मच की आवश्यकता है, तो ट्रक ब्लेंडर या टोस्टर पैक नहीं करता है। यह केवल उन्हीं उपकरणों को पैक करता है जिनकी आपको वास्तव में आवश्यकता है, जिससे पैकेज और भी छोटा हो जाता है।
3. "विशेषज्ञ शेफ" (बैकएंड्स)
अलग-अलग गाँवों में अलग-अलग उपकरण होते हैं। कुछ के पास सुपर-फास्ट गैस स्टोव (एक GPU) होता है, कुछ के पास सोलर ओवन (एक NPU) होता है, और कुछ के पास बस एक अलाव (एक CPU) होता है।
- डेलीगेशन: ExecuTorch स्मार्ट है। यह आपकी रेसिपी को देखता है और कहता है, "ठीक है, यह काटने वाला हिस्सा गैस स्टोव पर तेज़ है, लेकिन यह बेकिंग वाला हिस्सा सोलर ओवन पर बेहतर है।" यह रेसिपी के अलग-अलग हिस्सों को उपलब्ध सबसे अच्छे टूल को भेज देता है।
- परिणाम: खाना तेजी से पकता है क्योंकि हर चरण को सबसे अच्छे टूल द्वारा किया जाता है, न कि सब कुछ एक धीमे टूल पर थोपने के बजाय।
4. "कॉम्पैक्ट सूटकेस" (क्वांटाइजेशन)
कभी-कभी रेसिपी ले जाने के लिए बहुत भारी होती है। ExecuTorch के पास एक तकनीक है जिसे Quantization कहते हैं।
- उपमा: कल्पना कीजिए कि आपकी रेसिपी में "एक चुटकी नमक" की आवश्यकता है। नमक को सटीक मिलीग्राम तक तौलने के बजाय (जिसमें बहुत जगह लगती है), आप बस "एक चुटकी" कहते हैं। आप थोड़ी सी सटीकता खो देते हैं, लेकिन व्यंजन अभी भी स्वादिष्ट लगता है, और सूटकेस अब 50% हल्का हो गया है।
- क्यों महत्वपूर्ण है: यह विशाल AI मॉडल्स (जैसे वे जो बात करते हैं या लिखते हैं) को फोन या यहाँ तक कि एक छोटी घड़ी पर बिना बैटरी या मेमोरी खत्म किए फिट होने की अनुमति देता है।
5. वास्तविक दुनिया का प्रमाण
पेपर केवल सिद्धांत की बात नहीं करता है; उन्होंने वास्तव में अपने "सूटकेस" पैक किए और उन्हें वास्तविक यात्राओं पर भेजा:
- बड़े फोन: वे सैमसंग और गूगल फोन पर चले, यह साबित करते हुए कि यह दैनिक उपयोग के लिए पर्याप्त तेज़ है।
- छोटे चिप्स: वे एक Raspberry Pi Pico 2 (एक छोटा कंप्यूटर जो टूथपिक के आकार का है और जिसमें बहुत कम मेमोरी है) पर एक साधारण गणितीय खेल भी चलाकर सफल रहे। उन्होंने दिखाया कि इन "कॉम्पैक्ट सूटकेस" तकनीकों का उपयोग करके, वे एक ऐसे डिवाइस में काम करने वाला AI फिट कर सकते हैं जो आमतौर पर इसे संभालने में असमर्थ होता है।
- तुलना: उन्होंने अपने डिलीवरी ट्रक की दौड़ अन्य ट्रकों (जैसे ONNX और llama.cpp) के साथ लगाई। कई मामलों में, ExecuTorch तेज़ था या उसके बराबर ही था, लेकिन बिना रेसिपी को दोबारा लिखे काम करने के अतिरिक्त लाभ के साथ।
निचोड़
ExecutableTorch से पहले, एक AI को शोधकर्ता के कंप्यूटर से वास्तविक डिवाइस पर ले जाना एक घर को ईंट-दर-ईंट अलग करने और फिर उसे एक नए शहर में फिर से बनाने जैसा था।
Executach कहता है: "इसे अलग मत करो। बस इसे एक ऐसी मूविंग वैन में डाल दो जो कहीं भी फिट हो सके।"
यह शोधकर्ताओं को उनके पसंदीदा वातावरण (PyTorch) में मॉडल बनाने और उन्हें 1,000 के स्मार्टफोन तक कहीं भी तैनात करने की अनुमति देता है—बिना गति, सटीकता या मानसिक शांति खोए। यह "लैब में एक कूल आइडिया" और "आपकी जेब में एक वर्किंग फीचर" के बीच के अंतर को पाटता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।