← नवीनतम पेपर
💻 computer science

MileStone: A Multi-Objective Compiler Phase Ordering Framework for Graph-based IR-Level Optimization

MileStone एक मॉड्यूलर, मल्टी-ऑब्जेक्टिव कंपाइलर फ्रेमवर्क है जो इष्टतम पास अनुक्रमों (pass sequences) की खोज करने के लिए ग्राफ न्यूरल नेटवर्क और रीइन्फोर्समेंट लर्निंग का लाभ उठाता है, जो ऊर्जा बाधाओं का पालन करते हुए निष्पादन समय को महत्वपूर्ण रूप से कम करता है और मौजूदा अनुकूलन विधियों से बेहतर प्रदर्शन करता है।

मूल लेखक: Amirhosein Sadr, Mehran Alidoost Nia

प्रकाशित 2026-05-25
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Amirhosein Sadr, Mehran Alidoost Nia

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक बेहतरीन केक बनाने की कोशिश कर रहे हैं। आपके पास सामग्री की एक सूची है (आपका कंप्यूटर कोड) और आपके पास किए जा सकने वाले संभावित चरणों का एक सेट है: अधिक देर तक मिलाना, अधिक गर्म करना, अधिक चीनी डालना, या बैटर को धीरे से फोल्ड करना। कंप्यूटर की दुनिया में, इन चरणों को कंपाइलर पासेस (compiler passes) कहा जाता है।

समस्या यह है कि इन चरणों के क्रम के लाखों तरीके हो सकते हैं। कुछ क्रम केक का स्वाद तो बहुत अच्छा बना देते हैं लेकिन उन्हें पकाने में बहुत समय लगता है। कुछ ऐसे भी होते हैं जो केक को जल्दी पका तो देते हैं लेकिन उसे सूखा छोड़ देते हैं। कंप्यूटर इसे संभालने का मानक तरीका यह है कि वे एक "प्रीसेट" रेसिपी चुनते हैं (जैसे "लेवल 3 ऑप्टिमाइज़ेशन") जो सबके लिए ठीक काम करती है, लेकिन यह आपके विशिष्ट केक के लिए शायद ही कभी एकदम सही होती है।

यह पेपर MileStone को पेश करता है, जो एक स्मार्ट, AI-संचालित प्रणाली है जिसे किसी भी विशिष्ट प्रोग्राम के लिए चरणों का परफेक्ट क्रम खोजने के लिए डिज़ाइन किया गया है, जो तीन प्रतिस्पर्धी लक्ष्यों के बीच संतुलन बनाता है:

  1. गति (Speed) (यह कितनी तेज़ी से चलता है?)
  2. आकार (Size) (यह कितनी मेमोरी लेता है?)
  3. ऊर्जा (Energy) (यह कितनी बैटरी खर्च करता है?)

यहाँ बताया गया है कि MileStone कैसे काम करता है, जिसे सरल अवधारणाओं में विभाजित किया गया है:

1. मानचित्र: कोड को ग्राफ में बदलना

कोड को इंसान की तरह लाइन-दर-लाइन पढ़ने के बजाय, MileStone प्रोग्राम को एक कंट्रोल एंड डेटा फ्लो ग्राफ (CDFR) में बदल देता है।

  • उपमा: इस कोड को एक शहर की तरह समझें। निर्देश इमारतें हैं, और उन्हें जोड़ने वाली रेखाएं सड़कें हैं। कुछ सड़कें दिखाती हैं कि आपको किस क्रम में गाड़ी चलानी है (कंट्रोल फ्लो), और अन्य दिखाती हैं कि कार्गो (डेटा) को कहाँ ले जाया जा रहा है (डेटा फ्लो)।
  • यह क्यों मदद करता है: यह मानचित्र AI को प्रोग्राम के टेक्स्ट के बजाय उसके ढांचे (structure) को समझने में मदद करता है। यह समझता है कि कोड के विभिन्न हिस्से एक-दूसरे पर कैसे निर्भर हैं।

2. क्रिस्टल बॉल: ग्राफ न्यूरल नेटवर्क (GNN)

MileStone एक विशेष प्रकार के AI का उपयोग करता है जिसे ग्राफ न्यूरल नेटवर्क (GNN) कहा जाता है, जो एक क्रिस्टल बॉल की तरह कार्य करता है।

  • उपमा: कल्पना करें कि आपके पास एक मास्टर शेफ है जिसने हजारों केक चखे हैं। यदि आप उन्हें एक नई रेसिपी (ग्राफ) दिखाते हैं, तो वे तुरंत भविष्यवाणी कर सकते हैं: "यदि आप इसे 350 डिग्री पर पकाते हैं, तो इसमें 45 मिनट लगेंगे, इसका वजन 2 पाउंड होगा, और यह 500 कैलोरी का होगा।"
  • यह क्या करता है: प्रोग्राम को वास्तव में चलाने के बजाय (जिसमें समय और ऊर्जा लगती है), GNN ग्राफ को देखता है और गति, आकार और ऊर्जा उपयोग की भविष्यवाणी करता है। यह बहुत सारा समय बचाता है।

