मुख्य सामग्री पर जाएं

मशीन लर्निंग पाइपलाइनों का निर्माण और परिनियोजन

Kubeflow के बारे में आवश्यक सभी बातें जानें और देखें कि मशीन लर्निंग पाइपलाइनों का निर्माण और परिनियोजन कैसे किया जाता है
अपडेट किया गया 25 सित॰ 2026  · 11 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

Kubeflow ट्यूटोरियल हेडर

परिचय

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

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

Kubeflow क्या है?

Kubeflow एक ओपन-सोर्स प्रोजेक्ट है जिसमें सुसंगठित टूल्स और फ़्रेमवर्क का सेट शामिल है। Kubeflow का मुख्य उद्देश्य पोर्टेबल, स्केलेबल मशीन लर्निंग वर्कफ़्लोज़ को डेवलप, डिप्लॉय और मैनेज करना आसान बनाना है। 

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

Kubeflow, Google के एक आंतरिक प्रोजेक्ट TensorFlow Extended से विकसित हुआ। यह शुरुआत में Kubernetes पर TensorFlow जॉब्स चलाने का एक सरल तरीका था, लेकिन अब यह एंड-टू-एंड मशीन लर्निंग वर्कफ़्लो चलाने के लिए मल्टी-आर्किटेक्चर, मल्टी-क्लाउड फ़्रेमवर्क में विस्तृत हो चुका है। 

Kubeflow और मशीन लर्निंग वर्कफ़्लो

Kubeflow डेटा वैज्ञानिकों और मशीन लर्निंग इंजीनियरों के लिए एक ऐसा प्लेटफ़ॉर्म है जिसमें दोनों संसारों की सर्वश्रेष्ठ क्षमताएँ हैं। डेटा वैज्ञानिक Kubeflow का उपयोग करके ML मॉडलों पर प्रयोग कर सकते हैं और Kubernetes पर अपने प्रयोगों का दक्षतापूर्वक ऑर्केस्ट्रेशन कर सकते हैं। 

मशीन लर्निंग इंजीनियर Kubeflow का उपयोग विकास, परीक्षण और प्रोडक्शन सर्विंग के लिए विभिन्न वातावरणों में ML सिस्टम्स को परिनियोजित करने के लिए कर सकते हैं।

नीचे का आरेख मशीन लर्निंग प्रोजेक्ट के दो अलग-अलग चरणों का उदाहरण है: (i) प्रायोगिक चरण और (ii) प्रोडक्शन चरण। 

Kubeflow में नीचे दी गई पाइपलाइन के लगभग हर चरण का समर्थन करने के लिए कई घटक हैं। उदाहरण के लिए, मॉडल के हाइपरपैरामीटर ट्यून करने के लिए Kubeflow में “Katib” नामक एक घटक है। हम इस ट्यूटोरियल में आगे चलकर Kubeflow के प्रमुख घटकों पर चर्चा करेंगे।

मशीन लर्निंग वर्कफ़्लो

Kubeflow - मशीन लर्निंग वर्कफ़्लो

Kubeflow इंस्टॉल करना

Kubeflow के साथ शुरुआत करने के दो तरीके हैं:

  1. इसे पैकेज्ड डिस्ट्रीब्यूशन के साथ इंस्टॉल करें (सरल और सीधा)।
  2. इसे मैनिफ़ेस्ट के साथ इंस्टॉल करें (एडवांस्ड)।

पैकेज्ड डिस्ट्रीब्यूशन संबंधित मेंटेनर्स द्वारा विकसित और समर्थित होते हैं। उदाहरण के लिए, Azure पर Kubeflow को Microsoft मेंटेन करता है। नीचे दी गई तालिका में डिस्ट्रीब्यूशंस की पूरी सूची देखें:

Kubeflow पैकेज्ड डिस्ट्रीब्यूशंस

Kubeflow पैकेज्ड डिस्ट्रीब्यूशंस

Kubeflow के तीन सिद्धांत

कम्पोज़ेबिलिटी

कम्पोज़ेबिलिटी सिस्टम डिज़ाइन का एक सिद्धांत है जो घटकों के परस्पर संबंधों से निपटता है। Kubeflow अत्यधिक कम्पोज़ेबल है, इसलिए आवश्यकता होने पर आप अपनी मशीन लर्निंग पाइपलाइन के विभिन्न भागों में TensorFlow के अलग-अलग संस्करण आसानी से इस्तेमाल कर सकते हैं। 

