MLOps: Machine Learning әлеміндегі DevOps

2018 жылы кәсіби үйірмелерде және AI-ға арналған тақырыптық конференцияларда MLOps тұжырымдамасы пайда болды, ол салада тез орын алды және қазір тәуелсіз бағыт ретінде дамып келеді. Болашақта MLOps IT саласындағы ең сұранысқа ие салалардың біріне айналуы мүмкін. Бұл не және ол немен жейді, біз кесудің астында түсінеміз.

MLOps: Machine Learning әлеміндегі DevOps

MLOps дегеніміз не

MLOps (машиналық оқытудың технологиялары мен процестерінің және әзірленген үлгілерді бизнес-процестерге енгізу тәсілдерінің біріктірілуі) жасанды интеллект жүйелерін құруда бизнес өкілдері, ғалымдар, математиктер, машиналық оқыту мамандары және IT инженерлері арасындағы ынтымақтастықтың жаңа тәсілі болып табылады.

Басқаша айтқанда, бұл машиналық оқыту әдістері мен технологияларын бизнес мәселелерін шешудің пайдалы құралына айналдыру тәсілі. 

Сіз өнімділік тізбегі модельді әзірлеуден көп бұрын басталатынын түсінуіңіз керек. Оның бірінші қадамы бизнес мақсатын, деректерден алуға болатын құндылық туралы гипотезаны және оны қолданудың бизнес-идеясын анықтау болып табылады. 

MLOps тұжырымдамасының өзі модельдер мен машиналық оқыту технологияларына қатысты DevOps тұжырымдамасына ұқсастық ретінде пайда болды. DevOps - үздіксіз әзірлеуді, функцияларды бірқатар тәуелсіз микросервистерге бөлуді, автоматтандырылған тестілеуді және жеке өзгерістерді енгізуді, жаһандық өзгерістерді қоса алғанда, бірқатар тәсілдер арқылы икемділік пен сенімділікті сақтай отырып, жеке өзгерістердің жылдамдығын арттыруға мүмкіндік беретін бағдарламалық жасақтаманы әзірлеу тәсілі. денсаулықты бақылау, анықталған ақауларға жылдам әрекет ету жүйесі және т.б. 

DevOps бағдарламалық жасақтаманың өмірлік циклін анықтады және бағдарламалық жасақтама қауымдастығында үлкен деректерге бірдей әдісті қолдану идеясы пайда болды. DataOps - әртүрлі және өзара әрекеттесетін платформаларда үлкен көлемдегі деректерді сақтау, беру және өңдеу ерекшеліктерін ескере отырып, әдістемені бейімдеу және кеңейту әрекеті.
  
Кәсіпорындардың бизнес-процестеріне енгізілген машиналық оқыту модельдерінің белгілі бір сыни массасының пайда болуымен машиналық оқытудың математикалық модельдерінің өмірлік циклі мен бағдарламалық жасақтаманың өмірлік циклі арасында күшті ұқсастық байқалды. Жалғыз айырмашылығы, модель алгоритмдері машиналық оқыту құралдары мен әдістері арқылы жасалады. Сондықтан, машиналық оқыту үлгілері үшін бағдарламалық жасақтаманы әзірлеуге бұрыннан белгілі тәсілдерді қолдану және бейімдеу идеясы табиғи түрде пайда болды. Осылайша, машиналық оқыту модельдерінің өмірлік циклінде келесі негізгі кезеңдерді бөлуге болады:

  • бизнес-идеяны анықтау;
  • үлгілік оқыту;
  • бизнес-процеске модельді тестілеу және енгізу;
  • модельдік жұмыс.

Жұмыс кезінде жаңа деректер бойынша үлгіні өзгерту немесе қайта даярлау қажет болғанда, цикл жаңадан басталады - модель аяқталады, сыналады және жаңа нұсқасы қолданылады.

Шегіну. Неліктен қайта тәрбиелеу керек, қайта тәрбиелеу емес? «Модельді қайта даярлау» терминінің екі жақты түсіндірмесі бар: мамандар арасында бұл модельдің ақауын білдіреді, егер модель жақсы болжаса, шын мәнінде оқу жиынында болжанған параметрді қайталайды, бірақ сыртқы деректер жиынтығында әлдеқайда нашар жұмыс істейді. Әрине, мұндай модель ақау болып табылады, өйткені бұл ақау оны қолдануға мүмкіндік бермейді.