3. खोजकर्ता: रीइन्फोर्समेंट लर्निंग (RL)

एक बार जब AI के पास अपनी क्रिस्टल बॉल आ जाती है, तो उसे शहर में सबसे अच्छा रास्ता खोजने की आवश्यकता होती है। यह एक रीइन्फोर्समेंट लर्निंग (RL) एजेंट द्वारा किया जाता है।

  • उपमा: इस एजेंट को एक डिलीवरी ड्राइवर के रूप में सोचें जो सबसे तेज़ रास्ता खोजने की कोशिश कर रहा है। वे ग्राफ की शुरुआत से शुरू करते हैं। हर चौराहे पर (कोड के हर हिस्से पर), उन्हें निर्णय लेना होता है: "क्या मैं शॉर्टकट लूँ (गति के लिए अनुकूलित) या सुंदर दृश्य वाला रास्ता (आकार के लिए अनुकूलित) चुनूँ?"
  • लक्ष्य: उन्हें "रिवॉर्ड" (पुरस्कार) केवल बिल्कुल अंत में मिलता है। यदि वे एक तेज़, छोटे और ऊर्जा-कुशल पैकेज के साथ पहुँचते हैं, तो उन्हें उच्च स्कोर मिलता है। यदि उनकी बैटरी खत्म हो जाती है या वे बहुत अधिक समय लेते हैं, तो उन्हें कम स्कोर मिलता है। ड्राइवर हजारों प्रयासों से एक आदर्श मार्ग खोजने के लिए सीखता है।

4. स्व-सुधारने वाली लाइब्रेरी

MileStone की एक अनूठी विशेषता है: यह अपने ज्ञान की लाइब्रेरी खुद बनाता है।

  • उपमा: हर बार जब ड्राइवर एक नया रास्ता आज़माता है और "शेफ" (GNN) परिणाम की भविष्यवाणी करता है, तो MileStone इसे एक नोटबुक में लिख लेता है। समय के साथ, यह नोटबुक एक विशाल डेटाबेस बन जाती है कि क्या काम करता है और क्या नहीं।
  • लाभ: जैसे-जैसे सिस्टम इस नोटबुक का उपयोग करता है, "शेफ" भविष्यवाणी करने में बेहतर होता जाता है, और "ड्राइवर" रास्ते खोजने में बेहतर होता जाता है। यह एक स्व-सुधारने वाला चक्र है जो इसके उपयोग के साथ और स्मार्ट होता जाता है।

बड़ी जीत: ट्रेड-ऑफ को संभालना

सबसे महत्वपूर्ण बात जो MileStone करता है वह है विरोधाभासी लक्ष्यों को संभालना।

  • आमतौर पर, कोड को तेज़ बनाने से वह बड़ा हो जाता है और अधिक ऊर्जा का उपयोग करता है।
  • मानक कंपाइलर केवल एक लक्ष्य चुनते हैं (आमतौर पर गति)।
  • MileStone आपको एक नियम सेट करने की अनुमति देता है, जैसे: "मेरे पास 5 जूल की सख्त बैटरी सीमा है।" इसके बाद यह बैटरी की उस सीमा को तोड़े बिना सबसे तेज़ संभव गति खोजता है।

परिणाम

जब शोधकर्ताओं ने मानक बेंचमार्क पर MileStone का परीक्षण किया:

  • इसने "पारेटो-ऑप्टिमल" (Pareto-optimal) समाधान खोजे। सरल भाषा में, ये वे "स्वीट स्पॉट्स" हैं जहाँ आप एक चीज़ (जैसे गति) को बेहतर बनाए बिना दूसरी चीज़ (जैसे ऊर्जा) को खराब नहीं कर सकते।
  • इसने मानक कंपाइलर सेटिंग्स (जैसे प्रसिद्ध -O3 लेवल) को काफी पीछे छोड़ दिया।
  • समान ऊर्जा बजट के तहत, MileStone ने निष्पादन समय (execution time) को 45% तक कम कर दिया।
  • यह पारंपरिक तरीकों या अन्य AI दृष्टिकोणों की तुलना में विशिष्ट ऊर्जा सीमाओं को पूरा करने में बहुत बेहतर था।

संक्षेप में: MileStone कंप्यूटर कोड के लिए एक सुपर-स्मार्ट, स्व-शिक्षण नेविगेशन सिस्टम की तरह है। एक सामान्य मैप के बजाय, यह प्रत्येक प्रोग्राम के लिए एक कस्टम मैप बनाता है, हर संभावित मार्ग के परिणाम की भविष्यवाणी करता है, और आपको उस मंजिल तक पहुँचाता है जो गति, आकार और ऊर्जा दक्षता का एक आदर्श संतुलन है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →