The Open Neural Network Exchange (ONNX) एक ओपन-सोर्स इकोसिस्टम और मशीन लर्निंग मॉडल को प्रस्तुत करने के लिए एक मानक प्रारूप है। यह AI एल्गोरिदम के लिए एक सामान्य प्रतिनिधित्व प्रदान करता है, जिससे मॉडल को विभिन्न फ्रेमवर्क, टूल्स और हार्डवेयर प्लेटफार्मों के बीच स्थानांतरित किया जा सकता है। प्रौद्योगिकी कंपनियों और अनुसंधान संगठनों के एक सहयोगी समुदाय द्वारा शासित, ONNX का उद्देश्य न्यूरल नेटवर्क और अन्य मशीन लर्निंग प्रणालियों के विकास और परिनियोजन को सुव्यवस्थित करना है।
ONNX GitHub पर उपलब्ध है, जहाँ इसके विनिर्देश, ऑपरेटर और टूलिंग बनाए रखे जाते हैं। यह प्रारूप एक एक्स्टेंसिबल कम्प्यूटेशन ग्राफ मॉडल, बिल्ट-इन ऑपरेटर और मानक डेटा प्रकारों को परिभाषित करता है, जो मुख्य रूप से प्रशिक्षण के बजाय इन्फ्रेंस (मूल्यांकन) पर केंद्रित है। यह अपने कंटेनर प्रारूप के रूप में प्रोटोकॉल बफ़र्स का उपयोग करता है, जो कुशल सीरियलाइज़ेशन और भाषाओं और प्रणालियों में संगतता सुनिश्चित करता है।
इतिहास
ONNX को शुरू में फेसबुक की PyTorch टीम द्वारा कोडनेम "Toffee" के तहत विकसित किया गया था। सितंबर 2017 में, इसका नाम बदलकर ONNX कर दिया गया और फेसबुक और माइक्रोसॉफ्ट द्वारा सार्वजनिक रूप से घोषणा की गई। घोषणा ने प्रारूप को डीप लर्निंग के तेजी से बढ़ते क्षेत्र में अंतर-संचालन को बढ़ावा देने के तरीके के रूप में स्थापित किया।
लॉन्च के बाद के महीनों में, कई प्रमुख प्रौद्योगिकी फर्मों ने इस पहल के लिए समर्थन की घोषणा की, जिनमें IBM, हुआवेई, Intel, AMD, Arm और Qualcomm शामिल हैं। अक्टूबर 2017 में, माइक्रोसॉफ्ट ने यह घोषणा करके अपनी प्रतिबद्धता का विस्तार किया कि उसका कॉग्निटिव टूलकिट और प्रोजेक्ट ब्रेनवेव प्लेटफॉर्म ONNX के साथ एकीकृत होगा। अगले वर्ष, परियोजना को व्यापक संस्थागत समर्थन मिला: नवंबर 2019 में, ONNX को लिनक्स फाउंडेशन AI के तहत एक ग्रेजुएट प्रोजेक्ट के रूप में स्वीकार किया गया, एक कदम जिसने इसकी शासन संरचना और ओपन-सोर्स स्थिति को मजबूत किया। अक्टूबर 2020 में, Zetane Systems ONNX इकोसिस्टम में एक सदस्य के रूप में शामिल हुई, जिससे समुदाय और व्यापक हुआ।
उद्देश्य
ONNX का प्राथमिक लक्ष्य फ्रेमवर्क अंतर-संचालन को सक्षम करना है। डेवलपर्स एक फ्रेमवर्क, जैसे PyTorch या TensorFlow, में मॉडल बना सकते हैं और उन्हें किसी अन्य वातावरण में उपयोग के लिए ONNX प्रारूप में निर्यात कर सकते हैं। यह क्षमता विकास पाइपलाइन के विभिन्न चरणों के दौरान विशेष रूप से मूल्यवान है, जिसमें प्रशिक्षण, आर्किटेक्चर डिज़ाइन, मॉडल मूल्यांकन और मोबाइल या एम्बेडेड डिवाइसों पर परिनियोजन शामिल है। मॉडल प्रतिनिधित्व को विशिष्ट सॉफ्टवेयर स्टैक से अलग करके, ONNX विक्रेता लॉक-इन को कम करता है और टीमों के बीच सहयोग को सरल बनाता है।
एक और प्रमुख उद्देश्य साझा अनुकूलन है। ONNX एक सामान्य प्रतिनिधित्व प्रदान करता है जिसका उपयोग हार्डवेयर विक्रेता और सॉफ्टवेयर डेवलपर्स कई फ्रेमवर्कों में एक साथ न्यूरल नेटवर्क मॉडल पर प्रदर्शन अनुकूलन लागू करने के लिए कर सकते हैं। इसका मतलब है कि एक एकल अनुकूलन तकनीक, जैसे ऑपरेटर फ्यूज़न या क्वांटाइज़ेशन, विभिन्न स्रोतों से उत्पन्न मॉडलों को लाभ पहुंचा सकती है, जिससे GPU, CPU और विशेष AI एक्सेलेरेटर पर निष्पादन में तेजी आती है।
प्रारूप और संरचना
ONNX मॉडल को निर्देशित अचक्रीय ग्राफ (DAG) के रूप में प्रस्तुत किया जाता है, जहाँ प्रत्येक नोड एक ऑपरेटर कॉल के अनुरूप होता है। नोड्स में परिभाषित इनपुट और आउटपुट होते हैं, जो एक डेटाफ्लो ग्राफ बनाते हैं जो गणना का वर्णन करता है। ग्राफ के साथ मेटाडेटा होता है जो मॉडल संस्करण, लेखक और प्रशिक्षण जानकारी जैसे गुणों का दस्तावेजीकरण करता है। बिल्ट-इन ऑपरेटरों को हर ONNX-अनुरूप फ्रेमवर्क पर उपलब्ध होने की गारंटी दी जाती है, जिससे कार्यान्वयन में आधारभूत कार्यक्षमता सुनिश्चित होती है।
प्रारूप एक्स्टेंसिबल है, जो विशेष उपयोग के मामलों के लिए कस्टम ऑपरेटर और डेटा प्रकारों को जोड़ने की अनुमति देता है। इस लचीलेपन ने ONNX को PyTorch जैसे अनुसंधान फ्रेमवर्क और उत्पादन वातावरण के बीच, साथ ही एज डिवाइसों और क्लाउड इंफ्रास्ट्रक्चर के बीच एक पुल बना दिया है।
इकोसिस्टम और अपनाना
ONNX में क्लाउड प्रदाताओं, सेमीकंडक्टर कंपनियों और अनुसंधान प्रयोगशालाओं सहित विभिन्न संगठनों के योगदान शामिल हैं। इन भागीदारों ने मॉडल को ONNX में और उससे परिवर्तित करने के लिए टूल विकसित किए हैं, साथ ही रनटाइम इंजन जो ONNX ग्राफ को कुशलता से निष्पादित करते हैं। इकोसिस्टम PyTorch और TensorFlow जैसे प्रमुख फ्रेमवर्क का समर्थन करता है, जिससे प्रशिक्षण से परिनियोजन तक सुगम संक्रमण संभव होता है।
हार्डवेयर विक्रेता ONNX को अनुकूलन के लिए एक सामान्य लक्ष्य के रूप में उपयोग करते हैं। ONNX ग्राफ पर प्रदर्शन ट्यूनिंग लागू करके, वे प्रत्येक फ्रेमवर्क के लिए समाधान तैयार किए बिना मॉडलों के व्यापक दर्शकों तक पहुंच सकते हैं। इसने ONNX को मोबाइल फोन से लेकर क्लाउड सर्वर तक के उपकरणों पर मॉडल परिनियोजन में एक प्रमुख घटक बना दिया है।
लिनक्स फाउंडेशन AI इस परियोजना की मेजबानी करता है, जो विक्रेता-तटस्थ शासन प्रदान करता है और प्रतिस्पर्धियों के बीच सहयोग को बढ़ावा देता है। यह संरचना अन्य ओपन-सोर्स AI पहलों को प्रतिबिंबित करती है और सुनिश्चित करती है कि मानक कई हितधारकों के इनपुट के साथ विकसित हो।
सामग्री और तकनीकी संरचना
इसके मूल में, ONNX एक एक्स्टेंसिबल कम्प्यूटेशन ग्राफ मॉडल को परिभाषित करता है। प्रत्येक ग्राफ नोड्स की एक सूची है जो एक अचक्रीय संरचना बनाती है, जहाँ नोड्स में इनपुट और आउटपुट होते हैं, और प्रत्येक नोड एक ऑपरेटर के कॉल का प्रतिनिधित्व करता है। ग्राफ को मेटाडेटा के साथ दस्तावेजीकृत किया जाता है, जिसमें मॉडल के उद्देश्य, संस्करण और लेखक के बारे में जानकारी शामिल हो सकती है। बिल्ट-इन ऑपरेटर, जैसे मैट्रिक्स गुणन, कन्वोल्यूशन और सक्रियण फ़ंक्शन, किसी भी ONNX-समर्थक फ्रेमवर्क पर उपलब्ध होने के लिए निर्दिष्ट हैं, जिससे स्थिरता सुनिश्चित होती है।
कंटेनर प्रारूप प्रोटोकॉल बफ़र्स है, एक भाषा-तटस्थ सीरियलाइज़ेशन तंत्र जो कॉम्पैक्ट और व्यापक रूप से समर्थित है। यह विकल्प C++, Python और Java सहित विविध प्रोग्रामिंग वातावरणों में मॉडल के आदान-प्रदान की सुविधा प्रदान करता है।
परिचालन कार्यप्रवाह
एक विशिष्ट ONNX कार्यप्रवाह में एक फ्रेमवर्क, जैसे PyTorch या TensorFlow, में मॉडल को प्रशिक्षित करना और फिर उसे ONNX प्रारूप में निर्यात करना शामिल है। यह निर्यात प्रक्रिया मॉडल के कम्प्यूटेशनल ग्राफ, जिसमें इसके ऑपरेटर और पैरामीटर शामिल हैं, को एक मानकीकृत फ़ाइल में कैप्चर करती है। एक बार ONNX प्रारूप में, मॉडल को परीक्षण, सत्यापन या उत्पादन परिनियोजन के लिए अन्य प्रणालियों में लोड किया जा सकता है।
क्योंकि ONNX हार्डवेयर-अज्ञेय है, वही मॉडल फ़ाइल विभिन्न रनटाइम वातावरणों पर निष्पादित की जा सकती है, जिसमें CPU, GPU और कस्टम AI चिप्स शामिल हैं। यह लचीलापन आधुनिक AI अनुप्रयोगों के लिए आवश्यक है, जहाँ प्रशिक्षण उच्च-प्रदर्शन क्लस्टरों पर हो सकता है लेकिन इन्फ्रेंस को सीमित संसाधनों वाले एज डिवाइसों पर चलाने की आवश्यकता होती है। सामान्य प्रतिनिधित्व फ्रेमवर्कों में मॉडल की बेंचमार्किंग और तुलना की सुविधा भी प्रदान करता है।
इकोसिस्टम और अपनाना
ONNX को AI उद्योग में विभिन्न संगठनों द्वारा अपनाया गया है, जिसमें क्लाउड प्रदाता, चिपमेकर और सॉफ्टवेयर डेवलपर्स शामिल हैं। लिनक्स फाउंडेशन AI के तहत इसकी शासन संरचना ने पारदर्शिता और समुदाय-संचालित विकास सुनिश्चित करने में मदद की है। परियोजना के विनिर्देश संस्करणित और सार्वजनिक रूप से बनाए रखे जाते हैं, जिससे दुनिया भर के शोधकर्ताओं और इंजीनियरों के योगदान की अनुमति मिलती है।
यह भी देखें
श्रेणियाँ
- machine-learning
- open-source
- interoperability
- neural-networks