पोर्टेबिलिटी

पोर्टेबिलिटी का अर्थ है कि जहाँ भी आप Kubeflow चला रहे हैं, आप अपना पूरा मशीन लर्निंग प्रोजेक्ट चला सकते हैं। यह प्लेटफ़ॉर्म-निर्पेक्ष है और उपयोगकर्ता के लिए सभी जटिलताओं को एब्स्ट्रैक्ट कर देता है। आपको बस एक बार अपना कोड लिखना होता है और Kubeflow एब्स्ट्रैक्शन संभाल लेता है, ताकि आप वही कोड अपने लैपटॉप पर या क्लाउड में किसी क्लस्टर पर चला सकें।

स्केलेबिलिटी

स्केलेबिलिटी का अर्थ है कि आपके प्रोजेक्ट को ज़रूरत पड़ने पर अधिक संसाधन मिल सकें और न होने पर वे संसाधन छोड़े जा सकें। हर वातावरण में CPUs, GPUs और TPUs जैसे अलग-अलग कंप्यूटिंग संसाधन हो सकते हैं।

Kubeflow धारणा संबंधी एंटिटीज़

Kubeflow धारणा संबंधी एंटिटीज़

Kubeflow के घटक

Kubeflow के घटक वे लॉजिकल ब्लॉक्स हैं जो मिलकर Kubeflow बनाते हैं। आम तौर पर, आप किसी मशीन लर्निंग प्रोजेक्ट में एक या अधिक घटकों का उपयोग करेंगे।

डैशबोर्ड

सबसे ऊपर, सेंट्रल डैशबोर्ड अन्य Kubeflow घटकों तक त्वरित पहुँच देता है। कुछ उपयोगी घटक हैं:

  • Notebooks: नोटबुक सर्वरों का प्रबंधन करने के लिए।
  • Pipelines: Kubeflow पाइपलाइनों का प्रबंधन करने के लिए।
  • Experiments: Katib प्रयोगों का प्रबंधन करने के लिए।

Kubeflow डैशबोर्ड UI दृश्य

Kubeflow डैशबोर्ड UI दृश्य

Notebooks

Kubeflow एक इंटीग्रेटेड Jupyter नोटबुक वातावरण के साथ आता है। नोटबुक्स त्वरित परीक्षण करने, मॉडल विकसित करने और यहाँ तक कि ML एप्लिकेशन लिखने के लिए उपयोगी हैं। 

ML इंजीनियरों और डेटा वैज्ञानिकों के लिए अपने नोटबुक्स को लोकल चलाना और संसाधनों की सीमा से बाधित होना असामान्य नहीं है। क्लस्टर में नोटबुक्स होने से ऐसे जॉब्स चलाना आसान हो जाता है जहाँ संसाधनों को डायनामिक रूप से स्केल किया जा सके। 

Kubeflow नोटबुक्स

Kubeflow नोटबुक्स

Pipelines

Kubeflow Pipelines, Docker कंटेनरों पर आधारित एंड-टू-एंड पोर्टेबल और स्केलेबल मशीन लर्निंग पाइपलाइन बनाने के लिए एक शक्तिशाली Kubeflow घटक है। 

मशीन लर्निंग पाइपलाइंस ऐसे चरणों का समूह हैं जो डेटा एकत्र करने से लेकर मशीन लर्निंग मॉडल सर्व करने तक सब कुछ संभाल सकते हैं। पाइपलाइन का हर चरण एक Docker कंटेनर होता है, इसलिए पोर्टेबल और स्केलेबल होता है। पाइपलाइन का हर चरण स्वतंत्र होता है, जिससे आप पाइपलाइन घटकों का पुन: उपयोग कर सकते हैं। 

Kubeflow Pipelines UI

Kubeflow Pipelines UI

इस ट्यूटोरियल में, हम Kubeflow Pipelines घटक को विस्तार से समझेंगे और कोड उदाहरण देखकर जानेंगे कि Kubeflow का उपयोग करके मशीन लर्निंग पाइपलाइन कैसे बनाई और चलाई जाती है।

Katib

Katib एक Kubeflow घटक है जिसे बड़े पैमाने पर स्वचालित हाइपरपैरामीटर ट्यूनिंग के लिए बनाया गया है। हाइपरपैरामीटर ट्यूनिंग अच्छे मॉडल विकसित करने में प्रमुख भूमिका निभाता है, क्योंकि मैन्युअल रूप से हाइपरपैरामीटर स्पेस खोजना बहुत मेहनत का काम हो सकता है। 

