MLOps: DevOps у свеце Machine Learning

У 2018 годзе ў прафесійных колах і на тэматычных канферэнцыях, прысвечаных AI, з'явілася паняцце MLOps, якое хутка замацавалася ў галіны і зараз развіваецца як самастойны напрамак. У даляглядзе MLOps можа стаць адной з найболей запатрабаваных сфер у IT. Што ж гэта такое і з чым яго ядуць, разбіраемся пад катом.

MLOps: DevOps у свеце Machine Learning

Што такое MLOps

MLOps (аб'яднанне тэхналогій і працэсаў машыннага навучання і падыходаў да ўкаранення распрацаваных мадэляў у бізнес-працэсы) - гэта новы спосаб супрацоўніцтва паміж прадстаўнікамі бізнесу, вучонымі, матэматыкамі, спецыялістамі ў галіне машыннага навучання і IT-інжынерамі пры стварэнні сістэм штучнага інтэлекту.

Іншымі словамі, гэта спосаб ператварэння метадаў і тэхналогій машыннага навучання ў карысную прыладу для рашэнняў задач бізнэсу. 

Трэба разумець, што ланцужок прадуктыўізацыі пачынаецца задаўга да распрацоўкі мадэлі. Яе першым крокам з'яўляецца вызначэнне задачы бізнесу, гіпотэзы аб каштоўнасці, якую можна атрымаць з дадзеных, і бізнес-ідэі па яе прымяненні. 

Само паняцце MLOps паўстала як аналогія паняцця DevOps у дачыненні да мадэляў і тэхналогіям машыннага навучання. DevOps – гэта падыход да распрацоўкі ПЗ, які дазваляе падвысіць хуткасць укаранення асобных змен пры захаванні гнуткасці і надзейнасці з дапамогай шэрагу падыходаў, сярод якіх бесперапынная распрацоўка, падзел функцый на шэраг незалежных мікрасэрвісаў, аўтаматызаванае тэставанне і дэплоймент асобных змен, глабальны маніторынг працаздольнасці, сістэма аператыўнага рэагавання на выяўленыя збоі і інш. 

DevOps вызначыў жыццёвы цыкл праграмнага забеспячэння і ў супольнасці спецыялістаў узнікла ідэя выкарыстоўваць тую ж методыку ў дачыненні да вялікіх дадзеных. DataOps – спроба адаптаваць і пашырыць методыку з улікам асаблівасцяў захоўвання, перадачы і апрацоўкі вялікіх масіваў дадзеных у разнастайных і якія ўзаемадзейнічаюць сябар з сябрам платформах.
  
Са з'яўленнем вызначанай крытычнай масы мадэляў машыннага навучання, укаранёных у бізнэс-працэсы прадпрыемстваў, было заўважана моцнае падабенства жыццёвага цыклу матэматычных мадэляў машыннага навучання і жыццёвага цыклу ПЗ. Розніца толькі ў тым, што алгарытмы мадэляў ствараюцца пры дапамозе інструментаў і метадаў машыннага навучання. Таму натуральным чынам узнікла ідэя прымяніць і адаптаваць для мадэляў машыннага навучання ўжо вядомыя падыходы да распрацоўкі ПЗ. Такім чынам, у жыццёвым цыкле мадэляў машыннага навучання можна вылучыць наступныя ключавыя этапы:

  • вызначэнне бізнес-ідэі;
  • навучанне мадэлі;
  • тэсціраванне і ўкараненне мадэлі ў бізнес-працэс;
  • эксплуатацыя мадэлі.

Калі падчас эксплуатацый узнікае неабходнасць змяніць або данавучыць мадэль на новых дадзеных, цыкл запускаецца зноўку - мадэль дапрацоўваецца, тэстуецца, і дэплоіцца новая версія.

Адступленне. Чаму данавучыць, а не перанавучыць? Тэрмін «перанавучанне мадэлі» мае дваякае тлумачэнне: сярод адмыслоўцаў ён азначае дэфект мадэлі, калі мадэль добра прадказвае, фактычна паўтарае прагназуемы параметр на навучальнай выбарцы, але значна горш працуе на вонкавай выбарцы дадзеных. Натуральна, такая мадэль з'яўляецца шлюбам, паколькі гэты дэфект не дазваляе яе прымяняць.

У гэтым жыццёвым цыкле выглядае лагічным выкарыстанне DevOps-інструментаў: аўтаматызаванае тэсціраванне, дэплоймент і маніторынг, афармленне разліку мадэляў у выглядзе асобных мікрасэрвісаў. Але ёсць і шэраг асаблівасцяў, якія перашкаджаюць прамому ўжыванню гэтых прылад без дадатковай ML-абвязкі.

MLOps: DevOps у свеце Machine Learning

Як прымусіць мадэлі працаваць і прыносіць прыбытак

У якасці прыкладу, на якім мы прадэманструем ужыванне падыходу MLOps, возьмем сталую класічнай задачу рабатызацыі чата падтрымкі банкаўскага (або любога іншага) прадукта. Звычайна бізнес-працэс падтрымкі з дапамогай чата выглядае наступным чынам: кліент уводзіць у чаце паведамленне з пытаннем і атрымлівае адказ спецыяліста ў рамках загадзя вызначанага дрэва дыялогаў. Задача аўтаматызацыі такога чата звычайна вырашаецца з дапамогай экспертна вызначаных набораў правіл, вельмі працаёмкіх у распрацоўцы і суправаджэнні. Эфектыўнасць такой аўтаматызацыі, у залежнасці ад узроўня складанасці задачы, можа складаць 20-30%. Натуральна, узнікае ідэя, што схаднейшым з'яўляецца ўкараненне модуля штучнага інтэлекту — мадэлі, распрацаванай з дапамогай машыннага навучання, якая:

  • здольная апрацаваць без удзелу аператара большую колькасць запытаў (у залежнасці ад тэмы, у некаторых выпадках эфектыўнасць можа дасягаць 70-80%);
  • лепш адаптуецца пад нестандартныя фармулёўкі ў дыялогу - умее вызначаць інтэнт, рэальнае жаданне карыстальніка па не дакладна сфармуляваным запыце;
  • умее вызначаць, калі адказ мадэлі адэкватны, а калі ў якасці «ўсвядомленасці» гэтага адказу ёсць сумневы і трэба задаць дадатковае ўдакладняючае пытанне ці пераключыцца на аператара;
  • можа быць данавучаны аўтаматызавана (замест групы распрацоўшчыкаў, якія пастаянна адаптуюць і карэкціруюць сцэнары адказаў, мадэль данавучае спецыяліст па Data Science, ужываючы адпаведныя бібліятэкі машыннага навучання). 

MLOps: DevOps у свеце Machine Learning

Як прымусіць такую ​​прасунутую мадэль працаваць? 

Як і пры рашэнні любой іншай задачы, перш чым распрацоўваць такі модуль, неабходна вызначыць бізнэс-працэс і фармальна апісаць пэўную задачу, якую мы будзем вырашаць з ужываннем метаду машыннага навучання. У гэтай кропцы і пачынаецца працэс аперацыяналізацыі, пазначаны ў абрэвіятуры Ops. 

Наступным крокам спецыяліст Data science у супрацоўніцтве з інжынерам па дадзеных правярае даступнасць і дастатковасць дадзеных і гіпотэзу бізнэсу аб працаздольнасці бізнэс-ідэі, распрацоўваючы прататып мадэлі і правяраючы яе фактычную эфектыўнасць. Толькі пасля пацверджання бізнэсам можа пачынацца пераход ад распрацоўкі мадэлі да ўбудавання яе ў сістэмы, якія выконваюць пэўны бізнэс-працэс. Скразное планаванне ўкаранення, глыбокае разуменне на кожным этапе, як мадэль будзе выкарыстоўвацца і які эканамічны эфект яна прынясе, з'яўляецца асноватворным момантам у працэсах укаранення падыходаў MLOps у тэхналагічны ландшафт кампаніі.

З развіццём тэхналогій ІІ лавінападобна павялічваецца колькасць і разнастайнасць задач, якія могуць быць вырашаны пры дапамозе машыннага навучання. Кожны такі бізнес-працэс - гэта эканомія кампаніі за кошт аўтаматызацыі працы супрацоўнікаў масавых пазіцый (кол-цэнтр, праверка і сартаванне дакументаў і т. п.), гэта пашырэнне кліенцкай базы за кошт дадання новых прывабных і зручных функцый, эканомія сродкаў за кошт аптымальнага іх выкарыстання і пераразмеркавання рэсурсаў і шматлікае іншае. У канчатковым рахунку любы працэс арыентаваны на стварэнне каштоўнасці і, як следства, павінен прыносіць пэўны эканамічны эфект. Тут вельмі важна дакладна сфармуляваць бізнес-ідэю і разлічыць меркаваны прыбытак ад укаранення мадэлі ў агульнай структуры стварэння каштоўнасці кампаніі. Здараюцца сітуацыі, калі ўкараненне мадэлі не апраўдвае сябе, і час, затрачаны спецыялістамі па машынным навучанні, абыходзіцца значна даражэй, чым працоўнае месца аператара, які выконвае гэтую задачу. Менавіта таму такія выпадкі неабходна імкнуцца выяўляць на ранніх этапах стварэння сістэм ІІ.

Такім чынам, прыбытак мадэлі пачынаюць прыносіць толькі тады, калі падчас MLOps была дакладна сфармуляваная бізнэс-задача, расстаўленыя прыярытэты і на ранніх этапах распрацоўкі сфармуляваны працэс укаранення мадэлі ў сістэму.

Новы працэс - новыя выклікі

Вычарпальны адказ на прынцыповае пытанне бізнесу аб тым, наколькі ML-мадэлі дастасавальныя для вырашэння задач, агульнае пытанне даверу да ІІ – гэта адзін з ключавых выклікаў у працэсе развіцця і ўкаранення падыходаў MLOps. Першапачаткова бізнэс скептычна ўспрымае ўкараненне машыннага навучання ў працэсы – складана спадзявацца на мадэлі ў тых месцах, дзе раней, як правіла, працавалі людзі. Для бізнесу праграмы прадстаўляюцца "чорнай скрыняй", рэлевантнасць адказаў якога яшчэ трэба даказаць. Акрамя таго, у банкаўскай дзейнасці, у бізнэсе аператараў сувязі і іншых існуюць цвёрдыя патрабаванні дзяржаўных рэгулятараў. Аўдыту падвяргаюцца ўсе сістэмы і алгарытмы, якія ўкаранёны ў банкаўскія працэсы. Каб вырашыць гэтую задачу, даказаць бізнэсу і рэгулятарам абгрунтаванасць і карэктнасць адказаў штучнага інтэлекту, разам з мадэллю ўкараняюцца сродкі маніторынгу. Акрамя таго, існуе працэдура незалежнай валідацыі, абавязковая для рэгулятарных мадэляў, якая адпавядае патрабаванням ЦБ. Незалежная экспертная група праводзіць аўдыт вынікаў, атрыманых мадэллю з улікам уваходных дадзеных.

Другі выклік - ацэнка і ўлік мадэльных рызык пры ўкараненні мадэлі машыннага навучання. Калі нават чалавек не можа са стоадсоткавай упэўненасцю адказаць на пытанне, белай была тая самая сукенка ці блакітнай, то і штучны інтэлект таксама мае права на памылку. Таксама варта ўлічыць, што з часам дадзеныя могуць мяняцца, і мадэлям неабходна данавучацца, каб выдаваць дастаткова дакладны вынік. Каб бізнэс-працэс не пацярпеў, неабходна кіраваць мадэльнымі рызыкамі і адсочваць працу мадэлі, рэгулярна данавучаючы яе на новых дадзеных.

MLOps: DevOps у свеце Machine Learning

Але пасля першай стадыі недаверу пачынае выяўляцца адваротны эфект. Чым больш мадэляў паспяхова ўкараняецца ў працэсы, тым больш у бізнесу расце апетыт да выкарыстання штучнага інтэлекту - знаходзяцца новыя і новыя задачы, якія можна вырашыць метадамі машыннага навучання. Кожная задача запускае цэлы працэс, які патрабуе тых ці іншых кампетэнцый:

  • дата-інжынеры падрыхтоўваюць і апрацоўваюць дадзеныя;
  • дата-саентісты ўжываюць прылады машыннага навучання і распрацоўваюць мадэль;
  • IT укараняюць мадэль у сістэму;
  • ML-інжынер вызначае, як гэтую мадэль карэктна ўбудаваць у працэс, які IT-інструментарый выкарыстоўваць у залежнасці ад патрабаванняў да рэжыму прымянення мадэлі з улікам патоку зваротаў, часу адказу і да т.п. 
  • ML-архітэктар праектуе, як фізічна можна рэалізаваць праграмны прадукт у прамысловай сістэме.

Увесь цыкл патрабуе вялікай колькасці высокакваліфікаваных адмыслоўцаў. У вызначанай кропцы развіцця і ступені пранікнення ML-мадэляў у бізнэс-працэсы апыняецца, што лінейна маштабаваць лік адмыслоўцаў прапарцыйна росту колькасці задач становіцца дорага і неэфектыўна. Таму ўзнікае пытанне аўтаматызацыі працэсу MLOps - вызначэнне некалькіх стандартных класаў задач машыннага навучання, распрацоўка тыпавых пайплайнаў апрацоўкі дадзеных і данавучання мадэляў. У ідэальнай карціне для рашэння такіх задач патрабуюцца прафесіяналы, якія аднолькава добра валодаюць кампетэнцыямі на стыку BigData, Data Science, DevOps і IT. Таму самая вялікая праблема ў індустрыі Data Science і самы вялікі выклік пры арганізацыі працэсаў MLOps - гэта адсутнасць такой кампетэнцыі на наяўным рынку падрыхтоўкі кадраў. Спецыялісты, якія задавальняюць такім патрабаванням, у сапраўдны момант адзінкавыя на рынку працы і цэняцца на вагу золата.

Да пытання аб кампетэнцыях

У тэорыі ўсе задачы MLOps можна вырашаць класічнымі прыладамі DevOps і не звяртацца да спецыялізаванага пашырэння ролевай мадэлі. Тады, як мы ўжо адзначылі вышэй, дата-саентыст павінен быць не толькі матэматыкам і спецыялістам па аналітыцы дадзеных, але і гуру ўсяго пайплайн - на яго плечы кладзецца распрацоўка архітэктуры, праграмаванне мадэляў на некалькіх мовах у залежнасці ад архітэктуры, падрыхтоўка вітрыны дадзеных і дэплаймент самога прыкладання. Аднак стварэнне тэхналагічнай абвязкі, якая рэалізуецца ў скразным працэсе MLOps, займае да 80% працавыдаткаў, а гэта значыць, што кваліфікаваны матэматык, якім з'яўляецца якасны Data Scientist, будзе толькі 20% часу прысвячаць сваёй спецыяльнасці. Таму размежаванне роляў адмыслоўцаў, якія здзяйсняюць працэс укаранення мадэляў машыннага навучання, становіцца жыццёва неабходным. 

Наколькі дэталёва павінны размяжоўвацца ролі, залежыць ад маштабаў прадпрыемства. Адна справа, калі ў стартапе адзін спецыяліст, працаўнік на запасе энергетыкаў, сам сабе і інжынер, і архітэктар, і DevOps. Зусім іншая справа, калі на буйным прадпрыемстве ўсе працэсы распрацоўкі мадэляў сканцэнтраваны на некалькіх Data Science спецыялістах высокага ўзроўню, у той час як праграміст або спецыяліст па працы з базамі дадзеных - больш распаўсюджаная і менш дарагая кампетэнцыя на рынку працы - можа ўзяць на сябе большую частку руцінных задач.

Такім чынам, ад таго, дзе ж праходзіць мяжа ў выбары адмыслоўцаў для забеспячэння працэсу MLOps і як арганізаваны працэс аперацыяналізацыі распрацоўваных мадэляў, напроста залежыць хуткасць і якасць распрацоўваных мадэляў, прадукцыйнасць каманды і мікраклімат у ёй.

Што ўжо зараз зроблена нашай камандай

Мы нядаўна пачалі будаваць структуру кампетэнцый і працэсы MLOps. Але ўжо зараз у стадыі тэсціравання MVP знаходзяцца нашы праекты па кіраванні жыццёвым цыклам мадэляў і па прымяненні мадэляў як сэрвіс.

Таксама мы вызначылі аптымальную для буйнога прадпрыемства структуру кампетэнцый і арганізацыйную структуру ўзаемадзеяння паміж усімі ўдзельнікамі працэсу. Былі арганізаваны Agile-каманды, вырашальныя задачы для ўсяго спектра бізнес-заказчыкаў, а таксама наладжаны працэс узаемадзеяння з праектнымі камандамі па стварэнню платформ, інфраструктуры, якая з'яўляецца падмуркам будынка MLOps.

Пытанні на будучыню

MLOps - які развіваецца кірунак, якое адчувае недахоп кампетэнцый і ў будучыні набярэ абароты. А пакуль лепш за ўсё адштурхоўвацца ад напрацовак і практык DevOps. Асноўнай мэтай MLOps з'яўляецца больш эфектыўнае выкарыстанне ML-мадэляў для рашэння задач бізнэсу. Але пры гэтым узнікае мноства пытанняў:

  • Як скараціць час для запуску мадэляў у вытворчасць?
  • Як зменшыць бюракратычныя спрэчкі паміж камандамі розных кампетэнцый і павысіць нацэленасць на супрацоўніцтва?
  • Як адсочваць мадэлі, кіраваць вэрсіямі і арганізоўваць эфэктыўны маніторынг?
  • Як стварыць сапраўды цыклічны жыццёвы цыкл для сучаснай мадэлі ML?
  • Як стандартаваць працэс машыннага навучання?

Ад адказаў на гэтыя пытанні шмат у чым будзе залежаць, наколькі хутка MLOps расчыніць свой патэнцыял цалкам.

Крыніца: habr.com

Дадаць каментар