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

MLOps र तैनाती: प्रयोगशालाबाट उत्पादनमा मोडेल सार्दै

लाभ:

  • कोड-डेटा-मोडेल ट्रियो र प्याकेजसँग सम्बन्धित ML को विशेष चुनौतीहरू पहिचान गर्न र व्यापार आवश्यकता अनुसार मोडेल अनलाइन वा ब्याचमा प्रस्तुत गर्ने क्षमता।
  • क्रमिक र रोलब्याक तैनाती ढाँचाहरू (छाया, क्यानरी, A/B, रोलब्याक) लागू गर्ने क्षमता र प्रत्येक परिनियोजनमा परीक्षण गरिएको रोलब्याक योजना थप्नुहोस्।
  • मूल्याङ्कन थ्रेसहोल्ड-नियन्त्रित CI/CD र मोडेल रजिस्ट्रीको साथ उत्पादनमा राखिएको मोडेलको डाटा-कोड-मेट्रिक लिङ्क राख्न सक्ने क्षमता।

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

किन ML नियमित सफ्टवेयर भन्दा फरक छ?

साधारण सफ्टवेयर मा, व्यवहार कोड मा छ; यदि कोड परिवर्तन गर्दैन भने, व्यवहार परिवर्तन हुँदैन। ML मा, व्यवहार कोड, डेटा र मोडेल दुवै मा निर्भर गर्दछ। यी तीन आयामहरूले MLOps को अतिरिक्त चुनौतीहरू सिर्जना गर्छन्:

  • डाटा बहाव: उत्पादन मा डाटा समय संग प्रशिक्षण मा डाटा देखि टाढा जान्छ; मोडेल अप्रचलित हुन्छ।
  • तपाईंले तीन चीजहरू संस्करण गर्न आवश्यक छ: कोड, डेटा, र मोडेल - सबै तीन।
  • मौन विफलता: एक मोडेल दुर्घटना बिना असफल हुन सक्छ, त्रुटिहरू नदिई, केवल गलत भविष्यवाणीहरू उत्पादन गरेर। यसलाई समात्न अनुगमन आवश्यक छ।

यसैले त्यहाँ "कार्यकारी मोडेल" र "उत्पादन-तयार मोडेल" बीच ठूलो भिन्नता छ।

मोडेल प्याकेजिङ्ग र प्रस्तुतीकरण

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

मोडेल सेवा गर्ने दुई आधारभूत ढाँचाहरू:

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

कुन सही हो यो व्यवसायको आवश्यकतामा निर्भर गर्दछ: तत्काल सिफारिस अनलाइन, ब्याचमा मासिक जोखिम स्कोर।

सुझाव: "वास्तविक-समय" एक लागत हो, पूर्वनिर्धारित होइन। ब्याच धेरै सस्तो र सरल छ यदि परिणाम घण्टा भित्र प्रयोग हुनेछ। के तपाईलाई साँच्चै तत्काल जवाफ चाहिन्छ? पहिले त्यो सोध्नुहोस्।

सुरक्षित वितरण रणनीतिहरू

सबै ट्राफिकहरूमा सीधा नयाँ मोडेल खोल्नु जोखिमपूर्ण छ; यदि यो गलत छ भने, सबैलाई असर पर्छ। सुरक्षित वितरण ढाँचा:

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

कमजोर दृष्टिकोण / बलियो दृष्टिकोण

कमजोर: "मोडल परीक्षणमा राम्रो थियो, हामी लाइभ गयौं, हामीले यसलाई सबैका लागि खोल्यौं।"

Güçlü: "हामीले मोडेललाई कन्टेनराइज गर्यौं, यसलाई संस्करणको रूपमा लेबल गर्यौं। पहिले, हामीले यसलाई पुरानो मोडेलसँग भविष्यवाणीहरू तुलना गर्दै उत्पादन ट्राफिकको साथ 3 दिनको लागि छाया मोडमा चलायौं - विचलन स्वीकार्य थियो। त्यसपछि हामीले यसलाई 5% क्यानरीसँग खोल्यौं, थ्रुपुट मेट्रिक्स र लेटन्सी अनुगमन गर्यौं। जब कुनै समस्याहरू थिएनन्, हामीले यसलाई क्रमशः 10% लाई बढाएका थियौं।

