ትርፍ፡
- ከኮድ-ዳታ-ሞዴል ትሪዮ እና ፓኬጅ ጋር የተያያዙ የኤምኤል ልዩ ተግዳሮቶችን የማወቅ እና ሞዴሉን በመስመር ላይ ወይም በንግድ ፍላጎት መሰረት በቡድን የማቅረብ ችሎታ።
- አዝጋሚ እና ወደ ኋላ የመልሶ ማሰማራት ንድፎችን (ጥላ፣ ካናሪ፣ ኤ/ቢ፣ መልሶ መመለሻ) የመተግበር እና በእያንዳንዱ ማሰማራት ላይ የተፈተነ የመመለሻ እቅድ የመጨመር ችሎታ።
- የአምሳያው የውሂብ-ኮድ-ሜትሪክ ትስስር ወደ ምርት ውስጥ እንዲገባ የማድረግ ችሎታ በግምገማ ደረጃ ቁጥጥር በሚደረግ CI/ሲዲ እና የሞዴል መዝገብ
በማስታወሻ ደብተር ውስጥ 95% ትክክለኛነትን ለማግኘት ሞዴል ማግኘት የታሪኩ ግማሽ ብቻ ነው። ሌላኛው ግማሽ-ብዙውን ጊዜ አስቸጋሪው ክፍል - ያንን ሞዴል በአስተማማኝ፣ ሊሰፋ በሚችል እና ሊቆይ በሚችል መንገድ ለእውነተኛ ተጠቃሚዎች ማግኘት ነው። MLOps (የማሽን መማሪያ ክዋኔዎች፡ኤምኤል ሞዴሎችን ወደ ምርት የማስገባት፣ የማስኬጃ እና የመጠበቅ ዲሲፕሊን) የሶፍትዌር ምህንድስና የዴቭኦፕስ ልምዶችን ከኤምኤል ልዩ ፈተናዎች ጋር ያጣምራል። በዚህ ክፍል ውስጥ ሞዴሉን ወደ ምርት የማዛወር ደረጃዎችን እና በዚህ ሂደት ውስጥ አርቲፊሻል ኢንተለጀንስ እንዴት እንደሚረዳ እንሸፍናለን.
ለምንድን ነው ML ከመደበኛ ሶፍትዌር የሚለየው?
በተራ ሶፍትዌር ውስጥ, ባህሪው በኮዱ ውስጥ ነው; ኮዱ ካልተቀየረ ባህሪው አይለወጥም። በኤምኤል ውስጥ, ባህሪ በሁለቱም ኮድ, ውሂብ እና ሞዴል ላይ ይወሰናል. እነዚህ ሶስት ልኬቶች የMLOps ተጨማሪ ፈተናዎችን ይፈጥራሉ፡
- የውሂብ ተንሸራታች፡- በምርት ውስጥ ያለው መረጃ በጊዜ ሂደት በስልጠና ውስጥ ካለው መረጃ ይርቃል; ሞዴሉ ጊዜው ያለፈበት ይሆናል.
- ኮድ፣ ዳታ እና ሞዴል - ሶስቱንም ሶስት ነገሮችን መገልበጥ ያስፈልግዎታል።
- የዝምታ ብልሽት፡ አንድ ሞዴል ሳይበላሽ፣ ስህተት ሳይሰጥ፣ የተሳሳተ ትንበያ በማዘጋጀት ብቻ ሊወድቅ ይችላል። ይህንን ለመያዝ ክትትል ያስፈልገዋል.
ለዚህም ነው "በሚሰራ ሞዴል" እና "በምርት-ዝግጁ ሞዴል" መካከል ትልቅ ልዩነት ያለው።
ሞዴል ማሸግ እና ማቅረብ
ሞዴሉን ወደ ምርት ለማስገባት የመጀመሪያው እርምጃ ማሸግ ነው፡ የሞዴል ፋይል፣ አስፈላጊ ቤተ-መጻሕፍት፣ የቅድሚያ ኮድ እና የስሪት መረጃ በአጠቃላይ ሊባዛ ይችላል። ኮንቴይነር (ለምሳሌ ዶከር፡ አፕሊኬሽኑን በገለልተኛ ሣጥን ውስጥ ከጥገኛዎቹ ጋር ማስገባት) እዚህ መደበኛ ነው። "በእኔ ማሽን ላይ ይሠራ ነበር" የሚለውን ችግር ያስወግዳል.
ሞዴሉን ለማገልገል ሁለት መሠረታዊ ቅጦች:
- በመስመር ላይ/በእውነተኛ ጊዜ (በመስመር ላይ)፡ ሞዴሉ ከኤፒአይ ጀርባ ተቀምጧል፣ ለእያንዳንዱ ገቢ ጥያቄ ፈጣን ትንበያ ይመልሳል። ዝቅተኛ መዘግየት ወሳኝ ነው።
- ባች፡ ሞዴሉ ትላልቅ የውሂብ ስብስቦችን በየጊዜው ያካሂዳል (ለምሳሌ በምሽት ለሁሉም ደንበኞች ውጤት ያስገኛል)። መዘግየት አግባብነት የለውም, ቅልጥፍና አስፈላጊ ነው.
የትኛው ትክክል ነው በንግዱ ፍላጎት ላይ የተመሰረተ ነው፡- ፈጣን የመስመር ላይ ምክር፣ ወርሃዊ የአደጋ ነጥብ በምድብ።
ጠቃሚ ምክር፡ "እውነተኛ ጊዜ" ወጪ እንጂ ነባሪው አይደለም። ውጤቱ በሰዓታት ውስጥ ጥቅም ላይ የሚውል ከሆነ ባች በጣም ርካሽ እና ቀላል ነው። በእርግጥ ፈጣን መልስ ይፈልጋሉ? መጀመሪያ ያንን ይጠይቁ።
ደህንነቱ የተጠበቀ የስርጭት ስልቶች
አዲስ ሞዴል በቀጥታ ለሁሉም ትራፊክ መክፈት አደገኛ ነው; ስህተት ከሆነ ሁሉም ይጎዳል። ደህንነቱ የተጠበቀ የስርጭት ቅጦች;
- የጥላ ማሰማራት፡ አዲሱ ሞዴል የምርት ትራፊክን ይቀበላል፣ ነገር ግን ግምቶቹ ለተጠቃሚው አይታዩም ፣ ገብቷል ። በእውነተኛ ውሂብ ውስጥ ደህንነቱ የተጠበቀ መሆኑን ለማየት ከአሮጌው ሞዴል ጋር ተነጻጽሯል.
- የካናሪ ማሰማራት፡ አዲሱ ሞዴል መጀመሪያ ወደ አነስተኛ የትራፊክ መቶኛ (ለምሳሌ 5%) ተዘርግቷል፤ ምንም ችግር ከሌለ ቀስ በቀስ ይጨምራል.
- A/B ሙከራ፡- ሁለት ሞዴሎች ለእውነተኛ ተጠቃሚ በትይዩ ቀርበዋል እና የንግድ መለኪያዎች (ልወጣ፣ ጠቅታዎች) ይነጻጸራሉ።
- መልሶ መመለሻ፡ አዲሱ ሞዴል መጥፎ ሆኖ ከተገኘ በፍጥነት ወደ ቀድሞው ስሪት የመመለስ ችሎታ። እያንዳንዱ ማሰማራት የመመለሻ እቅድ ሊኖረው ይገባል።
ይጠንቀቁ፡ ያለ መልሶ ማገገሚያ እቅድ ማሰማራት አልተጠናቀቀም። በደቂቃዎች ውስጥ ወደ አሮጌው ስሪት መመለስ መቻል አዲሱ ሞዴል በምርት ላይ ያልተጠበቀ ባህሪ ሲፈጥር ተጠቃሚውን ይጠብቃል። ይህን ከመሰማራቱ በፊት ይሞክሩት።
ደካማ አቀራረብ / ጠንካራ አቀራረብ
ደካማ: "ሞዴሉ በሙከራ ላይ ጥሩ ነበር, በቀጥታ ሄድን, ለሁሉም ሰው ከፍተናል."
ጓክሉ: "ሞዴሉን ኮንቴይነር አድርገነዋል ፣ እንደ ስሪት ሰይመንበታል። በመጀመሪያ ፣ ትንበያውን ከአሮጌው ሞዴል ጋር በማነፃፀር ለ 3 ቀናት ያህል በምርት ትራፊክ በጥላ ሁነታ እንሮጥ ነበር - ማፈንገጥ ተቀባይነት አለው ። ከዚያ በ 5% ካናሪ ከፍተናል ፣ የግብአት መለኪያዎችን እና መዘግየትን ተቆጣጠርን። ምንም ችግሮች በማይኖሩበት ጊዜ በእጃችን ቀስ በቀስ ወደ 100% ትእዛዝ ጨምረናል።
ልዩነቱ: ጠንካራው አቀራረብ ቀስ በቀስ, የሚለካ እና የሚቀለበስ ነው. አደጋ በእያንዳንዱ እርምጃ የተገደበ ነው።
CI / ሲዲ እና አውቶማቲክ
CI/CD (ቀጣይ ውህደት/የማያቋርጥ ማሰማራት፡የቧንቧ መስመር በራስ ሰር የመፈተሽ እና የሚለቀቅ የኮድ ለውጦች) በኤምኤል ውስጥ ኮዱን ብቻ ሳይሆን ውሂቡን እና ሞዴል ደረጃዎችን ይሸፍናል። ጥሩ ML CI/CD pipeline፡ ኮዱ ሲቀየር ሙከራዎችን ያካሂዳል፣ የውሂብ ማረጋገጫን ያከናውናል፣ ሞዴሉን እንደገና ያሰለጥናል (አስፈላጊ ከሆነ)፣ የግምገማ ጣራዎችን ይፈትሻል፣ እና ድንበሮቹ ከያዙ ብቻ የማሰማራትን እድገት ያደርጋል። "ስልጠናው አውቶማቲክ ነው፣ መዘርጋት ደፍ ላይ የተመሰረተ" የሚለው መርህ መጥፎውን ሞዴል በፀጥታ ወደ ምርት እንዳይገባ ይከላከላል።
AI እነዚህን የቧንቧ መስመሮች በሚያዘጋጁበት ጊዜ በጣም ይረዳል-የማዋቀሪያ ፋይል (YAML) ረቂቆችን, የሙከራ ጉዳዮችን, የማሰማራት ስክሪፕቶችን መጻፍ. ነገር ግን የስርጭት ገደቦችን (የትኛውም መለኪያ ከየትኛው እሴት ከታተመ) እና የመመለሻ ፖሊሲን ይወስናሉ፤ እነዚህ የንግድ አደጋ ውሳኔዎች ናቸው.
የመራቢያ መሠረተ ልማት
የአንድን ሞዴል ባህሪ በምርት ላይ ለማባዛት የሞዴል መዝገብ፡ የትኛው ሞዴል በየትኛው መረጃ እና ኮድ እንደሰለጠነ እና በየትኞቹ መለኪያዎች እንደተቀበለው የሚይዝ መዝገብ። ለእያንዳንዱ የምርት ሞዴል፣ የሚከተለው ክትትል የሚደረግበት መሆን አለበት፡ የሥልጠና ዳታ ሥሪት፣ ኮድ ሥሪት (ጂት ቁርጠኝነት)፣ hyperparameters፣ የግምገማ ውጤቶች እና የተሰማራበት ቀን። ችግር በሚፈጠርበት ጊዜ "ይህን ትንበያ የፈጠረው ሞዴል በየትኛው ውሂብ ነው?" ለሚለው ጥያቄ መልስ መስጠት አለብዎት. በደቂቃዎች ውስጥ. ይህንን በክፍል 11 ውስጥ እናሰፋዋለን።
ሶስት ጥቃቅን ጉዳዮች
ጉዳይ 1 - በጥላ ስርጭቱ የተያዘ ችግር. የምክር ሞዴል አሮጌውን በሙከራ አሸንፏል። በጥላ ሁነታ ውስጥ በምርት ትራፊክ ማስኬድ ለአንድ የተወሰነ የተጠቃሚ ክፍል (አዲስ ተጠቃሚዎች) በጣም ደካማ ምክሮችን ሲያቀርብ ተገኝቷል - የሙከራ መረጃው የዚህን ክፍል ዝቅተኛ ወካይ ነበር። ሞዴሉ ለተጠቃሚው ሳይታይ ተስተካክሏል። በቀጥታ ከተከፈተ አዲሱ የተጠቃሚ ተሞክሮ ይስተጓጎላል።
ጉዳይ 2 - የማይሻር ስርጭት. አንድ ቡድን አዲስ የዋጋ አሰጣጥ ሞዴል ለሁሉም ትራፊክ አውጥቷል፣ ምንም የመመለሻ ዕቅዶች አልነበረውም። ሞዴሉ ባልተጠበቀ ሁኔታ አንዳንድ ምርቶችን በጣም ርካሽ ዋጋ አስከፍሏል. ወደ አሮጌው ስሪት መመለስ ሂደቱ ዝግጁ ስላልሆነ ሰዓታትን ፈጅቷል። ከፍተኛ የገቢ ኪሳራ ደረሰ። ከዚያ በኋላ፣ የግዴታ የመመለሻ ሙከራ በእያንዳንዱ ማሰማራት ላይ ታክሏል።
ጉዳይ 3 - ጸጥ ያለ የውሂብ ተንሸራታች። ምንም ስህተት ሳይኖር የማጭበርበር ዘዴ ለወራት ታየ። ነገር ግን የአጭበርባሪዎቹ ስልቶች ተለወጠ (የውሂብ ተንሸራታች) እና የአምሳያው ማስታወሻ በጸጥታ ወድቋል። ክትትል ስለሌለ ማንም አላስተዋለም። አንዴ የትንበያ ስርጭት መከታተያ ፓነል ከተቋቋመ ተንሳፋፊው ቀደም ብሎ ታየ። በክፍል 8 ውስጥ ክትትልን እንሸፍናለን.
ሊገለበጡ የሚችሉ አብነቶች
ለዚህ ሞዴል ረቂቅ የማሰማራት እቅድ ይጻፉ። ሞዴል፡ [ምን እንደሚሰራ]፣ አጠቃቀም፡ [ኦንላይን ወይስ ባች?] ማካተት ያለበት፡1) ማሸግ (ኮንቴይነር፣ ስሪት) 2) የመጨመር ስልት (ጥላ/ካናሪ/ኤ-ቢ) እና ለምን 3) ለመከታተል መለኪያዎች (ንግድ + ቴክኒካል + መዘግየት) 4) የመመለሻ እቅድ እና እንዴት መሞከር እንደሚቻል 5) የማሰማራት ገደቦች ከየትኛው ይበልጣል
ይህንን ML CI/CD pipeline ፈትሽ፡ 1) የውሂብ ማረጋገጫ በመስመሩ ላይ አለ ወይ?2) ማሰማራቱ የግምገማ ጣራ ሳይዝ ሊቀጥል ይችላል (መሆኑ የለብንም)?3) መልሶ መመለሻ አውቶማቲክ ነው?4) ዳታ+ኮድ+ሜትሪክስ በአምሳያው መዝገብ ውስጥ ይከተላሉ?የፕላን ውቅረት፡ [config]
ኦንላይን ወይም ባች ማቅረቢያ ለዚህ ሞዴል ተስማሚ መሆኑን እንድወስን እርዳኝ። ውጤቱ ለምን ያህል ጊዜ ጥቅም ላይ ይውላል: [ፈጣን / ደቂቃ / ሰዓት / ቀን] የሚጠበቀው የጥያቄ መጠን: [ቁጥር] የመዘግየት ገደብ አለ: [ms] ከዋጋ እና ውስብስብነት አንፃር የትኛውን ይመክራሉ እና ለምን?
ለዚህ ሞዴል የመመለሻ ሂደትን ይፃፉ - ደካማ አፈፃፀምን የሚቀሰቅሰው ሜትሪክ/ገደብ ምንድን ነው? - የመመለሻ እርምጃዎች ምንድ ናቸው? - መልሶ መመለስ (ዒላማ) ለምን ያህል ጊዜ ሊወስድ ይገባል? - ይህንን ሂደት ከምርት በፊት እንዴት እሞክራለሁ?
የአቀራረብ ንድፍ ሰንጠረዥ
መስፈርት
በመስመር ላይ (በእውነተኛ ጊዜ)
ባች
መዘግየት
ወሳኝ (ሚሴ)
ኢምንት
አጠቃቀም
ፈጣን ምላሽ ያስፈልጋል
ወቅታዊ ነጥብ
ወጪ
ከፍተኛ
ዝቅተኛ
ውስብስብነት
ከፍተኛ
ዝቅተኛ
ምሳሌ
የቀጥታ ምክር፣ ማጭበርበር
ወርሃዊ የአደጋ ነጥብ
የተለመዱ ስህተቶች
- የመልሶ ማግኛ እቅድ ሳይኖር ያሰራጩ። የተሳሳተ ሞዴል መላውን ተጠቃሚ ይነካል።
- በቀጥታ ወደ 100% ትራፊክ በመክፈት ላይ። በደረጃ ስርጭት አደጋን ይገድቡ።
- ክትትል አለመመስረት። ሞዴሉ ስህተቶችን በፀጥታ ያዘጋጃል, ያለምንም ስህተት.
- ተደጋጋሚ ቅጽበታዊ አቀራረብ። መጋገር በቂ ሆኖ ሳለ ወጪ እና ውስብስብነት ያብጣል።
- የሞዴል-የውሂብ-ኮድ ስሪቶችን አያገናኝም። ችግሩን እንደገና ማባዛት አይችሉም.
- የስርጭት ገደብ ሳይኖረው በራስ-ሰር መልቀቅ። መጥፎው ሞዴል በፀጥታ ሾልኮ ይሄዳል።
በማጠቃለያው
ሞዴሉን ወደ ምርት ማዛወር ከማሰልጠን የተለየ እና ብዙ ጊዜ አስቸጋሪ የምህንድስና ስራ ነው። ኤምኤል ተጨማሪ ተግሣጽ ያስፈልገዋል ምክንያቱም በኮድ-ዳታ-ሞዴል ትሪዮ ላይ የተመሰረተ ነው፡ ማሸግ እና ስሪት ማውጣት፣ ለንግድ ፍላጎት የሚስማማ መላኪያ ንድፍ (ኦንላይን/ባች)፣ ቀስ በቀስ እና ሊቀለበስ የሚችል ማሰማራት፣ ደፍ-ቁጥጥር CI/ሲዲ እና የሞዴል ምዝገባ። አርቲፊሻል ኢንተለጀንስ የዚህን መሠረተ ልማት ኮድ እና ውቅር ለመፍጠር ኃይለኛ እርዳታ ነው; ነገር ግን የስርጭት ገደቦች፣ የክላቭ ፖሊሲ እና የአደጋ ውሳኔዎች የእርስዎ ናቸው። የመመለሻ ዕቅድ ያለ ስርጭት አልተጠናቀቀም።
የመተግበሪያ ተግባር
ኮንቴይነር (Docker) ሞዴል እና ስሪቱን ሰይመው። በንግድ ፍላጎቶችዎ መሰረት በመስመር ላይ ወይም ባች ለማቅረብ ይወስኑ እና ማረጋገጫዎን ይፃፉ። ደረጃውን የጠበቀ የማሰማራት እቅድ (ጥላ ወይም ካናሪ) እና የተፈተነ የመመለሻ ሂደትን ይመዝግቡ። በአምሳያው መዝገብ ውስጥ የውሂብ ስሪቱን፣ የኮድ ቁርጠኝነትን እና የግምገማ ውጤቶችን መመዝገብዎን ያረጋግጡ።
የማረጋገጫ ዝርዝር
- [] ሞዴሉ የታሸገ እና ስሪት ያለው (ኮንቴይነር + መለያ) ነው።
- [] የአቀራረብ ንድፍ (ኦንላይን/ባች) በንግድ ፍላጎት መሰረት ተመርጧል።
- [] የተደራጀ የማሰማራት ስልት (ጥላ/ካናሪ) ተተግብሯል።
- [] የመመለሻ ሂደት ተጽፏል እና ተፈትኗል።
- [] CI/ሲዲ የግምገማው ገደብ ከመሙላቱ በፊት መሰማራትን አያቀድም።
- [ ] የሞዴል መዝገብ ቤት ዳታ+ኮድ+ሜትሪክ ማገናኛን ይይዛል።