Katib आपको किसी परिभाषित मीट्रिक (जैसे AUC या RMSE) के इर्द-गिर्द अपने हाइपरपैरामीटर मानों को ऑप्टिमाइज़ करने में मदद करता है। यह आपके मॉडल को प्रोडक्शन के लिए तैयार करने हेतु सर्वोत्तम कॉन्फ़िगरेशन खोजने और विज़ुअलाइज़ करने का उपयोगी तरीका है। 

Kubeflow Katib UI

Kubeflow Katib UI

Kubeflow Pipelines

एक मशीन लर्निंग वर्कफ़्लो में डेटा तैयारी से लेकर मॉडल ट्रेनिंग, मॉडल मूल्यांकन और बहुत कुछ—कई चरण शामिल हो सकते हैं। इन्हें एड-हॉक तरीके से ट्रैक करना कठिन होता है। 

उचित टूलिंग के बिना प्रयोग लॉगिंग और मॉडल वर्ज़न ट्रैकिंग डेटा वैज्ञानिकों के लिए एक और चुनौती है। Kubeflow Pipelines डेटा वैज्ञानिकों को ऐसे मानकों का उपयोग करके मशीन लर्निंग वर्कफ़्लो विकसित करने देती हैं जो कम्पोज़ेबल, शेयर करने योग्य और पुनरुत्पाद्य हों।

Kubeflow एक Kubernetes-नेटिव समाधान है जो डेटा वैज्ञानिकों को मशीन लर्निंग कोड विकसित करने और उसे क्लाउड तक स्केल करने के दौरान शिस्तबद्ध पाइपलाइन मानसिकता अपनाने में मदद करता है। Kubeflow Pipelines के अंतिम लक्ष्य हैं:

  • बड़े पैमाने पर मशीन लर्निंग पाइपलाइनों के ऑर्केस्ट्रेशन को सरल बनाना 
  • तेज़ प्रयोग, पुनरुत्पादन और सहयोग को मल्टी-टेनेंसी के माध्यम से सक्षम करना। Kubeflow UI का उपयोग समूह बनाने और एक्सेस नियंत्रण के साथ समूहों में उपयोगकर्ताओं को जोड़ने के लिए किया जा सकता है।
  • पुन: प्रयोज्य होना और विभिन्न ML घटकों (पाइपलाइनों के चरणों) का मानकीकरण प्रदान करना।

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

Architectural overview

Kubeflow आर्किटेक्चरल ओवरव्यू

Kubeflow Pipelines में महत्वपूर्ण अवधारणाएँ

Pipeline

पाइपलाइन, मशीन लर्निंग (ML) वर्कफ़्लो में स्पष्ट रूप से परिभाषित चरणों का क्रम है। पाइपलाइन में उसे चलाने के लिए आवश्यक इनपुट्स (पैरामीटर), और प्रत्येक घटक के इनपुट और आउटपुट की परिभाषा होनी चाहिए। पाइपलाइन का हर घटक एक इनपुट लेता है, उसे प्रोसेस करता है और आउटपुट अगले घटक को देता है।

यहाँ समझने के लिए एक बहुत महत्वपूर्ण बात यह है कि Kubeflow पाइपलाइन का हर चरण (घटक) मूलतः एक Docker कंटेनर होता है। जब आप कोई पाइपलाइन चलाते हैं, तो Kubeflow पाइपलाइन के घटकों के अनुरूप एक या अधिक Kubernetes Pods लॉन्च करता है। फिर ये पॉड्स Docker कंटेनर शुरू करते हैं, जो आपकी लिखी हुई घटक-कोड को निष्पादित करता है।

Component

पाइपलाइन घटक एक स्व-निहित कोड होता है जो मशीन लर्निंग वर्कफ़्लो के किसी एक चरण को पूरा करता है, जैसे मिसिंग वैल्यू इम्प्यूटेशन, डेटा स्केलिंग या मशीन लर्निंग मॉडल फिट करना।

Kubeflow पाइपलाइन में कोई घटक एक फ़ंक्शन के समान होता है। इस प्रकार, हर घटक का एक नाम, इनपुट पैरामीटर और एक आउटपुट होता है। 

