Google I/O में ट्यूनिंग के लिए धन्यवाद। मांग पर सभी सत्र देखें मांग पर देखें

एमएलआईआर

अवलोकन

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

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

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

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

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

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

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