इकाइयाँ
1. एमएल इंजीनियरिंग में आर्टिफिशियल इंटेलिजेंस: भूमिका, सीमाएं, मान्यता और जिम्मेदारी 2. डेटा पाइपलाइन: संग्रहण, सफ़ाई, टैगिंग और संस्करणीकरण 3. मॉडल प्रशिक्षण और मूल्यांकन: सटीक मेट्रिक्स, ईमानदार बेंचमार्किंग 4. एलएलएम आवेदन: आरएजी के साथ आपके अपने डेटा के आधार पर उत्तर 5. एलएलएम एप्लीकेशन: एजेंट, टूलींग और सुरक्षित स्वचालन 6. फाइन-ट्यूनिंग आधार: कब, कैसे और किस जोखिम के साथ 7. एमएलओपीएस और परिनियोजन: मॉडल को लैब से उत्पादन तक ले जाना 8. मूल्यांकन और निगरानी: यह जानना कि मॉडल वास्तव में उत्पादन में क्या करता है 9. सुरक्षा और गोपनीयता: एआई सिस्टम का बचाव 10. पूर्वाग्रह, नैतिकता और लागत: जिम्मेदार और टिकाऊ एआई इंजीनियरिंग 11. प्रतिलिपि प्रस्तुत करने योग्यता और अंत-से-अंत परियोजना: हर चीज़ का संयोजन
इकाई 7 / 11

एमएलओपीएस और परिनियोजन: मॉडल को लैब से उत्पादन तक ले जाना

लाभ:

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

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

एमएल नियमित सॉफ्टवेयर से अलग क्यों है?

सामान्य सॉफ़्टवेयर में, व्यवहार कोड में होता है; यदि कोड नहीं बदलता है, तो व्यवहार नहीं बदलता है। एमएल में, व्यवहार कोड, डेटा और मॉडल दोनों पर निर्भर करता है। ये तीन आयाम MLOps की अतिरिक्त चुनौतियाँ पैदा करते हैं:

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

इसीलिए "कार्यशील मॉडल" और "उत्पादन-तैयार मॉडल" के बीच एक बड़ा अंतर है।

मॉडल पैकेजिंग और प्रस्तुतिकरण

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

मॉडल की सेवा के दो बुनियादी पैटर्न:

  • ऑनलाइन/वास्तविक समय (ऑनलाइन): मॉडल एक एपीआई के पीछे बैठता है, जो आने वाले प्रत्येक अनुरोध के लिए तत्काल भविष्यवाणी देता है। कम विलंबता महत्वपूर्ण है.
  • बैच: मॉडल समय-समय पर बड़े डेटा सेट को संसाधित करता है (उदाहरण के लिए रात में सभी ग्राहकों के लिए स्कोर उत्पन्न करता है)। विलंबता अप्रासंगिक है, दक्षता महत्वपूर्ण है।

इनमें से कौन सा सही है यह व्यवसाय की आवश्यकता पर निर्भर करता है: तत्काल ऑनलाइन अनुशंसा, बैच में मासिक जोखिम स्कोर।

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

सुरक्षित वितरण रणनीतियाँ

किसी नए मॉडल को सीधे सभी ट्रैफ़िक के लिए खोलना जोखिम भरा है; यदि यह गलत है, तो हर कोई प्रभावित होता है। सुरक्षित वितरण पैटर्न:

  • छाया परिनियोजन: नया मॉडल उत्पादन ट्रैफ़िक प्राप्त करता है, लेकिन इसकी भविष्यवाणियाँ उपयोगकर्ता को नहीं दिखाई जाती हैं, केवल लॉग इन की जाती हैं। इसकी तुलना पुराने मॉडल से की जाती है ताकि यह देखा जा सके कि यह वास्तविक डेटा में सुरक्षित है या नहीं।
  • कैनरी परिनियोजन: नया मॉडल पहले ट्रैफ़िक के एक छोटे प्रतिशत (जैसे 5%) के लिए लॉन्च किया गया है; अगर कोई दिक्कत न हो तो इसे धीरे-धीरे बढ़ाया जाता है।
  • ए/बी परीक्षण: दो मॉडल समानांतर में वास्तविक उपयोगकर्ता के सामने प्रस्तुत किए जाते हैं और व्यावसायिक मेट्रिक्स (रूपांतरण, क्लिक) की तुलना की जाती है।
  • रोलबैक: यदि नया मॉडल खराब हो जाता है तो तुरंत पुराने संस्करण पर वापस लौटने की क्षमता। प्रत्येक तैनाती में एक रोलबैक योजना होनी चाहिए।
