टीएफएक्स उपयोगकर्ता गाइड

परिचय

TFX एक Google-प्रोडक्शन-स्केल मशीन लर्निंग (ML) प्लेटफॉर्म है जो TensorFlow पर आधारित है। यह आपके मशीन लर्निंग सिस्टम को परिभाषित करने, लॉन्च करने और निगरानी करने के लिए आवश्यक सामान्य घटकों को एकीकृत करने के लिए एक कॉन्फ़िगरेशन ढांचा और साझा पुस्तकालय प्रदान करता है।

टीएफएक्स 1.0

हमें TFX 1.0.0 की उपलब्धता की घोषणा करते हुए खुशी हो रही है। यह टीएफएक्स की प्रारंभिक पोस्ट-बीटा रिलीज है, जो स्थिर सार्वजनिक एपीआई और कलाकृतियां प्रदान करता है। आपको आश्वस्त किया जा सकता है कि आपकी भविष्य की TFX पाइपलाइन इस RFC में परिभाषित संगतता दायरे में अपग्रेड के बाद काम करती रहेंगी।

इंस्टालेशन

अजगर पीपीपीआई

pip install tfx

रात्रिकालीन पैकेज

TFX Google क्लाउड पर https://pypi-nightly.tensorflow.org पर रात्रिकालीन पैकेज भी होस्ट करता है। नवीनतम रात्रिकालीन पैकेज स्थापित करने के लिए, कृपया निम्न आदेश का उपयोग करें:

pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple --pre tfx

यह TFX की प्रमुख निर्भरता जैसे TensorFlow Model Analysis (TFMA), TensorFlow Data Validation (TFDV), TensorFlow Transform (TFT), TFX बेसिक शेयर्ड लाइब्रेरी (TFX-BSL), ML मेटाडेटा (MLMD) के लिए रात्रिकालीन पैकेज स्थापित करेगा।

टीएफएक्स के बारे में

TFX उत्पादन परिवेश में ML वर्कफ़्लोज़ के निर्माण और प्रबंधन के लिए एक प्लेटफ़ॉर्म है। टीएफएक्स निम्नलिखित प्रदान करता है:

  • एमएल पाइपलाइनों के निर्माण के लिए एक टूलकिट। TFX पाइपलाइन आपको अपने ML वर्कफ़्लो को कई प्लेटफ़ॉर्म पर व्यवस्थित करने देती है, जैसे: Apache Airflow, Apache Beam, और Kubeflow Pipelines।

    TFX पाइपलाइनों के बारे में और जानें

  • मानक घटकों का एक सेट जिसे आप पाइपलाइन के एक भाग के रूप में या अपनी एमएल प्रशिक्षण स्क्रिप्ट के एक भाग के रूप में उपयोग कर सकते हैं। टीएफएक्स मानक घटक आसानी से एमएल प्रक्रिया का निर्माण शुरू करने में आपकी सहायता के लिए सिद्ध कार्यक्षमता प्रदान करते हैं।

    TFX मानक घटकों के बारे में और जानें

  • पुस्तकालय जो कई मानक घटकों के लिए आधार कार्यक्षमता प्रदान करते हैं। आप इस कार्यक्षमता को अपने स्वयं के कस्टम घटकों में जोड़ने के लिए TFX पुस्तकालयों का उपयोग कर सकते हैं, या उन्हें अलग से उपयोग कर सकते हैं।

    TFX पुस्तकालयों के बारे में और जानें

TFX, TensorFlow पर आधारित एक Google-उत्पादन-स्केल मशीन लर्निंग टूलकिट है। यह आपके मशीन लर्निंग सिस्टम को परिभाषित करने, लॉन्च करने और निगरानी करने के लिए आवश्यक सामान्य घटकों को एकीकृत करने के लिए एक कॉन्फ़िगरेशन ढांचा और साझा पुस्तकालय प्रदान करता है।

TFX मानक घटक

एक TFX पाइपलाइन घटकों का एक क्रम है जो एक ML पाइपलाइन को लागू करता है जिसे विशेष रूप से स्केलेबल, उच्च-प्रदर्शन मशीन सीखने के कार्यों के लिए डिज़ाइन किया गया है। इसमें मॉडलिंग, प्रशिक्षण, अनुमान प्रस्तुत करना और ऑनलाइन, नेटिव मोबाइल और जावास्क्रिप्ट लक्ष्यों के लिए तैनाती का प्रबंधन शामिल है।