पाइपलाइन के हर घटक को Docker इमेज के रूप में पैकेज किया जाना चाहिए ताकि पाइपलाइन का हर चरण एक-दूसरे से स्वतंत्र रहे, और आप अपने ML वर्कफ़्लो के अलग-अलग भागों में अलग-अलग फ़्रेमवर्क और टूल्स को मिला-जुला सकें।

Experiment

एक प्रयोग आपको एक ही पाइपलाइन की अलग-अलग कॉन्फ़िगरेशन चलाने और परिणामों की तुलना व विश्लेषण करने देता है। सामान्यतः मशीन लर्निंग में, आपको अलग-अलग पैरामीटर आज़माने पड़ते हैं ताकि पता चले कि कौन-सा सबसे अच्छा काम करता है। Kubeflow Pipeline Experiment इसी उद्देश्य के लिए बनाया गया है।

Graph

ग्राफ़, Kubeflow UI में एक दृश्य प्रस्तुति है। यह वे चरण दिखाता है जिन्हें कोई पाइपलाइन रन निष्पादित कर चुका है या कर रहा है, और तीरों से पाइपलाइन घटकों के पैरेंट/चाइल्ड संबंधों को दर्शाया जाता है। 

Kubeflow में पाइपलाइन बनाने के तीन तरीके 

अब तक यह स्पष्ट हो जाना चाहिए कि Kubeflow पाइपलाइंस क्या हैं और प्रोडक्शन में मशीन लर्निंग वर्कफ़्लोज़ डिज़ाइन और परिनियोजित करने के लिए इस फ़्रेमवर्क का उपयोग करने के क्या लाभ हैं। आइए तेज़ी से तीन तरीके देखें जिनसे आप Kubeflow का उपयोग करके पाइपलाइंस बना और डिप्लॉय कर सकते हैं।

User Interface (UI)

आप Kubeflow UI का उपयोग पाइपलाइंस चलाने, किसी और द्वारा साझा की गई पाइपलाइंस अपलोड करने, रन के आर्टिफ़ैक्ट्स और आउटपुट देखने, और स्वचालित रन शेड्यूल करने के लिए कर सकते हैं। Pipeline UI कुछ इस प्रकार दिखता है:

Kubeflow पाइपलाइंस

Kubeflow पाइपलाइन इंटरफेसेज़

आधिकारिक Python SDK

Kubeflow, Python लाइब्रेरीज़ का एक सेट प्रदान करता है जिनका उपयोग आप प्रोग्रामेटिक तरीके से ML पाइपलाइन विकसित और निष्पादित करने के लिए कर सकते हैं। Kubeflow पाइपलाइंस का यह सबसे सामान्य उपयोग तरीका है।

REST API

Kubeflow कंटीन्युअस इंटीग्रेशन/डिप्लॉयमेंट सिस्टम्स के लिए REST APIs भी प्रदान करता है। ऐसा उपयोग-मामला सोचें जहाँ आप डाउनस्ट्रीम एंटरप्राइज़ सिस्टम्स या प्रक्रियाओं में Kubeflow पाइपलाइन की किसी भी फ़ंक्शनैलिटी को समेकित करना चाहते हैं।

Kubeflow पाइपलाइन ट्यूटोरियल

Kubeflow के साथ शुरुआत करने का सबसे आसान तरीका पैकेज्ड डिस्ट्रीब्यूशन का उपयोग करना है, जो मूलतः क्लाउड पर मैनेज्ड सर्विस जैसा होता है। यहाँ, हम GCP पर Kubeflow सेवा का उपयोग कर रहे हैं। आप GCP पर सेवा को डिप्लॉय करना सीखने के लिए इस आधिकारिक गाइड का पालन कर सकते हैं। 

डिप्लॉयमेंट सफल होने के बाद, आप अपने GCP एंडपॉइंट से यह डैशबोर्ड एक्सेस कर सकते हैं।

Kubeflow डैशबोर्ड

Kubeflow डैशबोर्ड - GCP पर डिप्लॉयमेंट

Kubeflow Pipelines कुछ सैंपल पाइपलाइंस के साथ आती हैं। आइए Python में एक बेसिक डेटा प्रीप्रोसेसिंग पाइपलाइन आज़माएँ। बाएँ हाथ की साइड टूलबार पर पाइपलाइंस पर क्लिक करें।

Kubeflow पाइपलाइन इंटरफेसेज़

Kubeflow पाइपलाइंस - GCP पर डिप्लॉयमेंट

Create experiment पर क्लिक करें: 