Бұл өмірлік циклде DevOps құралдарын пайдалану қисынды болып көрінеді: автоматтандырылған тестілеу, орналастыру және бақылау, модельді есептеуді жеке микросервис ретінде тіркеу. Бірақ қосымша ML-байлаусыз бұл құралдарды тікелей пайдалануға кедергі болатын бірқатар мүмкіндіктер бар.

MLOps: Machine Learning әлеміндегі DevOps

Модельдерді қалай жұмыс істеуге және пайда табуға болады

Мысал ретінде, біз MLOps әдісін қолдануды көрсететін боламыз, біз банктік (немесе кез келген басқа) өнімге қолдау көрсету чатын роботтандырудың классикалық міндетін аламыз. Әдеттегі чатты қолдау бизнес процесі келесідей: тұтынушы чатта сұрақты енгізеді және алдын ала анықталған диалогтық терезеде маманнан жауап алады. Мұндай чатты автоматтандыру міндеті, әдетте, әзірлеу және қолдау өте қиын болатын, сарапшылықпен анықталған ережелер жиынтығының көмегімен шешіледі. Мұндай автоматтандырудың тиімділігі тапсырманың күрделілік деңгейіне байланысты 20-30% болуы мүмкін. Әрине, жасанды интеллект модулін - машиналық оқытуды қолдана отырып әзірленген модельді енгізу тиімдірек деген идея туындайды:

  • оператордың қатысуынсыз көбірек сұраныстарды өңдеу мүмкіндігі (тақырыпқа байланысты кейбір жағдайларда тиімділік 70-80% жетуі мүмкін);
  • диалогта стандартты емес тұжырымдарға жақсырақ бейімделеді - түсініксіз тұжырымдалған сұранысқа пайдаланушының ниетін, шынайы тілегін анықтай алады;
  • модельдің жауабы қай кезде адекватты екенін және осы жауаптың «санасына» күмән туындағанда және қосымша нақтылау сұрағын қою немесе операторға ауысу қажет екенін анықтай алады;
  • автоматты түрде қайта даярлауға болады (жауап сценарийлерін үнемі бейімдейтін және түзететін әзірлеушілер тобының орнына, модельді машиналық оқытудың сәйкес кітапханаларын пайдаланып Data Scientist қайта оқытады). 

MLOps: Machine Learning әлеміндегі DevOps

Мұндай жетілдірілген үлгіні қалай жұмыс істеуге болады? 

Кез келген басқа тапсырманы шешудегі сияқты, мұндай модульді әзірлемес бұрын, бизнес-процесті анықтап, машиналық оқыту әдісін қолдану арқылы шешетін нақты тапсырманы ресми түрде сипаттау қажет. Осы кезде Ops аббревиатурасымен белгіленген операциялау процесі басталады. 

Келесі қадам - ​​деректер зерттеушісі деректер инженерімен бірлесіп, деректердің қолжетімділігі мен жеткіліктілігін және бизнес-идеяның іске асырылуы туралы бизнес гипотезасын тексереді, модельдің прототипін жасайды және оның нақты тиімділігін тексереді. Модельді әзірлеуден оны белгілі бір бизнес-процесті орындайтын жүйелерге енгізуге көшу тек бизнеспен расталғаннан кейін басталуы мүмкін. Іске асыруды түпкілікті жоспарлау, модельдің қалай қолданылатынын және оның қандай экономикалық нәтиже беретінін терең түсіну компанияның технологиялық ландшафтына MLOps тәсілдерін енгізу процестеріндегі негізгі сәт болып табылады.

