एमएलआईआर

अवलोकन

एमएलआईआर, या मल्टी-लेवल इंटरमीडिएट रिप्रेजेंटेशन, कंपाइलर उपयोगिताओं का एक प्रतिनिधित्व प्रारूप और लाइब्रेरी है जो मॉडल प्रतिनिधित्व और निम्न-स्तरीय कंपाइलर्स/निष्पादकों के बीच बैठता है जो हार्डवेयर-विशिष्ट कोड उत्पन्न करते हैं।

एमएलआईआर, अपने मूल में, आधुनिक अनुकूलन कंपाइलरों के लिए एक लचीला बुनियादी ढांचा है। इसका मतलब यह है कि इसमें मध्यवर्ती प्रतिनिधित्व (आईआर) के लिए एक विनिर्देश और उस प्रतिनिधित्व पर परिवर्तन करने के लिए एक कोड टूलकिट शामिल है। (कंपाइलर भाषा में, जैसे-जैसे आप उच्च-स्तरीय अभ्यावेदन से निचले-स्तरीय अभ्यावेदन की ओर बढ़ते हैं, इन परिवर्तनों को "कम करना" कहा जा सकता है)

एमएलआईआर एलएलवीएम से अत्यधिक प्रभावित है और इसमें से कई महान विचारों का बेझिझक पुन: उपयोग करता है। इसमें एक लचीली प्रकार की प्रणाली है, और एक ही संकलन इकाई में अमूर्तता के कई स्तरों के संयोजन वाले ग्राफ़ का प्रतिनिधित्व, विश्लेषण और परिवर्तन करने की अनुमति देती है। इन अमूर्तताओं में टेन्सरफ्लो संचालन, नेस्टेड पॉलीहेड्रल लूप क्षेत्र और यहां तक ​​कि एलएलवीएम निर्देश और निश्चित हार्डवेयर संचालन और प्रकार शामिल हैं।

हम उम्मीद करते हैं कि एमएलआईआर कई समूहों के लिए रुचिकर होगा, जिनमें शामिल हैं:

  • कंपाइलर शोधकर्ता और कार्यान्वयनकर्ता मशीन लर्निंग मॉडल के प्रदर्शन और मेमोरी खपत को अनुकूलित करना चाहते हैं
  • हार्डवेयर निर्माता अपने हार्डवेयर को TensorFlow से कनेक्ट करने का तरीका ढूंढ रहे हैं, जैसे TPU, फोन में पोर्टेबल न्यूरल हार्डवेयर और अन्य कस्टम ASIC
  • भाषा बाइंडिंग लिखने वाले लोग कंपाइलर और हार्डवेयर त्वरण को अनुकूलित करने का लाभ उठाना चाहते हैं।

TensorFlow पारिस्थितिकी तंत्र में कई कंपाइलर और ऑप्टिमाइज़र शामिल हैं जो सॉफ़्टवेयर और हार्डवेयर स्टैक के कई स्तरों पर काम करते हैं। हम उम्मीद करते हैं कि एमएलआईआर को धीरे-धीरे अपनाने से इस स्टैक के हर पहलू को सरल बनाया जा सकेगा।

एमएलआईआर सिंहावलोकन आरेख