Kubeflow पाइपलाइंस-GCP

Kubeflow पाइपलाइंस - GCP पर डिप्लॉयमेंट

प्रॉम्प्ट्स का पालन करें और फिर रन स्क्रीन पर स्टार्ट बटन पर क्लिक करके पाइपलाइन चलाएँ।

Kubeflow पाइपलाइंस - GCP पर डिप्लॉयमेंट

Kubeflow पाइपलाइंस - GCP पर डिप्लॉयमेंट

प्रयोग डैशबोर्ड में दिखेगा:

Kubeflow पाइपलाइंस- पहला प्रयोग

Kubeflow पाइपलाइंस - GCP पर डिप्लॉयमेंट

रन पूरा होने पर आउटपुट देखने के लिए प्रयोग पर क्लिक करें:

पाइपलाइंस का पहला रन

Kubeflow पाइपलाइंस - GCP पर डिप्लॉयमेंट

अब आपने देख लिया कि Kubeflow UI का उपयोग करके पाइपलाइन कैसे चलाई जा सकती है। ऊपर दी गई पाइपलाइन में प्रत्येक घटक एक सरल, स्व-निहित Python स्क्रिप्ट है। ऊपर के उदाहरण में, चरण सरल हैं, जैसे “Print Text” या “Sum Numbers।” 

आइए एक अधिक जटिल उदाहरण देखें कि आप Python में इन घटकों को कैसे कोड और कंपाइल कर सकते हैं।

Python SDK के माध्यम से Kubeflow पाइपलाइन बनाना

इस उदाहरण में, हम दो घटकों वाली एक Kubeflow पाइपलाइन बनाएँगे: 

  • इनपुट के रूप में पास किए गए url के आधार पर ज़िप्ड tar फ़ाइल डाउनलोड करना,
  • सभी csv फ़ाइलों को एक्सट्रैक्ट करना और `pd.concat` फ़ंक्शन का उपयोग करके एक एकल pandas dataframe बनाना। 

सैद्धांतिक रूप से, इस पाइपलाइन को दो चरणों में बाँटने के बजाय हम एक ऐसा फ़ंक्शन भी बना सकते हैं जो url ले, ज़िप्ड फ़ाइल डाउनलोड करे और फिर सभी csv फ़ाइलों को एक फ़ाइल में मर्ज कर दे। 

हालाँकि, इसे दो चरणों में करने का लाभ यह है कि आप ज़िप्ड फ़ाइल डाउनलोड करने के लिए एक चरण बना सकते हैं और फिर उसे अन्य प्रोजेक्ट्स में भी दोबारा इस्तेमाल कर सकते हैं। 

Kubeflow में, आप घटक को एक yaml फ़ाइल के रूप में परिभाषित कर सकते हैं और `kfp.components.load_component_from_url` फ़ंक्शन का उपयोग करके घटक को सीधे url से लोड कर सकते हैं। 

पहले चरण के लिए, आइए इस ओपन-सोर्स url से घटक लोड करें।

```

web_downloader_op = kfp.components.load_component_from_url(

    'https://raw.githubusercontent.com/kubeflow/pipelines/master/components/web/Download/component-sdk-v2.yaml')

```

दूसरे चरण के लिए, हम एक Python फ़ंक्शन परिभाषित करेंगे:

```

@component(

    packages_to_install=['pandas==1.1.4'],

    output_component_file='component.yaml'

)

def merge_csv(tar_data: Input[Artifact], output_csv: Output[Dataset]):

  import glob

  import pandas as pd

  import tarfile




  tarfile.open(name=tar_data.path, mode="r|gz").extractall('data')

  df = pd.concat(

      [pd.read_csv(csv_file, header=None) 

       for csv_file in glob.glob('data/*.csv')])

  df.to_csv(output_csv.path, index=False, header=False)




```

जैसा कि आप देख सकते हैं, फ़ंक्शन `kfp.dsl.component` एनोटेशन से डेकोरेट किया गया है। हम इस एनोटेशन का उपयोग कंटेनर इमेज, किसी भी पैकेज निर्भरता (इस उदाहरण में pandas[1.1.4]) और वह स्थान जहाँ घटक विशिष्टता (component.yaml) सहेजनी है, को परिभाषित करने के लिए कर सकते हैं।

अब आप इन दोनों घटकों को `pipeline` ऑपरेटर का उपयोग करके एक पाइपलाइन में जोड़ सकते हैं। 

