La स्थानिक कृत्रिम बुद्धिमत्ता हे आता फक्त मोठ्या कंपन्यांसाठीच मर्यादित राहिलेले नाही ज्यांच्याकडे प्रचंड डेटा सेंटर्स आहेत. आज तुम्ही क्लाउडवर सतत अवलंबून न राहता आणि आवश्यकता पूर्ण करत असल्याची खात्री न करता, तुमच्या CPU, GPU किंवा NPU चा वापर करून, तुमच्या PC, लॅपटॉप किंवा अगदी एम्बेडेड डिव्हाइसेसवर थेट प्रगत AI मॉडेल्स चालवू शकता. किमान आणि शिफारस केलेल्या आवश्यकता इष्टतम कामगिरीसाठी.
या लेखात आपण शांतपणे कसे ते तपासू ONNX रनटाइम तुम्हाला तुमच्या स्वतःच्या हार्डवेअरवर AI मॉडेल्स चालवू देतो.ते .NET आणि VB.NET सोबत एकत्रित करणे असो, Python, C++, किंवा C# वरून वापरणे असो, किंवा Windows ML सोबत मूळ एकत्रीकरणाचा फायदा घेणे असो, तुम्हाला ONNX फॉरमॅट काय आहे, मॉडेल्स कसे निर्यात आणि ऑप्टिमाइझ केले जातात, एक्झिक्युशन प्रोव्हायडर्सची भूमिका आणि हे सर्व तुमच्या दैनंदिन कामात जलद, खाजगी आणि स्वस्त AI असण्यासाठी का महत्त्वाचे आहे हे दिसेल. आम्ही कसे ते देखील पुनरावलोकन करू... रायझनसह स्थानिक एआयचा फायदा घ्या सुसंगत उपकरणांवर.
ONNX म्हणजे काय आणि ते कोणत्या समस्येचे निराकरण करते?
ओएनएनएक्ससाठी परिवर्णी शब्द ओपन न्यूरल नेटवर्क एक्सचेंजहे मशीन लर्निंग आणि डीप लर्निंग मॉडेल्सचे प्रतिनिधित्व करण्यासाठी एक खुले मानक आहे. त्याचे ध्येय तुम्हाला परवानगी देणे आहे एका चौकटीत मॉडेलला प्रशिक्षित करा जसे की PyTorch, TensorFlow, Keras, TFLite किंवा scikit-learn, आणि नंतर विशिष्ट रूपांतरणांनी वेडे न होता ते वेगळ्या वातावरणात चालवा.
हे स्वरूप परिभाषित करते a आलेख-आधारित अनुक्रमांक जे मॉडेलच्या आर्किटेक्चरचे (स्तर, कनेक्शन, ऑपरेशन्स, डेटा प्रकार इ.) आणि मानक ऑपरेटरचा संच (कन्व्होल्यूशन, अॅक्टिव्हेशन्स, नॉर्मलायझेशन इ.) वर्णन करते. कारण ते पिकल किंवा जॉब्लिब सारख्या बंद बायनरी फॉरमॅटवर नाही तर ग्राफवर आधारित आहे, इंटरऑपरेबिलिटी सुलभ करते भाषा आणि फ्रेमवर्क दरम्यान, विशेषतः संगणक दृष्टी आणि कमी-विलंब अनुप्रयोगांमध्ये उपयुक्त काहीतरी.
एआय टीमसाठी, ओएनएनएक्स हा एक महत्त्वाचा घटक बनला आहे कारण यामुळे एकाच पुरवठादारावरील अवलंबित्व कमी होते.तुम्हाला हवे तिथे प्रशिक्षण घ्या, ONNX मध्ये रूपांतरित करा आणि नंतर तुमच्याकडे उपलब्ध असलेल्या हार्डवेअरवर, मग ते क्लाउड सर्व्हर असो, डेस्कटॉप पीसी असो, FPGA असो किंवा एज डिव्हाइस असो, तुमच्यासाठी सर्वात योग्य असे अनुमान इंजिन (ONNX Runtime, TensorRT, OpenVINO, इ.) निवडा.
या मानकाला प्रमुख उद्योग खेळाडूंनी पाठिंबा दिला आहे जसे की मायक्रोसॉफ्ट, एनव्हीआयडीए, इंटेल आणि इतर उत्पादकयामुळे साधनांचा एक अतिशय व्यापक परिसंस्था निर्माण झाली आहे: अधिकृत कन्व्हर्टर, रूपांतरण आणि ऑप्टिमायझेशनसाठी लायब्ररी, नेट्रॉनसह मॉडेल व्हिज्युअलायझेशन आणि प्रसिद्ध ONNX मॉडेल प्राणीसंग्रहालय ज्यामध्ये पूर्व-प्रशिक्षित मॉडेल्स आहेत जे सुरवातीपासून प्रशिक्षण न घेता सुरुवात करू शकतात.