एक TFX पाइपलाइन में आमतौर पर निम्नलिखित घटक शामिल होते हैं:

  • exampleGen एक पाइपलाइन का प्रारंभिक इनपुट घटक है जो इनपुट डेटासेट को अंतर्ग्रहण और वैकल्पिक रूप से विभाजित करता है।

  • स्टैटिस्टिक्सजेन डेटासेट के लिए आंकड़ों की गणना करता है।

  • SchemaGen आँकड़ों की जाँच करता है और एक डेटा स्कीमा बनाता है।

  • exampleValidator डेटासेट में विसंगतियों और अनुपलब्ध मानों की तलाश करता है।

  • ट्रांसफॉर्म डेटासेट पर फीचर इंजीनियरिंग करता है।

  • ट्रेनर मॉडल को प्रशिक्षित करता है।

  • ट्यूनर मॉडल के हाइपरपैरामीटर को ट्यून करता है।

  • मूल्यांकनकर्ता प्रशिक्षण परिणामों का गहन विश्लेषण करता है और आपको अपने निर्यात किए गए मॉडल को मान्य करने में मदद करता है, यह सुनिश्चित करते हुए कि वे उत्पादन में धकेलने के लिए "काफी अच्छे" हैं।

  • इन्फ्रावैलिडेटर जांचता है कि मॉडल वास्तव में बुनियादी ढांचे से सेवा योग्य है, और खराब मॉडल को धक्का देने से रोकता है।

  • पुशर एक सेवारत बुनियादी ढांचे पर मॉडल को तैनात करता है।

  • BulkInferrer बिना लेबल वाले अनुमान अनुरोधों वाले मॉडल पर बैच प्रोसेसिंग करता है।

यह आरेख इन घटकों के बीच डेटा के प्रवाह को दिखाता है:

घटक प्रवाह

टीएफएक्स पुस्तकालय

टीएफएक्स में पुस्तकालय और पाइपलाइन घटक दोनों शामिल हैं। यह आरेख TFX पुस्तकालयों और पाइपलाइन घटकों के बीच संबंधों को दिखाता है:

पुस्तकालय और घटक

टीएफएक्स कई पायथन पैकेज प्रदान करता है जो कि पुस्तकालय हैं जिनका उपयोग पाइपलाइन घटकों को बनाने के लिए किया जाता है। आप इन पुस्तकालयों का उपयोग अपनी पाइपलाइनों के घटकों को बनाने के लिए करेंगे ताकि आपका कोड आपकी पाइपलाइन के अनूठे पहलुओं पर ध्यान केंद्रित कर सके।