AI технологияларының дамуымен машиналық оқытудың көмегімен шешуге болатын тапсырмалардың саны мен әртүрлілігі көшкін сияқты артып келеді. Әрбір осындай бизнес-процесс компанияны жаппай лауазымдар қызметкерлерінің жұмысын автоматтандыру арқылы (колл-орталық, құжаттарды тексеру және сұрыптау және т. ресурстарды пайдалану және қайта бөлу және т.б. Сайып келгенде, кез келген процесс құндылық жасауға бағытталған және нәтижесінде белгілі бір экономикалық нәтиже беруі керек. Мұнда бизнес-идеяны нақты тұжырымдау және компанияның құнды құрудың жалпы құрылымында модельді жүзеге асырудан күтілетін пайданы есептеу өте маңызды. Модельді енгізу өзін ақтамайтын жағдайлар бар және машиналық оқыту мамандарының жұмсайтын уақыты осы тапсырманы орындайтын оператордың жұмыс орнынан әлдеқайда қымбат. Сондықтан АИ жүйелерін құрудың бастапқы кезеңінде мұндай жағдайларды анықтауға тырысу қажет.

Демек, модельдер MLOps процесінде бизнес тапсырмасы дұрыс тұжырымдалып, басымдықтар белгіленіп, модельді жүйеге енгізу процесі дамудың бастапқы кезеңдерінде тұжырымдалғанда ғана пайда әкеле бастайды.

Жаңа процесс – жаңа міндеттер

Мәселелерді шешуде ML үлгілері қаншалықты қолданылатыны туралы іргелі іскерлік сұраққа толық жауап, AI-ға сенім туралы жалпы сұрақ MLOps тәсілдерін әзірлеу мен енгізудегі негізгі қиындықтардың бірі болып табылады. Бастапқыда бизнес процестерге машиналық оқытуды енгізуге күмәнмен қарайды - әдетте адамдар бұрын жұмыс істеген жерлерде үлгілерге сену қиын. Бизнес үшін бағдарламалар «қара жәшік» болып көрінеді, олардың жауаптарының өзектілігі әлі де дәлелденуі керек. Сонымен қатар, банк саласында, байланыс операторларының бизнесінде және басқаларында мемлекеттік реттеушілердің қатаң талаптары бар. Банктік процестерге енгізілген барлық жүйелер мен алгоритмдер аудитке жатады. Бұл мәселені шешу үшін бизнес пен реттеушілерге жасанды интеллект жауаптарының негізділігі мен дұрыстығын дәлелдеу үшін модельмен бірге бақылау құралдары да енгізілуде. Бұдан басқа, Орталық банктің талаптарына сәйкес келетін реттеуші модельдер үшін міндетті тәуелсіз валидация процедурасы бар. Тәуелсіз сарапшылық топ кіріс мәліметтерді ескере отырып, үлгі бойынша алынған нәтижелерді тексереді.

Екінші міндет - машиналық оқыту моделін енгізу кезінде үлгі тәуекелдерін бағалау және қарастыру. Егер адам бұл көйлек ақ немесе көк болды ма деген сұраққа нақты жауап бере алмаса да, жасанды интеллект қателесуге құқылы. Деректер уақыт өте келе өзгеретінін және жеткілікті дәл нәтиже алу үшін үлгілерді қайта даярлау қажет екенін ескерген жөн. Бизнес-процесс зардап шекпеуі үшін үлгілік тәуекелдерді басқару және үлгінің өнімділігін бақылау, оны жаңа деректер бойынша жүйелі түрде қайта даярлау қажет.

MLOps: Machine Learning әлеміндегі DevOps

Бірақ сенімсіздіктің бірінші кезеңінен кейін кері әсер пайда бола бастайды. Процестерге неғұрлым көп модельдер сәтті енгізілсе, соғұрлым бизнестің жасанды интеллектті қолдануға деген тәбеті арта түседі – машиналық оқыту әдістерін қолдану арқылы шешуге болатын жаңа және жаңа міндеттер бар. Әрбір тапсырма белгілі бір құзыреттерді талап ететін тұтас процесті бастайды:

  • деректер инженерлері деректерді дайындайды және өңдейді;
  • деректер ғалымдары машиналық оқыту құралдарын қолданады және үлгіні әзірлейді;
  • АТ модельді жүйеге енгізеді;
  • ML инженері осы модельді процеске қалай дұрыс біріктіру керектігін, сұраныстар ағынын, жауап беру уақытын және т.б. ескере отырып, модельді қолдану режиміне қойылатын талаптарға байланысты қандай АТ құралдарын пайдалану керектігін анықтайды. 
  • ML сәулетшісі бағдарламалық өнімді өнеркәсіптік жүйеде физикалық түрде қалай енгізуге болатынын жобалайды.

Бүкіл цикл жоғары білікті мамандардың үлкен санын талап етеді. Белгілі бір даму кезеңінде және ML модельдерінің бизнес-процестерге ену дәрежесінде, мамандар санын тапсырмалар санының өсуіне пропорционалды сызықтық масштабтау қымбатқа түседі және тиімсіз болады. Сондықтан, MLOps процесін автоматтандыру мәселесі туындайды - машиналық оқыту мәселелерінің бірнеше стандартты кластарын анықтау, деректерді өңдеудің типтік конвейерлерін әзірлеу және қайта даярлау үлгілері. Идеал суретте мұндай мәселелерді шешу үшін BigData, Data Science, DevOps және IT түйіскен жеріндегі құзыреттерді бірдей меңгерген мамандар қажет. Сондықтан, Data Science индустриясындағы ең үлкен мәселе және MLOps процестерін ұйымдастырудағы ең үлкен қиындық - қазіргі оқыту нарығында мұндай құзыреттің болмауы. Мұндай талаптарға сай келетін мамандар қазіргі таңда еңбек нарығында сирек кездеседі және олардың құны алтынмен бағаланады.

Құзыреттілік мәселесіне

Теориялық тұрғыдан, барлық MLOps тапсырмаларын классикалық DevOps құралдарымен және мамандандырылған рөлдік үлгі кеңейтіміне жүгінбестен шешуге болады. Содан кейін, жоғарыда атап өткеніміздей, деректер ғалымы тек математик және деректер талдаушысы ғана емес, сонымен қатар бүкіл құбырдың гурусы болуы керек - сәулет әзірлеу, архитектураға байланысты бірнеше тілде бағдарламалау модельдері, деректер маркетін дайындау және орналастыру иығына түседі.қосымшаның өзі. Дегенмен, MLOps процесінде жүзеге асырылатын технологиялық байланыстыруды құру еңбек шығындарының 80% -ын алады, бұл жоғары сапалы деректер ғалымы болып табылатын білікті математик тек 20% жұмсайды дегенді білдіреді. өз мамандығына уақыт. Сондықтан машиналық оқыту үлгілерін енгізу процесін жүзеге асыратын мамандардың рөлдерін саралау өмірлік маңызды болып табылады. 

Рөлдерді қаншалықты егжей-тегжейлі бөлу керектігі кәсіпорынның көлеміне байланысты. Стартаптың бір маманы, энергетиктер резервіндегі жұмысшысы, инженері, сәулетшісі және DevOps-тың өз бетінше болуы бір бөлек. Ірі кәсіпорында модельді әзірлеудің барлық процестері бірнеше жоғары деңгейлі деректер ғалымдарына шоғырланған кезде, бағдарламашы немесе дерекқор маманы - еңбек нарығында кең таралған және арзанырақ құзыреттілік - бұл мүлдем басқа мәселе. күнделікті тапсырмалардың көпшілігі.

Осылайша, шекара MLOps процесін қамтамасыз ету үшін мамандарды таңдауда және әзірленген үлгілерді пайдалану процесі қалай ұйымдастырылғандығы әзірленген модельдердің жылдамдығы мен сапасына, ұжымның өнімділігіне және ондағы микроклиматқа тікелей әсер етеді.

Біздің команда қазірдің өзінде не істеді

Біз жақында құзыреттілік шеңберін және MLOps процестерін құруды бастадық. Бірақ қазірдің өзінде үлгілердің өмірлік циклін басқару және үлгілерді қызмет ретінде пайдалану бойынша жобаларымыз MVP тестілеу сатысында.

Біз сондай-ақ ірі кәсіпорын үшін құзыреттердің оңтайлы құрылымын және процестің барлық қатысушыларының өзара әрекеттесуінің ұйымдық құрылымын анықтадық. Іскерлік тұтынушылардың барлық спектрі үшін мәселелерді шешу үшін Agile топтары ұйымдастырылды және салынып жатқан MLOps ғимаратының негізі болып табылатын платформалар мен инфрақұрылымды құру үшін жобалық топтармен өзара әрекеттесу процесі құрылды.

Болашаққа арналған сұрақтар

MLOps - бұл құзыреттілік жетіспейтін және болашақта қарқын алатын өсіп келе жатқан сала. Әзірге DevOps әзірлемелері мен тәжірибелеріне сүйенген дұрыс. MLOps негізгі мақсаты бизнес мәселелерін шешу үшін ML үлгілерін тиімдірек пайдалану болып табылады. Бірақ бұл көптеген сұрақтар тудырады:

  • Модельдерді өндірісте іске қосу уақытын қалай қысқартуға болады?
  • Әртүрлі құзырлы командалар арасындағы бюрократиялық үйкелісті қалай азайтуға және ынтымақтастыққа назар аударуды арттыруға болады?
  • Модельдерді қалай қадағалауға, нұсқаларды басқаруға және тиімді мониторингті ұйымдастыруға болады?
  • Заманауи ML үлгісі үшін шын мәнінде айналмалы өмірлік циклді қалай жасауға болады?
  • Машиналық оқыту процесін қалай стандарттауға болады?

Бұл сұрақтарға жауаптар негізінен MLOps оның толық әлеуетін қаншалықты тез ашатынын анықтайды.

Ақпарат көзі: www.habr.com

пікір қалдыру