सावधानी: रोलबैक योजना के बिना तैनाती पूरी नहीं होती है। जब नया मॉडल उत्पादन में अप्रत्याशित रूप से व्यवहार करता है तो मिनटों के भीतर पुराने संस्करण पर वापस लौटने में सक्षम होने से उपयोगकर्ता की सुरक्षा होती है। तैनाती से पहले इसका परीक्षण करें.

कमजोर दृष्टिकोण/मजबूत दृष्टिकोण

कमज़ोर: "मॉडल परीक्षण में अच्छा था, हम लाइव हुए, हमने इसे सभी के लिए खोल दिया।"

गुक्लु: "हमने मॉडल को कंटेनरीकृत किया, इसे एक संस्करण के रूप में लेबल किया। सबसे पहले, हमने इसे 3 दिनों के लिए उत्पादन ट्रैफ़िक के साथ छाया मोड में चलाया, पुराने मॉडल के साथ भविष्यवाणियों की तुलना की - विचलन स्वीकार्य था। फिर हमने इसे 5% कैनरी के साथ खोला, थ्रूपुट मेट्रिक्स और विलंबता की निगरानी की। जब कोई समस्या नहीं थी, तो हमने धीरे-धीरे इसे 100 तक बढ़ा दिया। हमने रोलबैक कमांड का पहले ही परीक्षण कर लिया था।"

अंतर: मजबूत दृष्टिकोण क्रमिक, मापा और प्रतिवर्ती है। जोखिम हर कदम पर सीमित है.

सीआई/सीडी और स्वचालन

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

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

पुनरुत्पादन अवसंरचना

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

तीन मिनी मामले

केस 1 - छाया वितरण से समस्या पकड़ी गई। एक अनुशंसा मॉडल ने परीक्षण में पुराने मॉडल को पछाड़ दिया। शैडो मोड में उत्पादन ट्रैफ़िक के साथ इसे चलाने से उपयोगकर्ताओं के एक विशेष खंड (नए उपयोगकर्ताओं) के लिए बहुत खराब अनुशंसाएँ उत्पन्न हुईं - परीक्षण डेटा इस खंड का प्रतिनिधित्व नहीं कर रहा था। मॉडल को उपयोगकर्ता को दिखाए बिना ही ठीक कर दिया गया था। यदि इसे सीधे खोला जाता, तो नया उपयोगकर्ता अनुभव बाधित हो जाता।

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

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

कॉपी करने योग्य टेम्पलेट

इस मॉडल के लिए एक मसौदा परिनियोजन योजना लिखें। मॉडल: [यह क्या करता है], उपयोग: [ऑनलाइन या बैच?] इसमें शामिल होना चाहिए:1) पैकेजिंग (कंटेनर, वर्जनिंग)2) वृद्धिशील परिनियोजन रणनीति (छाया/कैनरी/ए-बी) और क्यों3) ट्रैक करने के लिए मेट्रिक्स (व्यवसाय + तकनीकी + विलंबता)4) रोलबैक योजना और परीक्षण कैसे करें5) परिनियोजन सीमाएँ (कौन सा मीट्रिक किस मान से अधिक होना चाहिए)

इस एमएल सीआई/सीडी पाइपलाइन की जांच करें:1) क्या लाइन में डेटा सत्यापन है?2) क्या मूल्यांकन सीमा को रोके बिना तैनाती आगे बढ़ सकती है (क्या ऐसा नहीं होना चाहिए)?3) क्या रोलबैक स्वचालित है?4) क्या डेटा+कोड+मेट्रिक्स मॉडल रजिस्ट्री में ट्रैक किए गए हैं?प्लाइन कॉन्फ़िगरेशन: [कॉन्फ़िगरेशन]