टीएफएक्स पुस्तकालयों में शामिल हैं:

  • TensorFlow डेटा सत्यापन (TFDV) मशीन लर्निंग डेटा के विश्लेषण और सत्यापन के लिए एक पुस्तकालय है। इसे अत्यधिक स्केलेबल होने और TensorFlow और TFX के साथ अच्छी तरह से काम करने के लिए डिज़ाइन किया गया है। टीएफडीवी में शामिल हैं:

    • प्रशिक्षण और परीक्षण डेटा के सारांश आँकड़ों की मापनीय गणना।
    • डेटा वितरण और आंकड़ों के लिए एक दर्शक के साथ एकीकरण, साथ ही डेटासेट (पहलू) के जोड़े की पहलू तुलना।
    • आवश्यक मूल्यों, श्रेणियों और शब्दावली जैसे डेटा के बारे में अपेक्षाओं का वर्णन करने के लिए स्वचालित डेटा-स्कीमा पीढ़ी।
    • स्कीमा का निरीक्षण करने में आपकी सहायता करने के लिए एक स्कीमा व्यूअर।
    • विसंगतियों की पहचान करने के लिए विसंगति का पता लगाना, जैसे कि गायब सुविधाएँ, सीमा से बाहर मान, या गलत विशेषता प्रकार, कुछ नाम रखने के लिए।
    • एक विसंगति दर्शक ताकि आप देख सकें कि किन विशेषताओं में विसंगतियाँ हैं और उन्हें ठीक करने के लिए और जानें।
  • TensorFlow Transform (TFT) TensorFlow के साथ डेटा को प्रीप्रोसेस करने के लिए एक लाइब्रेरी है। TensorFlow Transform डेटा के लिए उपयोगी है जिसके लिए पूर्ण-पास की आवश्यकता होती है, जैसे:

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

    KerasTuner का उपयोग मॉडल के लिए हाइपरपैरामीटर को ट्यून करने के लिए किया जाता है।

  • TensorFlow मॉडल विश्लेषण (TFMA) TensorFlow मॉडल के मूल्यांकन के लिए एक पुस्तकालय है। इसका उपयोग TensorFlow के साथ EvalSavedModel बनाने के लिए किया जाता है, जो इसके विश्लेषण का आधार बन जाता है। यह उपयोगकर्ताओं को अपने ट्रेनर में परिभाषित समान मीट्रिक का उपयोग करके वितरित तरीके से बड़ी मात्रा में डेटा पर अपने मॉडल का मूल्यांकन करने की अनुमति देता है। इन मेट्रिक्स की गणना डेटा के विभिन्न स्लाइस पर की जा सकती है और जुपिटर नोटबुक में देखे जा सकते हैं।

  • TensorFlow मेटाडेटा (TFMD) मेटाडेटा के लिए मानक प्रतिनिधित्व प्रदान करता है जो TensorFlow के साथ मशीन लर्निंग मॉडल को प्रशिक्षित करते समय उपयोगी होते हैं। इनपुट डेटा विश्लेषण के दौरान मेटाडेटा हाथ से या स्वचालित रूप से तैयार किया जा सकता है, और डेटा सत्यापन, अन्वेषण और परिवर्तन के लिए उपयोग किया जा सकता है। मेटाडेटा क्रमांकन प्रारूपों में शामिल हैं:

    • सारणीबद्ध डेटा का वर्णन करने वाला एक स्कीमा (उदाहरण के लिए, tf.उदाहरण)।
    • ऐसे डेटासेट पर सारांश आँकड़ों का संग्रह।
  • एमएल मेटाडेटा (एमएलएमडी) एमएल डेवलपर और डेटा वैज्ञानिक वर्कफ़्लो से जुड़े मेटाडेटा को रिकॉर्ड करने और पुनर्प्राप्त करने के लिए एक पुस्तकालय है। अक्सर मेटाडेटा TFMD अभ्यावेदन का उपयोग करता है। MLMD SQL-Lite , MySQL और अन्य समान डेटा स्टोर का उपयोग करके दृढ़ता का प्रबंधन करता है।

सहायक प्रौद्योगिकियां

आवश्यक

  • अपाचे बीम एक खुला स्रोत है, जो बैच और स्ट्रीमिंग डेटा-समानांतर प्रसंस्करण पाइपलाइनों दोनों को परिभाषित करने के लिए एकीकृत मॉडल है। TFX डेटा-समानांतर पाइपलाइनों को लागू करने के लिए Apache Beam का उपयोग करता है। पाइपलाइन को बीम के समर्थित वितरित प्रसंस्करण बैक-एंड में से एक द्वारा निष्पादित किया जाता है, जिसमें अपाचे फ्लिंक, अपाचे स्पार्क, Google क्लाउड डेटाफ्लो और अन्य शामिल हैं।

वैकल्पिक

Apache Airflow और Kubeflow जैसे ऑर्केस्ट्रेटर ML पाइपलाइन को कॉन्फ़िगर करना, संचालन करना, निगरानी करना और बनाए रखना आसान बनाते हैं।

  • अपाचे एयरफ्लो प्रोग्रामेटिक रूप से लेखक, शेड्यूल और वर्कफ़्लो की निगरानी करने के लिए एक मंच है। TFX कार्यों के निर्देशित एसाइक्लिक ग्राफ़ (DAG) के रूप में लेखक वर्कफ़्लोज़ के लिए Airflow का उपयोग करता है। एयरफ्लो शेड्यूलर निर्दिष्ट निर्भरताओं का पालन करते हुए श्रमिकों की एक सरणी पर कार्यों को निष्पादित करता है। रिच कमांड लाइन यूटिलिटीज डीएजी पर जटिल सर्जरी को एक स्नैप बना देती हैं। समृद्ध यूजर इंटरफेस उत्पादन में चल रही पाइपलाइनों की कल्पना करना, प्रगति की निगरानी करना और जरूरत पड़ने पर समस्याओं का निवारण करना आसान बनाता है। जब वर्कफ़्लो को कोड के रूप में परिभाषित किया जाता है, तो वे अधिक रखरखाव योग्य, संस्करण योग्य, परीक्षण योग्य और सहयोगी बन जाते हैं।

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

