StableHLO, मशीन लर्निंग (ML) मॉडल में हाई-लेवल ऑपरेशन (एचएलओ) के लिए सेट किया गया ऑपरेशन है. असल में, यह अलग-अलग एआई फ़्रेमवर्क और एआई कंपाइलर के बीच एक पोर्टेबिलिटी लेयर है: StableHLO प्रोग्राम बनाने वाले एआई फ़्रेमवर्क, StableHLO प्रोग्राम का इस्तेमाल करने वाले एआई कंपाइलर के साथ काम करते हैं.
हमारा लक्ष्य, अलग-अलग ML फ़्रेमवर्क (जैसे, TensorFlow, JAX, और PyTorch) और ML कंपाइलर (जैसे, XLA और IREE) के बीच बेहतर इंटरऑपरेबिलिटी बनाकर, ML डेवलपमेंट को आसान और तेज़ बनाना है.
सुविधाएं और इस्तेमाल शुरू करना
StableHLO के मौजूदा वर्शन में कई खास सुविधाएं और माइलस्टोन शामिल हैं:
- पूरी जानकारी: StableHLO Specification को पुष्टि करने वाले टूल और टाइप इंफ़रेंस के साथ-साथ, डाइनैमिक और क्वांटाइज़ेशन की सुविधाओं वाले सभी ~100 ऑपरेशन के लिए तय किया गया है.
- काम करने की सुविधा से यह गारंटी मिलती है कि यह वर्शन, पांच साल पहले के वर्शन के साथ काम करेगा और दो साल बाद के वर्शन के साथ भी काम करेगा. इससे, लंबे समय तक सर्वर / एज डिप्लॉयमेंट और सालाना अपडेट साइकल की सुविधा मिलती है.
- स्टैटिक और डाइनैमिक ऑपरेटर के साथ काम करने वाला रेफ़रंस इंटरप्रेटर. इसमें C++ और Python एपीआई भी शामिल हैं.
- कंपोज़िट ऑपरेशन और कस्टम-कॉल की मदद से बढ़ाया जा सकता है, ताकि तुरंत प्रयोग किया जा सके या वेंडर के हिसाब से ऑपरेशन को मॉडल किया जा सके.
- मुख्य सुविधाओं के लिए C++/Python एपीआई और आसानी से शामिल करने के लिए nightly dev-wheel फ़ाइलें.
- अलग-अलग फ़्रेमवर्क से StableHLO निकालने के लिए, Python एपीआई के साथ-साथ अन्य काम के फ़ंक्शन दिखाने वाले Colab ट्यूटोरियल.
- 3 हज़ार टेस्ट फ़ाइलों का टेस्टडेटा सुइट. इसमें वेंडर इंटिग्रेशन टेस्टिंग, फ़ॉरवर्ड / बैकवर्ड कम्पैटिबिलिटी टेस्ट, और 90% से ज़्यादा कोड कवरेज के लिए, डाइनैमिक और क्वांटाइज़ किए गए प्रोग्राम और गोल्ड नतीजे शामिल हैं.
- हार्डवेयर से स्वतंत्र प्रोग्राम को आसान बनाने के लिए प्रोग्राम में बदलाव, कंक्रीट इनपुट आर्ग्युमेंट का इस्तेमाल करके डाइनैमिक तौर पर बनाए गए प्रोग्राम को बेहतर बनाना, और linalg या tosa जैसे अपस्ट्रीम MLIR डायलेक्ट में बदलाव करना.
- कम्यूनिटी के हिसाब से, ट्रांसफ़ॉर्मेशन के लिए कई पारिस्थितिक तंत्र के योगदान के साथ-साथ, ऑपसेट में बदलाव के लिए आरएफ़सी: नए FP8 टाइप, collective_broadcast, एक साथ कई एलिमेंट इकट्ठा करने / अलग-अलग एलिमेंट में बांटने वाले ऑपरेशन, हाइब्रिड क्वांटिज़ेशन, इंटरप्रेटर एपीआई, सीएचएलओ के डेकंपोज़िशन, StableHLO के आसान ट्रांसफ़ॉर्मेशन वगैरह!
मॉडल डेवलपर, जो अपने एमएल प्रोजेक्ट को कंपाइल करने के लिए StableHLO या XLA का इस्तेमाल करना चाहते हैं, वे अपने एमएल फ़्रेमवर्क के लिए, इससे जुड़े दस्तावेज़ देखें:
अगर कंपाइलर डेवलपर को StableHLO इंटिग्रेट करना है, तो इस साइट पर मौजूद, शुरू करने के लिए दस्तावेज़ देखें. इसमें ट्यूटोरियल और डेवलपर की जानकारी शामिल है. अगर आपको शामिल होने से जुड़ी कोई मदद चाहिए, कोई सवाल पूछना है या कोई समस्या आ रही है, तो इस पेज के कम्यूनिटी सेक्शन पर जाएं!
निर्देश बनाना
बिल्ड करने के निर्देशों के लिए, GitHub पर StableHLO देखें.
कम्यूनिटी
एमएल फ़्रेमवर्क और एमएल कंपाइलर के बीच बेहतरीन पोर्टेबिलिटी लेयर बनाने के लिए, एमएल इंडस्ट्री के सभी लोगों के साथ मिलकर काम करना ज़रूरी है. इसलिए, हमें StableHLO प्रोजेक्ट में आपकी मदद करके खुशी हो रही है.
हम डेवलपमेंट को व्यवस्थित करने के लिए, GitHub की समस्याओं / पुल के अनुरोधों का इस्तेमाल कर रहे हैं. साथ ही, लंबी चर्चाओं के लिए openxla-discuss का इस्तेमाल कर रहे हैं. हमारा #stablehlo
OpenXLA Discord सर्वर पर भी एक चैनल है.