ONNX रनटाइम विंडोज एमएल आणि विंडोज इकोसिस्टममध्ये कसा बसतो?
विंडोजवर, ONNX रनटाइम हे घट्टपणे एकत्रित केले आहे विंडोज मशीन लर्निंग (विंडोज एमएल)हा थर मिडलवेअर म्हणून काम करतो जो तुमच्या पीसीच्या हार्डवेअर संसाधनांचे (CPU, GPU आणि NPU) गटबद्ध करतो आणि व्यवस्थापित करतो जेणेकरून तुम्हाला प्रत्येक चिपच्या निम्न-स्तरीय तपशीलांचे व्यवस्थापन न करता सर्वोत्तम कामगिरीसह ONNX मॉडेल्स चालवता येतील.
विंडोज एमएल प्रदान करते ONNX रनटाइमची शेअर केलेली प्रत सिस्टम स्तरावर, हे अॅप्लिकेशन्सना ONNX रनटाइमची स्वतःची आवृत्ती इंस्टॉलरमध्ये पॅकेज करण्याऐवजी हे सामान्य वातावरण वापरण्याची परवानगी देते. हे अॅपचा आकार कमी करते, अपडेट्स सुलभ करते आणि सिस्टमसाठी सर्वात योग्य आवृत्ती वापरली जात आहे याची खात्री करते.
शिवाय, ऑपरेटिंग सिस्टम सक्षम आहे विशिष्ट अंमलबजावणी प्रदाते गतिमानपणे डाउनलोड करा उपलब्ध हार्डवेअरसाठी. म्हणजेच, ते तुमच्या संगणकात NVIDIA GPU, Qualcomm NPU, किंवा एकात्मिक Intel किंवा AMD GPU आहे का ते शोधते आणि संबंधित EP डाउनलोड करते, डेव्हलपरला काळजी न करता ते अपडेट ठेवते.
C#, C++, किंवा Python प्रोग्रामरसाठी, Windows ML एक API ऑफर करते जे ONNX रनटाइमच्या संकल्पना आणि पॅटर्नचा पुनर्वापर करते, जेणेकरून तुम्ही काही बदलांसह विद्यमान ONNX रनटाइम-आधारित वर्कलोड्स विंडोज एमएल वातावरणात स्थलांतरित करू शकता.आणि जर तुम्ही Windows App SDK (Windows 11 24H2 किंवा नंतरच्या आवृत्तीवर 1.8.1 किंवा नंतरचे) सह काम करत असाल, तर हे एकत्रीकरण वापरण्यासाठी आधीच तयार आहे; हे विशेषतः आधुनिक उपकरणांवर उपयुक्त आहे जसे की स्नॅपड्रॅगन एक्स२ एलिट असलेले विंडोज लॅपटॉप.
ONNX मॉडेल्स: रचना, प्रकार आणि व्यावहारिक उदाहरणे
ONNX फॉरमॅट मॉडेल म्हणजे, मूलतः, a शिकलेल्या प्रणालीचे गणितीय प्रतिनिधित्व प्रशिक्षणानंतर. या प्रतिनिधित्वामध्ये दुसऱ्या वातावरणात अनुमान काढण्यासाठी आवश्यक असलेल्या सर्व गोष्टींचा समावेश आहे, जिथे ते प्रशिक्षित केले गेले त्या चौकटीचा मूळ कोड जतन न करता.
ONNX फाइलमध्ये तुम्हाला आढळेल मॉडेल आर्किटेक्चर (स्तर, गणना नोड्स, त्यांच्यामधील कनेक्शन आणि ऑपरेशन्सचा प्रकार), प्रशिक्षित वजने (प्रशिक्षणादरम्यान मॉडेलने समायोजित केलेले पॅरामीटर्स) आणि औपचारिक व्याख्या इनपुट आणि आउटपुट, त्यांच्या परिमाणे, डेटा प्रकार आणि नावांसह.
उदाहरणार्थ, PyTorch मध्ये प्रशिक्षित केलेले इमेज क्लासिफिकेशन मॉडेल ONNX ला निर्यात केले जाऊ शकते जेणेकरून ते इनपुट म्हणून सामान्यीकृत इमेज असलेला टेन्सर स्वीकारू शकेल आणि आउटपुट म्हणून प्रत्येक क्लासशी संबंधित असण्याची शक्यता असलेला वेक्टर परत करू शकेल. तीच फाइल नंतर GPU असलेल्या विंडोज सर्व्हरवर किंवा मॉडेल न बदलता IoT डिव्हाइसवर ONNX रनटाइमसह चालवता येईल; शिवाय, जर तुम्ही प्रगत व्हिजनसह काम केले तर तुम्ही यासाठी मार्गदर्शकांचे पुनरावलोकन करू शकता. प्रतिमांमधील वस्तू शोधा AI सह.
ONNX इकोसिस्टममध्ये हे समाविष्ट आहे ओएनएक्स मॉडेल प्राणीसंग्रहालयवापरण्यास तयार, पूर्व-प्रशिक्षित मॉडेल्सचा संग्रह: प्रतिमा वर्गीकरण नेटवर्क (रेसनेट, मोबाईलनेट आणि तत्सम, ५-१० एमबी आकारांसह), जीपीटी-२ (~५०० एमबी) सारखे भाषा मॉडेल्स किंवा ऑब्जेक्ट डिटेक्शन आणि सेगमेंटेशनसाठी खूप हेवीवेट आर्किटेक्चर्स (१-२ जीबी किंवा त्याहून अधिक). हे तुम्हाला उच्च-गुणवत्तेच्या मॉडेल्सना सुरवातीपासून प्रशिक्षित न करता चाचणी करण्याची परवानगी देते.
तुमच्या स्वतःच्या हार्डवेअरवर एआय चालवण्याचे फायदे
ONNX आणि ONNX रनटाइमला इतके लोकप्रियता मिळण्याचे एक कारण म्हणजे ते स्थानिक पातळीवर एआयची अंमलबजावणी सुलभ करतात.म्हणजेच, वापरकर्त्याच्या स्वतःच्या डिव्हाइसवर किंवा कंपनीच्या ऑन-प्रिमाइस इन्फ्रास्ट्रक्चरवर, क्लाउड सेवांवरील अवलंबित्व कमी करणे.
पहिला फायदा म्हणजे डेटा गोपनीयतातृतीय-पक्ष सर्व्हरवर माहिती न पाठवल्याने, लीक किंवा गैरवापराचा धोका कमी होतो. संवेदनशील डेटा (आरोग्यसेवा, वित्त, सार्वजनिक प्रशासन किंवा कॉर्पोरेट कायदेशीर विभाग) हाताळणाऱ्या आणि त्यांचा डेटा त्यांच्या अंतर्गत नेटवर्कच्या बाहेर जाऊ नये असे वाटत असलेल्या क्षेत्रांमध्ये हे अत्यंत महत्त्वाचे आहे.
हे देखील लक्षणीयरीत्या कमी करते आवर्ती खर्चकारण तुम्हाला अनुमान मॉडेल्स चालविण्यासाठी क्लाउड कॉम्प्युटिंग उदाहरणांसाठी सतत पैसे द्यावे लागत नाहीत. तुम्ही तुमच्या स्वतःच्या हार्डवेअरमध्ये गुंतवणूक करता (किंवा तुमच्याकडे आधीच जे आहे त्याचा फायदा घ्या) आणि महिन्याच्या शेवटी जेव्हा API चा वापर वाढतो तेव्हा तुमच्या बिलातील आश्चर्य टाळता.
आणखी एक अतिशय स्पष्ट फायदा म्हणजे कमी विलंबडिव्हाइसवरच मॉडेल चालवून, तुम्ही नेटवर्क राउंड-ट्रिप वेळ काढून टाकता, जो विशेषतः रिअल-टाइम अनुप्रयोगांमध्ये (औद्योगिक मशीन व्हिजन, इंटरॅक्टिव्ह असिस्टंट, लाइव्ह व्हिडिओ प्रोसेसिंग किंवा एकात्मिक एआयसह व्हिडिओ गेम) लक्षणीय असतो.
शेवटी, स्थानिक पातळीवर मॉडेल चालवल्याने तुम्हाला मिळते तैनातीवर पूर्ण नियंत्रणतुम्ही पाइपलाइन कस्टमाइझ करू शकता, क्वांटायझेशन किंवा प्रुनिंग लागू करू शकता, विशिष्ट संसाधनांवर प्रवेश प्रतिबंधित करू शकता, मॉडेल कधी अपडेट करायचे ते ठरवू शकता आणि तुमच्या कंपनीच्या अंतर्गत नियमांनुसार किंवा लागू असलेल्या नियमांनुसार अनुमान जुळवून घेऊ शकता.
.NET आणि इतर वातावरणात ONNX रनटाइम सुरू करण्यासाठी मूलभूत आवश्यकता
जर तुम्हाला वापरणे सुरू करायचे असेल तर .NET आणि VB.NET सह ONNX रनटाइम तुमच्या संगणकावर, सुरुवातीच्या आवश्यकता अगदी वाजवी आहेत. तुमच्या प्रोजेक्टनुसार, तुम्हाला समर्थित ऑपरेटिंग सिस्टम (विंडोज, मॅकओएस किंवा लोकप्रिय लिनक्स वितरण) आणि .NET फ्रेमवर्क किंवा .NET कोर स्थापित करणे आवश्यक असेल.
व्हिज्युअल स्टुडिओच्या विशिष्ट बाबतीत, फक्त तुमचे समाधान उघडा आणि Microsoft.ML.OnnxRuntime NuGet पॅकेज जोडा.या पॅकेजमध्ये ONNX मॉडेल लोड करण्यासाठी, अनुमान सत्रे तयार करण्यासाठी आणि योग्य इनपुट डेटासह इंजिनला आवाहन करण्यासाठी आवश्यक असलेल्या लायब्ररींचा समावेश आहे.
रनटाइम व्यतिरिक्त, तुम्हाला किमान आवश्यक असेल ONNX फॉरमॅटमधील मॉडेलतुम्ही PyTorch किंवा TensorFlow वापरून ते स्वतः प्रशिक्षित करू शकता आणि निकाल निर्यात करू शकता किंवा चाचणीसाठी ONNX मॉडेल झू मधून एक डाउनलोड करू शकता. तिथून, तुम्ही इनपुट डेटा प्रीप्रोसेस करण्यावर आणि मॉडेलच्या आउटपुटचा अर्थ लावण्यावर लक्ष केंद्रित कराल; जर तुम्हाला हार्डवेअर निवडण्यात मदत हवी असेल, तर आमचे पहा योग्य निवड करण्यासाठी मार्गदर्शक.
अधिक सामान्य हार्डवेअर असलेल्या मशीनवर, ONNX रनटाइम अशा प्रकारे डिझाइन केले आहे की शक्तिशाली GPU नसतानाही कार्यक्षमतथापि, जर तुम्ही मोठ्या, गुंतागुंतीच्या भाषा, जनरेटिव्ह किंवा व्हिजन मॉडेल्स हाताळणार असाल, तर आधुनिक GPU किंवा त्याहूनही चांगले, समर्पित NPU असण्याने प्रतिसाद वेळेत फरक पडेल.
ONNX रनटाइम स्टेप बाय स्टेप कसे वापरावे: सेशन्स, इन्फरन्स आणि संकलन
ONNX रनटाइमसह सामान्य वर्कफ्लोमध्ये हे समाविष्ट आहे: मॉडेल लोड करा, अनुमान सत्र तयार करा आणि अंदाज चालवा.जरी विशिष्ट संहिता भाषेनुसार बदलत असली तरी, त्या सर्वांमध्ये तत्वज्ञान खूप समान आहे.
प्रथम, तुम्ही .onnx फाइलचा मार्ग निर्दिष्ट करा आणि तुम्ही एक अनुमान सत्र तयार करता इच्छित पर्यायांसह (उदाहरणार्थ, तुम्हाला कोणत्या एक्झिक्युशन प्रोव्हायडर्सना परवानगी द्यायची आहे ते कॉन्फिगर करणे किंवा ऑप्टिमायझेशन पॅरामीटर्स समायोजित करणे). .NET मध्ये, हे Microsoft.ML.OnnxRuntime द्वारे उघड केलेल्या वर्गांद्वारे केले जाते; Python मध्ये, तुम्ही थेट onnxruntime API वापराल.
पुढे, तुम्ही संच तयार करा मॉडेलसाठी इनपुटसामान्यतः, मॉडेलला अपेक्षित असलेल्या फॉर्म आणि डेटा प्रकारासह एक किंवा अधिक टेन्सर (पूर्व-प्रक्रिया केलेल्या प्रतिमा, टोकनाइज्ड मजकूर, संख्यात्मक वेक्टर, इ.). हे इनपुट एका शब्दकोशात किंवा नकाशा रचनेत पॅकेज केले जातात जे इनपुट नाव त्याच्या मूल्याशी जोडते.
एकदा इनपुट तयार झाला की, तुम्ही मेथड कॉल कराल सत्र अंमलबजावणीजे मॉडेलचे आउटपुट देखील टेन्सरच्या स्वरूपात परत करते. फक्त त्या निकालांना पोस्ट-प्रोसेस करून त्यांना समजण्यायोग्य (लेबल्स, स्कोअर, जनरेटेड टेक्स्ट, बाउंडिंग बॉक्स इ.) मध्ये रूपांतरित करणे आणि ते तुमच्या अॅप्लिकेशनमध्ये वापरणे बाकी आहे.
ONNX रनटाइमच्या आवृत्ती १.२२ पासून, एक अधिक प्रगत दृष्टिकोन आहे: मॉडेल्सना ऑप्टिमाइझ केलेल्या प्रतिनिधित्वात संकलित करा उत्पादनासाठी सोडण्यापूर्वी. नवीन API, जसे की OrtCompileApi फ्रेमवर्कशी संबंधित, संकलन चरणांना अधिक चांगल्या प्रकारे समाविष्ट करतात जेणेकरून रनटाइम लक्ष्य हार्डवेअरसाठी विशिष्ट कलाकृती निर्माण करेल, ज्यामुळे कार्यप्रदर्शन आणखी सुधारेल.
विंडोज एमएल, हार्डवेअर एक्झिक्युशन आणि ऑटोमॅटिक मॅनेजमेंट प्रोव्हायडर्स
विंडोज इकोसिस्टममध्ये, विंडोज एमएल एक म्हणून काम करते बुद्धिमान ऑर्केस्ट्रेशन थर ONNX रनटाइम बद्दल. ते केवळ त्याचे अनुमान इंजिन पुन्हा वापरत नाही तर प्रत्येक मशीन आणि मॉडेलसाठी कोणता एक्झिक्युशन प्रदाता सर्वात योग्य आहे हे स्वयंचलितपणे व्यवस्थापित करते.
Un अंमलबजावणी प्रदाता (EP) हा मुळात एक घटक आहे जो विशिष्ट बॅकएंडसाठी (CPU, GPU, NPU किंवा विशेष प्रवेगक) विशिष्ट AI ऑपरेशन्स कसे ऑप्टिमाइझ करायचे हे जाणतो, आवश्यक कर्नल नोंदणी करतो आणि ऑपरेशन ग्राफच्या विभाजनात भाग घेतो जेणेकरून प्रत्येक भाग सर्वात कार्यक्षम डिव्हाइसवर चालतो.
विंडोज एमएल अनेक उल्लेखनीय फायदे देते: ईपीचे स्वयंचलित डाउनलोड आणि व्यवस्थापन हार्डवेअर-विशिष्ट वैशिष्ट्ये, सामायिक सिस्टम-स्तरीय ONNX रनटाइमचा वापर (जे अनुप्रयोग आकारात लक्षणीय घट करते), आणि विविध प्रकारच्या कॉन्फिगरेशनसह सुसंगतता (x64 डेस्कटॉप पीसी, ARM64 सिस्टम, विंडोज सर्व्हर इ.).
ऑटोमेटेड डिप्लॉयमेंट फ्लो सामान्यतः या चरणांचे अनुसरण करतो: विंडोज अॅप एसडीके-आधारित अॅपच्या स्थापनेदरम्यान, विंडोज एमएल सुरू केले जाते; रनटाइम उपलब्ध हार्डवेअर शोधतो; इष्टतम ईपी डाउनलोड केले जातात (उदाहरणार्थ, आरटीएक्स जीपीयूसाठी टेन्सरआरटी, स्नॅपड्रॅगन एक्स एनपीयूसाठी विशिष्ट ईपी, किंवा इंटेलसाठी ओपनव्हिनो स्टॅक); आणि तिथून हे अॅप्लिकेशन एआय मॉडेल्स ताबडतोब चालवण्यास सुरुवात करू शकते..
या आर्किटेक्चरमुळे, डेव्हलपर्सना प्रत्येक उत्पादकासाठी विशिष्ट ड्रायव्हर्स किंवा लायब्ररी पॅकेज करण्याची किंवा प्रत्येक हार्डवेअरसाठी अॅप्लिकेशनच्या वेगळ्या आवृत्त्या ठेवण्याची गरज नाही. विंडोज एमएल ते काळजी घेते. बॅकएंड तपशीलांचा सारांश द्या आणि खात्री करा की अनुमान सर्वोत्तम उपलब्ध कामगिरीसह केले गेले आहे.
ONNX मध्ये मॉडेल रूपांतरण आणि सामान्य विकास कार्यप्रवाह
ONNX रनटाइमचा फायदा घेण्यासाठी, पहिले पाऊल म्हणजे तुमचे मॉडेल्स ONNX फॉरमॅटमध्ये रूपांतरित करा.संगणक दृष्टी आणि सामान्य एमएल प्रकल्पांमधील सर्वात सामान्य कार्यप्रवाह हे टप्पे एकत्र करतो: प्रशिक्षण, निर्यात, ऑप्टिमायझेशन आणि तैनाती.
तुम्ही सामान्यतः तुमच्या पसंतीच्या फ्रेमवर्कमध्ये मॉडेलला प्रशिक्षित करता (उदाहरणार्थ, पायटॉर्चमधील प्रतिमा वर्गीकरण नेटवर्क किंवा टेन्सरफ्लोमधील ऑब्जेक्ट डिटेक्शन नेटवर्क) आणि एकदा तुम्ही इच्छित कामगिरी साध्य केली की, ते ONNX वर निर्यात करा.PyTorch मध्ये torch.onnx.export फंक्शन वापरले जाते, तर TensorFlow मध्ये tf2onnx टूल किंवा उच्च-स्तरीय लायब्ररीमध्ये एकत्रित केलेले इतर टूल सहसा वापरले जातात.
त्या निर्यातीत एक सेट करणे उचित आहे सुसंगत ऑप्सेट आवृत्ती (उदाहरणार्थ, आवृत्ती १५, जी व्यापकपणे समर्थित आहे) जुन्या अनुमान इंजिनसह समस्या टाळण्यासाठी. ONNX फाइल जनरेट केल्यानंतर, तुम्ही नेट्रॉन सारख्या साधनांसह त्याची तपासणी करू शकता जेणेकरून आलेख अपेक्षेप्रमाणे दिसतो आणि कोणतेही विदेशी, नॉन-स्टँडर्ड ऑपरेटर नाहीत हे सत्यापित करता येईल.
उत्पादनासाठी तैनात करण्यापूर्वी, अनेक संघ एक टप्पा लागू करतात मॉडेल ऑप्टिमायझेशन: आकार कमी करण्यासाठी आणि वेग, वजन आणि फिल्टर छाटणी, पॅरामीटर गटबद्ध करणे किंवा अगदी ज्ञानाचे आसवन सुधारण्यासाठी क्वांटायझेशन, मर्यादित संसाधनांसह डिव्हाइसवर अधिक व्यवस्थापित करण्यायोग्य असलेल्या मोठ्या मॉडेलमधून लहान मॉडेलमध्ये माहिती प्रसारित करणे.
एकदा मॉडेल ONNX मध्ये आले आणि ऑप्टिमाइझ केले की, ते ONNX रनटाइम किंवा Windows ML, TensorRT किंवा OpenVINO सारख्या प्लॅटफॉर्मसह एकत्रित केले जाते आणि लक्ष्य वातावरणात तैनात केले जाते: क्लाउड सर्व्हर, औद्योगिक पीसी, एज डिव्हाइसेस किंवा मोबाइल आणि डेस्कटॉप अनुप्रयोग.
ONNX रनटाइमसह हार्डवेअर प्रवेग आणि अनुमान कामगिरी
El अनुमान कामगिरी ONNX रनटाइम निवडण्याचे हे एक मुख्य कारण आहे. अनेक व्यावहारिक तुलनांमध्ये, PyTorch किंवा TensorFlow मधून रूपांतरित मॉडेल चालवताना लक्षणीय सुधारणा दिसून आल्या आहेत. प्रतिसाद वेळ आणि संसाधनांचा वापर.
१ च्या बॅच आकाराच्या वापराच्या प्रकरणांमध्ये (इंटरॅक्टिव्ह इंटरफेस किंवा रिअल-टाइम व्हिजनमध्ये अगदी सामान्य), ONNX रनटाइम सहसा ऑफर करतो सुरुवातीच्या अनुमानाचा वेग २०% जास्त पायटॉर्चच्या तुलनेत, आणि दीर्घकाळ चालणाऱ्या अंमलबजावणीमध्ये 5 पट पर्यंत प्रवेग नोंदवले गेले आहेत, ज्यामध्ये विलंब न वाढवता CPU वापरात लक्षणीय घट झाली आहे.
या सुधारणा ऑप्टिमायझेशनमुळे आहेत जसे की कर्नल फ्यूजन, आलेख सरलीकरण आणि परिमाणीकरणयामुळे समान परिणाम साध्य करण्यासाठी कमी प्रभावी ऑपरेशन्स करता येतात. त्याच वेळी, आलेख विभागण्याची आणि GPU किंवा NPU ला विशिष्ट भाग नियुक्त करण्याची क्षमता हार्डवेअर वापर जास्तीत जास्त करते.
ONNX रनटाइम विविध प्रकारच्या अॅक्सिलरेटर्सना समर्थन देते: समर्पित GPU साठी NVIDIA CUDA आणि TensorRT, CPU आणि VPU साठी Intel OpenVINO आणि oneDNN, मोबाइल डिव्हाइससाठी AMD ROCm, Qualcomm QNN, Apple CoreML आणि Android NNAPI आणि Windows वातावरणात DirectML. हे ईपी सह व्यापक सुसंगतता यामुळे एकाच ONNX मॉडेलला अनेक वेगवेगळ्या प्लॅटफॉर्मवर कार्यक्षमतेने चालण्याची परवानगी मिळते.
या सर्वांमुळे ONNX रनटाइम हा अनुप्रयोगांसाठी एक आदर्श पर्याय बनतो मशीन व्हिजन, एम्बेडेड सिस्टम्स आणि एज डिव्हाइसेस ज्यांना रिअल-टाइम प्रतिसादांची आवश्यकता असते आणि रॅम आणि सीपीयू दोन्हीचा वापर खूप कमी असतो.
या संदर्भात, ONNX आणि ONNX रनटाइमने लोकप्रिय फ्रेमवर्कमधील प्रशिक्षण आणि कोणत्याही प्रकारच्या हार्डवेअरवरील ऑप्टिमाइझ केलेल्या अंमलबजावणीमध्ये एक मजबूत पूल म्हणून स्वतःला स्थापित केले आहे, जे अनावश्यक गुंतागुंतीशिवाय तुमच्या स्वतःच्या हार्डवेअरमध्ये कृत्रिम बुद्धिमत्ता मॉडेल्स आणण्यासाठी कार्यक्षमता, लवचिकता आणि गोपनीयतेचे योग्य मिश्रण प्रदान करते.