पोर्टेबिलिटी और इंटरऑपरेबिलिटी

TFX को Apache Airflow , Apache Beam और Kubeflow सहित कई वातावरणों और ऑर्केस्ट्रेशन फ्रेमवर्क के लिए पोर्टेबल होने के लिए डिज़ाइन किया गया है। यह ऑन-प्रिमाइसेस और Google क्लाउड प्लेटफ़ॉर्म (GCP) जैसे क्लाउड प्लेटफ़ॉर्म सहित विभिन्न कंप्यूटिंग प्लेटफ़ॉर्म के लिए भी पोर्टेबल है। विशेष रूप से, टीएफएक्स सर्वरल प्रबंधित जीसीपी सेवाओं के साथ इंटरऑपरेट करता है, जैसे प्रशिक्षण और भविष्यवाणी के लिए क्लाउड एआई प्लेटफॉर्म , और एमएल जीवनचक्र के कई अन्य पहलुओं के लिए वितरित डेटा प्रोसेसिंग के लिए क्लाउड डेटाफ्लो

मॉडल बनाम सहेजा गया मॉडल

नमूना

एक मॉडल प्रशिक्षण प्रक्रिया का आउटपुट है। यह वजन का क्रमबद्ध रिकॉर्ड है जिसे प्रशिक्षण प्रक्रिया के दौरान सीखा गया है। इन भारों का उपयोग बाद में नए इनपुट उदाहरणों के लिए भविष्यवाणियों की गणना करने के लिए किया जा सकता है। TFX और TensorFlow के लिए, 'मॉडल' उन चौकियों को संदर्भित करता है जिनमें उस बिंदु तक सीखे गए वज़न होते हैं।

ध्यान दें कि 'मॉडल' TensorFlow गणना ग्राफ (यानी एक पायथन फ़ाइल) की परिभाषा को भी संदर्भित कर सकता है जो व्यक्त करता है कि भविष्यवाणी की गणना कैसे की जाएगी। संदर्भ के आधार पर दो इंद्रियों का परस्पर उपयोग किया जा सकता है।

सहेजा गया मॉडल

  • एक सहेजा गया मॉडल क्या है : एक TensorFlow मॉडल का एक सार्वभौमिक, भाषा-तटस्थ, भली भांति बंद करने योग्य, पुनर्प्राप्ति योग्य क्रमांकन।
  • यह महत्वपूर्ण क्यों है : यह उच्च-स्तरीय सिस्टम को एकल अमूर्तता का उपयोग करके TensorFlow मॉडल का उत्पादन, परिवर्तन और उपभोग करने में सक्षम बनाता है।

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

योजना

कुछ TFX घटक आपके इनपुट डेटा के विवरण का उपयोग करते हैं जिसे स्कीमा कहा जाता है। स्कीमा, schema.proto का एक उदाहरण है। स्कीमा एक प्रकार का प्रोटोकॉल बफर है , जिसे आमतौर पर "प्रोटोबफ" के रूप में जाना जाता है। स्कीमा सुविधा मानों के लिए डेटा प्रकार निर्दिष्ट कर सकती है, चाहे किसी विशेषता को सभी उदाहरणों में मौजूद होना चाहिए, मान सीमा और अन्य गुणों की अनुमति है। TensorFlow डेटा सत्यापन (TFDV) का उपयोग करने के लाभों में से एक यह है कि यह स्वचालित रूप से प्रशिक्षण डेटा से प्रकार, श्रेणियों और श्रेणियों का हवाला देकर एक स्कीमा उत्पन्न करेगा।

यहाँ एक स्कीमा प्रोटोबफ से एक अंश दिया गया है:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

निम्नलिखित घटक स्कीमा का उपयोग करते हैं:

  • TensorFlow डेटा सत्यापन
  • टेंसरफ्लो ट्रांसफॉर्म

एक विशिष्ट TFX पाइपलाइन में TensorFlow डेटा सत्यापन एक स्कीमा उत्पन्न करता है, जिसे अन्य घटकों द्वारा उपभोग किया जाता है।

TFX के साथ विकास करना