एक पाइपलाइन परिभाषित करें और किसी घटक से एक टास्क बनाएँ:

@dsl.pipeline(

    name='my-pipeline',

    # You can optionally specify your own pipeline_root

    # pipeline_root='gs://my-pipeline-root/example-pipeline',

)

def my_pipeline(url: str):

  web_downloader_task = web_downloader_op(url=url)

  merge_csv_task = merge_csv(tar_data=web_downloader_task.outputs['data'])

  # The outputs of the merge_csv_task can be referenced using the

  # merge_csv_task.outputs dictionary: merge_csv_task.outputs['output_csv']

```

एक बार पाइपलाइन परिभाषित हो जाने पर, हम इसे कंपाइल कर सकते हैं। इसे कंपाइल करने के दो तरीके हैं। पहला Kubeflow UI के माध्यम से है।

```

kfp.compiler.Compiler(mode=kfp.dsl.PipelineExecutionMode.V2_COMPATIBLE).compile(

    pipeline_func=my_pipeline,

    package_path='pipeline.yaml')

```

अब हम इस `pipeline.yaml` फ़ाइल को Kubeflow Pipeline के यूज़र इंटरफ़ेस का उपयोग करके अपलोड और चला सकते हैं। वैकल्पिक रूप से, हम Kubeflow Pipeline के SDK क्लाइंट का उपयोग करके भी पाइपलाइन चला सकते हैं।

```

client = kfp.Client()




client.create_run_from_pipeline_func(

    my_pipeline,

    mode=kfp.dsl.PipelineExecutionMode.V2_COMPATIBLE,

    # You can optionally override your pipeline_root when submitting the run too:

    # pipeline_root='gs://my-pipeline-root/example-pipeline',

    arguments={

        'url': 'https://storage.googleapis.com/ml-pipeline-playground/iris-csv-files.tar.gz'

    })