भिन्नता: बलियो दृष्टिकोण क्रमिक, मापन र उल्टाउन मिल्छ। जोखिम प्रत्येक चरणमा सीमित छ।

CI/CD र स्वचालन

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

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

प्रजनन क्षमता पूर्वाधार

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

तीन मिनी केसहरू

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

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

केस 3 - मौन डेटा बहाव। एक धोखाधड़ी ढाँचा कुनै त्रुटि बिना महिना को लागी देखा पर्यो। तर जालसाजीहरूको रणनीति परिवर्तन भयो (डेटा बहाव) र मोडेलको सम्झना चुपचाप छोडियो। अनुगमन नभएकाले कसैले ध्यान दिएनन् । एक पटक पूर्वानुमान वितरण अनुगमन प्यानल स्थापना भएपछि, बहाव चाँडै देखिने भयो। हामी एकाइ 8 मा निगरानी कभर गर्नेछौं।

प्रतिलिपि गर्न मिल्ने टेम्प्लेटहरू

यो मोडेलको लागि मस्यौदा परिनियोजन योजना लेख्नुहोस्। मोडेल: [यसले के गर्छ], उपयोग: [अनलाइन वा ब्याच?] समावेश हुनुपर्छ: १) प्याकेजिङ (कन्टेनर, संस्करण) २) वृद्धिशील डिप्लोइमेन्ट रणनीति (छाया/क्यानरी/ए-बी) र किन ३) ट्र्याक गर्ने मेट्रिक्स (व्यवसाय + प्राविधिक + विलम्बता) ४) रोलब्याक योजना र कसरी परीक्षण गर्ने ५) डिप्लोयमेन्ट (मेट्रिकको एक्सटेन्सी) मान कस्तो हुनुपर्छ।

यो ML CI/CD पाइपलाइन जाँच गर्नुहोस्: 1) के डाटा प्रमाणीकरण लाइनमा छ? 2) के डिप्लोयमेन्ट मूल्याङ्कन थ्रेसहोल्ड होल्ड नगरी अगाडि बढ्न सक्छ (यसलाई हुँदैन)? 3) रोलब्याक स्वचालित छ? 4) के डेटा + कोड + मेट्रिक्स मोडेल रजिस्ट्रीमा ट्र्याक गरिएको छ? प्लेन कन्फिगरेसन: [config]

मलाई यो मोडेलको लागि अनलाइन वा ब्याच प्रस्तुति उपयुक्त छ कि भनेर निर्णय गर्न मद्दत गर्नुहोस्। नतिजा कति लामो समय सम्म प्रयोग गरिनेछ: [तत्काल / मिनेट / घण्टा / दिन] अपेक्षित अनुरोध भोल्युम: [नम्बर] त्यहाँ ढिलाइ अवरोध छ: [ms] तपाईं लागत र जटिलताको सन्दर्भमा कुन सिफारिस गर्नुहुन्छ र किन?

यस मोडेलको लागि रोलब्याक प्रक्रिया लेख्नुहोस्।- कुन मेट्रिक/थ्रेसहोल्डले खराब प्रदर्शनलाई ट्रिगर गर्छ?- रोलब्याक चरणहरू के हुन्?- रोलब्याकले कति समय लिनुपर्छ (लक्ष्य)?- उत्पादन अघि मैले यो प्रक्रिया कसरी परीक्षण गर्ने?

प्रस्तुति ढाँचा तालिका

मापदण्ड

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

ब्याच

ढिलाइ

महत्वपूर्ण (ms)

नगण्य

प्रयोग

तत्काल प्रतिक्रिया आवश्यक छ

आवधिक स्कोर

लागत

उच्च

कम

जटिलता

उच्च

कम

उदाहरण

प्रत्यक्ष सिफारिस, घोटाला

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

सामान्य गल्तीहरू

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

संक्षेपमा

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

आवेदन कार्य

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

चेकलिस्ट

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