TFX परिनियोजन के माध्यम से, आपके स्थानीय मशीन पर अनुसंधान, प्रयोग और विकास से लेकर मशीन लर्निंग प्रोजेक्ट के हर चरण के लिए एक शक्तिशाली मंच प्रदान करता है। कोड दोहराव से बचने के लिए और तिरछा प्रशिक्षण/सेवा की क्षमता को खत्म करने के लिए यह दृढ़ता से अनुशंसा की जाती है कि आप मॉडल प्रशिक्षण और प्रशिक्षित मॉडल की तैनाती दोनों के लिए अपनी TFX पाइपलाइन को लागू करें, और ट्रांसफॉर्म घटकों का उपयोग करें जो प्रशिक्षण और अनुमान दोनों के लिए TensorFlow Transform लाइब्रेरी का लाभ उठाते हैं। ऐसा करने से आप समान प्रीप्रोसेसिंग और विश्लेषण कोड का लगातार उपयोग करेंगे, और प्रशिक्षण के लिए उपयोग किए गए डेटा और उत्पादन में आपके प्रशिक्षित मॉडल को खिलाए गए डेटा के बीच अंतर से बचने के साथ-साथ उस कोड को एक बार लिखने से लाभ होगा।

डेटा एक्सप्लोरेशन, विज़ुअलाइज़ेशन और क्लीनिंग

डेटा एक्सप्लोरेशन, विज़ुअलाइज़ेशन और क्लीनिंग

TFX पाइपलाइन आमतौर पर एक exampleGen घटक से शुरू होती है, जो इनपुट डेटा को स्वीकार करता है और इसे tf.Examples के रूप में स्वरूपित करता है। डेटा को प्रशिक्षण और मूल्यांकन डेटासेट में विभाजित करने के बाद अक्सर ऐसा किया जाता है ताकि वास्तव में उदाहरणजेन घटकों की दो प्रतियां हों, प्रत्येक प्रशिक्षण और मूल्यांकन के लिए। इसके बाद आमतौर पर एक स्टैटिस्टिक्सजेन घटक और एक स्कीमाजेन घटक होता है, जो आपके डेटा की जांच करेगा और डेटा स्कीमा और आंकड़ों का अनुमान लगाएगा। स्कीमा और आँकड़ों का उपयोग एक exampleValidator घटक द्वारा किया जाएगा, जो आपके डेटा में विसंगतियों, अनुपलब्ध मानों और गलत डेटा प्रकारों की खोज करेगा। ये सभी घटक TensorFlow डेटा सत्यापन लाइब्रेरी की क्षमताओं का लाभ उठाते हैं।

TensorFlow डेटा सत्यापन (TFDV) आपके डेटासेट की प्रारंभिक खोज, विज़ुअलाइज़ेशन और सफाई करते समय एक मूल्यवान उपकरण है। TFDV आपके डेटा की जांच करता है और डेटा प्रकारों, श्रेणियों और श्रेणियों का अनुमान लगाता है, और फिर स्वचालित रूप से विसंगतियों और लापता मूल्यों की पहचान करने में मदद करता है। यह विज़ुअलाइज़ेशन टूल भी प्रदान करता है जो आपके डेटासेट की जांच करने और उसे समझने में आपकी सहायता कर सकता है। आपकी पाइपलाइन पूरी होने के बाद आप MLMD से मेटाडेटा पढ़ सकते हैं और अपने डेटा का विश्लेषण करने के लिए Jupyter नोटबुक में TFDV के विज़ुअलाइज़ेशन टूल का उपयोग कर सकते हैं।

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

डेटा विज़ुअलाइज़ेशन

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

आप इन घटकों के इन निष्पादन के परिणामों का पता लगाने के लिए पहले एमएल मेटाडेटा (एमएलएमडी) से पूछताछ करेंगे, और फिर अपनी नोटबुक में विज़ुअलाइज़ेशन बनाने के लिए टीएफडीवी में विज़ुअलाइज़ेशन सपोर्ट एपीआई का उपयोग करेंगे। इसमें tfdv.load_statistics() और tfdv.visualize_statistics() शामिल हैं इस विज़ुअलाइज़ेशन का उपयोग करके आप अपने डेटासेट की विशेषताओं को बेहतर ढंग से समझ सकते हैं, और यदि आवश्यक हो तो आवश्यकतानुसार संशोधित कर सकते हैं।

विकास और प्रशिक्षण मॉडल

फ़ीचर इंजीनियरिंग