```

यदि हमें इस पाइपलाइन में कोई मशीन लर्निंग मॉडल शामिल करने के लिए विस्तार करना हो, तो हम एक ऐसा python फ़ंक्शन बनाएँगे जो `Input[Dataset]` ले और अपनी पसंद के किसी भी फ़्रेमवर्क—जैसे sklearn, Tensorflow, या PyTorch—का उपयोग करके मॉडल फिट करे। 

फ़ंक्शन बन जाने के बाद, हमें `my_pipeline` फ़ंक्शन को तीसरा टास्क शामिल करने के लिए संपादित करना होगा और फिर `kfp.Client` या UI का उपयोग करके पाइपलाइन को पुनः कंपाइल करना होगा।

ट्यूटोरियल Kubeflow Official से पुनरुत्पादित।

निष्कर्ष

कुछ मिलियन पंक्तियों वाले डेटा पर Jupyter Notebook में प्रयोग करना एक बात है। क्लाउड पर दूरस्थ रूप से अरबों पंक्तियों पर मशीन लर्निंग मॉडल ट्रेन करना दूसरी बात। स्केलेबल और वितरित वातावरण में बड़े मॉडल ट्रेन करने पर मशीन लर्निंग वाकई कठिन हो जाती है। 

Kubernetes, मशीन लर्निंग जॉब्स के लिए सबसे लोकप्रिय और व्यापक रूप से इस्तेमाल किए जाने वाले ऑर्केस्ट्रेशन फ़्रेमवर्क्स में से एक है; और Kubeflow, Kubernetes के ऊपर बना एक फ़्रेमवर्क है जो उपयोगकर्ताओं के लिए कई कठिन विवरणों को एब्स्ट्रैक्ट कर देता है। फिर भी, यह जानना अच्छा है कि यह आपका एकमात्र विकल्प नहीं है। जैसे हर चीज़ में, इसके विकल्प भी हैं। 

ऐसे ही एक प्लेटफ़ॉर्म का उदाहरण है Databricks। इसका अपना स्वामित्व वाला ऑर्केस्ट्रेशन इंजन है (जो Kubernetes से अलग है) और यह एक आकर्षक UI के साथ आता है जो Notebooks, Experiment Logging, Model Registry, Job Scheduling और Monitoring को सपोर्ट करता है। 

Amazon Sagemaker, Kubernetes / Kubeflow का एक और विकल्प है। Amazon SageMaker एक पूर्ण-प्रबंधित मशीन लर्निंग सेवा है जिसका उपयोग डेटा वैज्ञानिक और डेवलपर्स मशीन लर्निंग मॉडल को तेज़ी और आसानी से बनाने और ट्रेन करने तथा उन्हें सीधे प्रोडक्शन-रेडी होस्टेड वातावरण में परिनियोजित करने के लिए कर सकते हैं। यह अन्वेषण और विश्लेषण के लिए एक इंटीग्रेटेड Jupyter Notebook वातावरण प्रदान करता है।

क्या आप निरंतर विकसित होते इंजीनियरिंग सिद्धांतों से अभिभूत महसूस करते हैं? चिंता न करें, Datacamp Understanding Data Engineering कोर्स प्रदान करता है। इस कोर्स में, आप एक डेटा इंजीनियर की मुख्य ज़िम्मेदारियों के बारे में सीखेंगे, वे डेटा वैज्ञानिकों से कैसे भिन्न हैं और किसी संगठन में डेटा के प्रवाह को कैसे सुविधाजनक बनाते हैं। साथ ही, आप सीखेंगे कि डेटा इंजीनियर्स वह नींव कैसे रखते हैं जो डेटा वैज्ञानिकों के लिए डेटा साइंस को संभव बनाती है। कोई कोडिंग शामिल नहीं!

Kubeflow FAQ's

Kubeflow और Kubernetes में क्या अंतर है?

Kubernetes एक ओपन-सोर्स कंटेनर ऑर्केस्ट्रेशन सिस्टम है जो सॉफ़्टवेयर परिनियोजन, स्केलिंग और प्रबंधन को स्वचालित करता है। दूसरी ओर, Kubeflow एक ओपन-सोर्स प्रोजेक्ट है जिसमें सुसंगठित टूल्स और फ़्रेमवर्क शामिल हैं ताकि Kubernetes पर पोर्टेबल, स्केलेबल मशीन लर्निंग वर्कफ़्लो को विकसित, परिनियोजित और प्रबंधित करना आसान हो सके। Kubeflow, Kubernetes के ऊपर बना है।

क्या Kubeflow, Kubernetes का हिस्सा है?

नहीं, Kubeflow एक अलग लाइब्रेरी है। आप इसे किसी भी अन्य Python लाइब्रेरी की तरह pip install का उपयोग करके इंस्टॉल कर सकते हैं।

क्या Kubeflow एक ओपन-सोर्स फ़्रेमवर्क है?

हाँ, Kubeflow पूरी तरह से ओपन सोर्स है, और Apache-2.0 लाइसेंस के तहत उपलब्ध है।

Airflow और Kubeflow में क्या अंतर है?

Apache Airflow एक सामान्य प्रयोजन का टास्क ऑर्केस्ट्रेशन प्लेटफ़ॉर्म है, जबकि Kubeflow मशीन लर्निंग टास्क पर केंद्रित है। दोनों टूल्स आपको Python का उपयोग करके टास्क परिभाषित करने देते हैं, लेकिन Kubeflow मुख्यतः Kubernetes पर टास्क चलाता है।

Kubeflow और MLFlow में क्या अंतर है?

ये दो बहुत अलग ओपन-सोर्स फ़्रेमवर्क हैं। Kubeflow एक कंटेनर ऑर्केस्ट्रेशन सिस्टम है जो Kubernetes पर पोर्टेबल, स्केलेबल मशीन लर्निंग वर्कफ़्लो को विकसित, परिनियोजित और प्रबंधित करना आसान बनाता है; जबकि MLFlow प्रयोग ट्रैकिंग और मॉडल वर्ज़निंग के लिए एक लाइब्रेरी है।

विषय
मशीन लर्निंग
डेटा साइंस
Python

Python और मशीन लर्निंग के लिए कोर्स

कोर्स

Python परिचय

4 घंटा
7.1M
Python के साथ डेटा विश्लेषण की बुनियादी बातें सिर्फ चार घंटे में सीखें। यह ऑनलाइन पाठ्यक्रम Python इंटरफ़ेस का परिचय देगा और लोकप्रिय पैकेजों का अन्वेषण करेगा।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें

कोर्स

Python में Data Science परिचय

4 घंटा
503.3K
Python से डेटा विज्ञान में उतरें और अपने डेटा का प्रभावी विश्लेषण व विज़ुअलाइज़ेशन करना सीखें। कोई कोडिंग अनुभव या कौशल की आवश्यकता नहीं।
और देखेंRight Arrow