નફો:
- કોડ-ડેટા-મોડલ ત્રિપુટી અને પેકેજ સંબંધિત 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 - પડછાયા વિતરણ દ્વારા સમસ્યા. એક ભલામણ મોડેલ પરીક્ષણમાં જૂનાને હરાવ્યું. તેને શેડો મોડમાં ઉત્પાદન ટ્રાફિક સાથે ચલાવવાથી વપરાશકર્તાઓના ચોક્કસ સેગમેન્ટ (નવા વપરાશકર્તાઓ) માટે ખૂબ જ નબળી ભલામણો મળી આવી હતી — પરીક્ષણ ડેટા આ સેગમેન્ટનો ઓછો પ્રતિનિધિત્વ કરતો હતો. મોડેલ ક્યારેય વપરાશકર્તાને પ્રદર્શિત કર્યા વિના સુધારેલ હતું. જો તે સીધું ખોલવામાં આવે, તો નવો વપરાશકર્તા અનુભવ ખોરવાઈ જશે.
કેસ 2 - અફર વિતરણ. એક ટીમે કોઈ રોલબેક પ્લાન વિના તમામ ટ્રાફિક માટે એક નવું કિંમત નિર્ધારણ મોડલ રજૂ કર્યું. મોડેલે અનપેક્ષિત રીતે કેટલાક ઉત્પાદનોની કિંમત ખૂબ સસ્તી કરી. જૂના સંસ્કરણ પર પાછા ફરવામાં કલાકો લાગ્યા કારણ કે પ્રક્રિયા તૈયાર ન હતી. આવકમાં ભારે નુકસાન થયું હતું. પછીથી, ફરજિયાત રોલબેક પરીક્ષણ દરેક જમાવટમાં ઉમેરવામાં આવ્યું હતું.
કેસ 3 - સાયલન્ટ ડેટા ડ્રિફ્ટ. એક છેતરપિંડી પેટર્ન મહિનાઓ સુધી કોઈપણ ભૂલ વિના દેખાઈ. પરંતુ છેતરપિંડી કરનારાઓની રણનીતિ બદલાઈ ગઈ (ડેટા ડ્રિફ્ટ) અને મોડલનું રિકોલ ચૂપચાપ ઘટી ગયું. મોનિટરિંગ ન હોવાથી કોઈએ ધ્યાન આપ્યું નહીં. એકવાર આગાહી વિતરણ મોનિટરિંગ પેનલની સ્થાપના થઈ, ડ્રિફ્ટ વહેલું દૃશ્યમાન બન્યું. અમે એકમ 8 માં મોનિટરિંગને આવરી લઈશું.
નકલ કરી શકાય તેવા નમૂનાઓ
આ મોડેલ માટે ડ્રાફ્ટ ડિપ્લોયમેન્ટ પ્લાન લખો. મોડલ: [તે શું કરે છે], વપરાશ: [ઓનલાઈન અથવા બેચ?] આમાં શામેલ હોવું જોઈએ: 1) પેકેજિંગ (કન્ટેનર, વર્ઝનિંગ) 2) ઇન્ક્રીમેન્ટલ ડિપ્લોયમેન્ટ વ્યૂહરચના (શેડો/કેનેરી/A-B) અને શા માટે3) ટ્રૅક કરવા માટેની મેટ્રિક્સ (વ્યવસાય + તકનીકી + લેટન્સી)4) રોલબેક પ્લાન અને કેવી રીતે પરીક્ષણ કરવું
આ ML CI/CD પાઇપલાઇન તપાસો:1) શું લાઇનમાં ડેટાની માન્યતા છે? 2) શું મૂલ્યાંકન થ્રેશોલ્ડને પકડી રાખ્યા વિના ડિપ્લોયમેન્ટ આગળ વધી શકે છે (શું તે ન હોવું જોઈએ)? 3) શું રોલબેક ઓટોમેટિક છે? 4) શું મોડલ રજિસ્ટ્રીમાં ડેટા+કોડ+મેટ્રિક્સ ટ્રૅક કરવામાં આવ્યા છે?પ્લાઇન કન્ફિગરેશન: [config]
આ મોડેલ માટે ઓનલાઈન અથવા બેચ પ્રેઝન્ટેશન યોગ્ય છે કે કેમ તે નક્કી કરવામાં મને મદદ કરો. પરિણામનો ઉપયોગ કેટલો સમય થશે: [ત્વરિત/મિનિટ/કલાક/દિવસ]અપેક્ષિત વિનંતી વોલ્યુમ: [નંબર]શું વિલંબની મર્યાદા છે: [એમએસ]તમે કિંમત અને જટિલતાના સંદર્ભમાં કોની ભલામણ કરશો અને શા માટે?
આ મોડેલ માટે રોલબેક પ્રક્રિયા લખો.- કયા મેટ્રિક/થ્રેશોલ્ડ નબળા પ્રદર્શનને ટ્રિગર કરે છે?- રોલબેક પગલાં શું છે?- રોલબેક કેટલો સમય લેવો જોઈએ (લક્ષ્ય)?- ઉત્પાદન પહેલાં હું આ પ્રક્રિયા કેવી રીતે ચકાસી શકું?
પ્રસ્તુતિ પેટર્ન ટેબલ
માપદંડ
ઑનલાઇન (વાસ્તવિક સમય)
બેચ
વિલંબ
જટિલ (ms)
નજીવા
ઉપયોગ
ત્વરિત પ્રતિભાવ જરૂરી છે
સામયિક સ્કોર
ખર્ચ
ઉચ્ચ
નીચું
જટિલતા
ઉચ્ચ
નીચું
ઉદાહરણ
જીવંત ભલામણ, કૌભાંડ
માસિક જોખમ સ્કોર
સામાન્ય ભૂલો
- પુનઃપ્રાપ્તિની યોજના વિના વિતરણ કરો. ખોટું મોડલ સમગ્ર વપરાશકર્તાને અસર કરે છે.
- સીધા 100% ટ્રાફિક માટે ખુલે છે. અટકેલા વિતરણ સાથે જોખમ મર્યાદિત કરો.
- મોનીટરીંગ સ્થાપિત નથી. મોડેલ ભૂલ વિના, શાંતિથી ભૂલો ઉત્પન્ન કરે છે.
- રીડન્ડન્ટ રીઅલ-ટાઇમ પ્રસ્તુતિ. જ્યારે બેચિંગ પૂરતું હોય છે, ત્યારે ખર્ચ અને જટિલતા વધે છે.
- મોડલ-ડેટા-કોડ સંસ્કરણોને લિંક કરી રહ્યાં નથી. તમે સમસ્યાનું પુનઃઉત્પાદન કરી શકતા નથી.
- વિતરણ થ્રેશોલ્ડ વિના સ્વચાલિત પ્રકાશન. ખરાબ મોડલ ચુપચાપ અંદર રહે છે.
સારાંશમાં
મોડેલને ઉત્પાદનમાં ખસેડવું એ તેને તાલીમ આપવા કરતાં અલગ અને ઘણીવાર વધુ મુશ્કેલ એન્જિનિયરિંગ કાર્ય છે. ML ને વધારાની શિસ્તની જરૂર છે કારણ કે તે કોડ-ડેટા-મોડલ ત્રણેય પર આધાર રાખે છે: પેકેજિંગ અને વર્ઝનિંગ, ડિલિવરી પેટર્ન (ઓનલાઈન/બેચ), જે વ્યવસાયની જરૂરિયાતને અનુરૂપ છે, ક્રમિક અને ઉલટાવી શકાય તેવું જમાવટ, થ્રેશોલ્ડ-નિયંત્રિત CI/CD અને મોડેલ નોંધણી. આર્ટિફિશિયલ ઇન્ટેલિજન્સ આ ઇન્ફ્રાસ્ટ્રક્ચરના કોડ અને કન્ફિગરેશનને જનરેટ કરવામાં શક્તિશાળી સહાયક છે; પરંતુ વિતરણ થ્રેશોલ્ડ, ક્લૉબેક નીતિ અને જોખમના નિર્ણયો તમારા છે. રોલબેક પ્લાન વિનાનું વિતરણ પૂર્ણ થતું નથી.
એપ્લિકેશન કાર્ય
એક મોડેલને કન્ટેનરાઇઝ કરો (ડોકર) અને તેને સંસ્કરણ લેબલ કરો. નક્કી કરો કે તમે તમારી વ્યવસાયિક જરૂરિયાતોને આધારે ઓનલાઈન ઑફર કરશો કે બેચ અને તમારું સમર્થન લખો. તબક્કાવાર જમાવટ યોજના (શેડો અથવા કેનેરી) અને પરીક્ષણ કરેલ રોલબેક પ્રક્રિયાને દસ્તાવેજ કરો. મોડલ રજિસ્ટ્રીમાં ડેટા વર્ઝન, કોડ કમિટ અને મૂલ્યાંકન સ્કોર્સ રેકોર્ડ કરવાની ખાતરી કરો.
ચેકલિસ્ટ
- [ ] મોડેલ પેકેજ્ડ અને વર્ઝન થયેલ છે (કન્ટેનર + લેબલ).
- પ્રેઝન્ટેશન પેટર્ન (ઓનલાઈન/બેચ) વ્યવસાયની જરૂરિયાત અનુસાર પસંદ કરવામાં આવી હતી.
- [ ] સ્ટેજ્ડ ડિપ્લોયમેન્ટ વ્યૂહરચના (શેડો/કેનેરી) લાગુ કરવામાં આવી.
- [] રોલબેક પ્રક્રિયા લેખિત અને પરીક્ષણ.
- [ ] CI/CD મૂલ્યાંકન થ્રેશોલ્ડ પૂર્ણ થાય તે પહેલાં જમાવટમાં આગળ વધતું નથી.
- મોડેલ રજિસ્ટ્રી ડેટા+કોડ+મેટ્રિક લિંક ધરાવે છે.