यह तय करने में मेरी सहायता करें कि ऑनलाइन या बैच प्रस्तुतिकरण इस मॉडल के लिए उपयुक्त है या नहीं। परिणाम का उपयोग कब तक किया जाएगा: [तत्काल / मिनट / घंटा / दिन] अपेक्षित अनुरोध मात्रा: [संख्या] क्या कोई विलंब बाधा है: [एमएस] लागत और जटिलता के संदर्भ में आप किसकी अनुशंसा करेंगे और क्यों?

इस मॉडल के लिए एक रोलबैक प्रक्रिया लिखें। - कौन सा मीट्रिक/सीमा खराब प्रदर्शन को ट्रिगर करती है? - रोलबैक चरण क्या हैं? - रोलबैक में कितना समय लगना चाहिए (लक्ष्य)? - मैं उत्पादन से पहले इस प्रक्रिया का परीक्षण कैसे करूं?

प्रस्तुति पैटर्न तालिका

कसौटी

ऑनलाइन (वास्तविक समय)

बैच

देरी

गंभीर (एमएस)

नगण्य

उपयोग

तुरंत प्रतिक्रिया आवश्यक है

आवधिक स्कोर

लागत

उच्च

कम

जटिलता

उच्च

कम

उदाहरण

लाइव सिफ़ारिश, घोटाला

मासिक जोखिम स्कोर

सामान्य गलतियाँ

  • पुनर्प्राप्ति की योजना के बिना वितरित करें. गलत मॉडल पूरे उपयोगकर्ता को प्रभावित करता है।
  • 100% यातायात के लिए सीधे खुल रहा है। क्रमबद्ध वितरण के साथ जोखिम सीमित करें।
  • मॉनिटरिंग स्थापित नहीं करना. मॉडल बिना किसी त्रुटि के, चुपचाप त्रुटियाँ उत्पन्न करता है।
  • निरर्थक वास्तविक समय प्रस्तुति. जबकि बैचिंग पर्याप्त है, लागत और जटिलता बढ़ती है।
  • मॉडल-डेटा-कोड संस्करणों को लिंक नहीं किया जा रहा है। आप समस्या को पुन: उत्पन्न नहीं कर सकते.
  • बिना किसी वितरण सीमा के स्वचालित रिलीज़। ख़राब मॉडल चुपचाप अंदर आ जाता है।

संक्षेप में

मॉडल को उत्पादन में ले जाना उसे प्रशिक्षित करने की तुलना में एक अलग और अक्सर अधिक कठिन इंजीनियरिंग कार्य है। एमएल को अतिरिक्त अनुशासन की आवश्यकता है क्योंकि यह कोड-डेटा-मॉडल तिकड़ी पर निर्भर करता है: पैकेजिंग और वर्जनिंग, डिलीवरी पैटर्न (ऑनलाइन/बैच) जो व्यवसाय की आवश्यकता के अनुरूप है, क्रमिक और प्रतिवर्ती तैनाती, थ्रेशोल्ड-नियंत्रित सीआई/सीडी और मॉडल पंजीकरण। इस बुनियादी ढांचे के कोड और कॉन्फ़िगरेशन को तैयार करने में कृत्रिम बुद्धिमत्ता एक शक्तिशाली सहायता है; लेकिन वितरण सीमाएँ, क्लॉबैक नीति और जोखिम संबंधी निर्णय आपके हैं। रोलबैक योजना के बिना वितरण पूरा नहीं होता है।

आवेदन कार्य

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

चेकलिस्ट

  • [ ] मॉडल को पैक और संस्करणित किया गया है (कंटेनर + लेबल)।
  • [ ] प्रस्तुतिकरण पैटर्न (ऑनलाइन/बैच) को व्यावसायिक आवश्यकता के अनुसार चुना गया था।
  • [ ] चरणबद्ध तैनाती रणनीति (छाया/कैनरी) लागू की गई।
  • [ ] रोलबैक प्रक्रिया लिखित और परीक्षण की गई।
  • [ ] मूल्यांकन सीमा पूरी होने से पहले सीआई/सीडी तैनाती को आगे नहीं बढ़ाता है।
  • [ ] मॉडल रजिस्ट्री डेटा+कोड+मीट्रिक लिंक रखती है।