एक विशिष्ट TFX पाइपलाइन में एक ट्रांसफ़ॉर्म घटक शामिल होगा, जो TensorFlow Transform (TFT) लाइब्रेरी की क्षमताओं का लाभ उठाकर फ़ीचर इंजीनियरिंग का प्रदर्शन करेगा। एक ट्रांसफ़ॉर्म घटक स्कीमाजेन घटक द्वारा बनाए गए स्कीमा का उपभोग करता है, और आपके मॉडल को प्रशिक्षित करने के लिए उपयोग की जाने वाली सुविधाओं को बनाने, संयोजित करने और बदलने के लिए डेटा ट्रांसफ़ॉर्मेशन लागू करता है। लापता मूल्यों की सफाई और प्रकारों का रूपांतरण भी ट्रांसफ़ॉर्म घटक में किया जाना चाहिए यदि कभी संभावना हो कि ये भी अनुमान अनुरोधों के लिए भेजे गए डेटा में मौजूद होंगे। TFX में प्रशिक्षण के लिए TensorFlow कोड डिजाइन करते समय कुछ महत्वपूर्ण विचार हैं

मॉडलिंग और प्रशिक्षण

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

अनुमानक आधारित मॉडल के साथ काम करते समय, आपके मॉडलिंग कोड के अंतिम भाग को आपके मॉडल को एक सहेजे गए मॉडल और एक इवलसेव्ड मॉडल दोनों के रूप में सहेजना चाहिए। EvalSavedModel के रूप में सहेजना यह सुनिश्चित करता है कि प्रशिक्षण के समय उपयोग किए गए मेट्रिक्स मूल्यांकन के दौरान भी उपलब्ध हों (ध्यान दें कि यह केरस आधारित मॉडल के लिए आवश्यक नहीं है)। EvalSavedModel को सहेजने के लिए आवश्यक है कि आप अपने ट्रेनर घटक में TensorFlow मॉडल विश्लेषण (TFMA) लाइब्रेरी आयात करें।

import tensorflow_model_analysis as tfma
...

tfma.export.export_eval_savedmodel(
        estimator=estimator,
        export_dir_base=eval_model_dir,
        eval_input_receiver_fn=receiver_fn)

मॉडल के लिए हाइपरपैरामीटर (जैसे, परतों की संख्या) को ट्यून करने के लिए ट्रेनर से पहले एक वैकल्पिक ट्यूनर घटक जोड़ा जा सकता है। दिए गए मॉडल और हाइपरपैरामीटर के खोज स्थान के साथ, ट्यूनिंग एल्गोरिदम को उद्देश्य के आधार पर सर्वोत्तम हाइपरपैरामीटर मिलेंगे।

मॉडल प्रदर्शन का विश्लेषण और समझना

मॉडल विश्लेषण

प्रारंभिक मॉडल विकास और प्रशिक्षण के बाद अपने मॉडल के प्रदर्शन का विश्लेषण करना और वास्तव में समझना महत्वपूर्ण है। एक विशिष्ट TFX पाइपलाइन में एक मूल्यांकनकर्ता घटक शामिल होगा, जो TensorFlow मॉडल विश्लेषण (TFMA) लाइब्रेरी की क्षमताओं का लाभ उठाता है, जो विकास के इस चरण के लिए एक पावर टूलसेट प्रदान करता है। एक मूल्यांकनकर्ता घटक उस मॉडल का उपभोग करता है जिसे आपने ऊपर निर्यात किया था, और आपको tfma.SlicingSpec की एक सूची निर्दिष्ट करने की अनुमति देता है जिसका उपयोग आप अपने मॉडल के प्रदर्शन की कल्पना और विश्लेषण करते समय कर सकते हैं। प्रत्येक SlicingSpec आपके प्रशिक्षण डेटा का एक टुकड़ा परिभाषित करता है जिसे आप जांचना चाहते हैं, जैसे कि श्रेणीबद्ध सुविधाओं के लिए विशेष श्रेणियां, या संख्यात्मक सुविधाओं के लिए विशेष श्रेणियां।

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

मॉडल विश्लेषण और विज़ुअलाइज़ेशन

अपने मॉडल को प्रशिक्षित करके और प्रशिक्षण परिणामों पर मूल्यांकनकर्ता घटक (जो TFMA का लाभ उठाता है) चलाकर अपने डेटा का पहला रन पूरा करने के बाद, आप एक Jupyter शैली नोटबुक में परिणामों की कल्पना कर सकते हैं। अतिरिक्त रन के लिए आप समायोजन करते समय इन परिणामों की तुलना कर सकते हैं, जब तक कि आपके परिणाम आपके मॉडल और एप्लिकेशन के लिए इष्टतम न हों।

इन घटकों के इन निष्पादन के परिणामों का पता लगाने के लिए आप पहले एमएल मेटाडेटा (एमएलएमडी) से पूछताछ करेंगे, और फिर अपनी नोटबुक में विज़ुअलाइज़ेशन बनाने के लिए टीएफएमए में विज़ुअलाइज़ेशन सपोर्ट एपीआई का उपयोग करेंगे। इसमें tfma.load_eval_results और tfma.view.render_slicing_metrics शामिल हैं इस विज़ुअलाइज़ेशन का उपयोग करके आप अपने मॉडल की विशेषताओं को बेहतर ढंग से समझ सकते हैं, और यदि आवश्यक हो तो आवश्यकतानुसार संशोधित कर सकते हैं।

मॉडल प्रदर्शन मान्य करना

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

यह मान्य करना कि एक मॉडल की सेवा की जा सकती है

इन्फ्रा सत्यापन

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

परिनियोजन लक्ष्य

एक बार जब आप एक मॉडल विकसित और प्रशिक्षित कर लेते हैं जिससे आप खुश होते हैं, तो अब इसे एक या अधिक परिनियोजन लक्ष्य (लक्ष्यों) पर तैनात करने का समय है जहां इसे अनुमान अनुरोध प्राप्त होंगे। TFX परिनियोजन लक्ष्यों के तीन वर्गों में परिनियोजन का समर्थन करता है। सहेजे गए मॉडल के रूप में निर्यात किए गए प्रशिक्षित मॉडल को इनमें से किसी एक या सभी परिनियोजन लक्ष्यों पर तैनात किया जा सकता है।

घटक प्रवाह

अनुमान: टेंसरफ्लो सर्विंग

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

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

नेटिव मोबाइल और IoT अनुप्रयोगों में अनुमान: TensorFlow Lite

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

जावास्क्रिप्ट में अनुमान: TensorFlow JS

TensorFlow JS ब्राउज़र में और Node.js पर एमएल मॉडल के प्रशिक्षण और तैनाती के लिए एक जावास्क्रिप्ट लाइब्रेरी है। यह TensorFlow Serving और TensorFlow Lite के समान सहेजे गए मॉडल का उपभोग करता है, और उन्हें TensorFlow.js वेब प्रारूप में परिवर्तित करता है। TensorFlow JS का उपयोग करने के बारे में अधिक जानकारी के लिए TensorFlow JS दस्तावेज़ देखें।

एयरफ्लो के साथ एक TFX पाइपलाइन बनाना

विवरण के लिए एयरफ्लो कार्यशाला की जाँच करें

Kubeflow के साथ TFX पाइपलाइन बनाना

स्थापित करना

Kubeflow को पाइपलाइनों को बड़े पैमाने पर चलाने के लिए Kubernetes क्लस्टर की आवश्यकता होती है। Kubeflow परिनियोजन दिशानिर्देश देखें जो Kubeflow क्लस्टर को परिनियोजित करने के विकल्पों के माध्यम से मार्गदर्शन करता है।

TFX पाइपलाइन को कॉन्फ़िगर और चलाएं

Kubeflow पर TFX उदाहरण पाइपलाइन चलाने के लिए कृपया क्लाउड AI प्लेटफ़ॉर्म पाइपलाइन ट्यूटोरियल पर TFX का अनुसरण करें। टीएफएक्स घटकों को क्यूबफ्लो पाइपलाइन की रचना के लिए कंटेनरीकृत किया गया है और नमूना बड़े सार्वजनिक डेटासेट को पढ़ने और क्लाउड में बड़े पैमाने पर प्रशिक्षण और डेटा प्रोसेसिंग चरणों को निष्पादित करने के लिए पाइपलाइन को कॉन्फ़िगर करने की क्षमता को दर्शाता है।

पाइपलाइन क्रियाओं के लिए कमांड लाइन इंटरफ़ेस

टीएफएक्स एक एकीकृत सीएलआई प्रदान करता है जो अपाचे एयरफ्लो, अपाचे बीम और क्यूबफ्लो सहित विभिन्न ऑर्केस्ट्रेटर पर पाइपलाइन बनाने, अपडेट करने, चलाने, सूची बनाने और हटाने जैसी पाइपलाइन क्रियाओं की पूरी श्रृंखला करने में मदद करता है। विवरण के लिए, कृपया इन निर्देशों का पालन करें।