MLOps: DevOps sa Mundo ng Machine Learning

Noong 2018, ang konsepto ng MLOps ay lumitaw sa mga propesyonal na lupon at sa mga pampakay na kumperensya na nakatuon sa AI, na mabilis na humawak sa industriya at ngayon ay umuunlad bilang isang independiyenteng direksyon. Sa hinaharap, ang mga MLOps ay maaaring maging isa sa mga pinakasikat na lugar sa IT. Ano ito at ano ang kinakain nito? Alamin natin sa ibaba.

MLOps: DevOps sa Mundo ng Machine Learning

Ano ang MLOps

Ang MLOps (pagsasama-sama ng mga teknolohiya at proseso ng machine learning at mga diskarte sa pagpapatupad ng mga binuo na modelo sa mga proseso ng negosyo) ay isang bagong paraan ng pakikipagtulungan sa pagitan ng mga kinatawan ng negosyo, siyentipiko, mathematician, machine learning specialist at IT engineer kapag gumagawa ng mga artificial intelligence system.

Sa madaling salita, ito ay isang paraan ng paggawa ng mga pamamaraan at teknolohiya ng machine learning sa isang kapaki-pakinabang na tool para sa paglutas ng mga problema sa negosyo. 

Kinakailangang maunawaan na ang kadena ng pagiging produktibo ay nagsisimula nang matagal bago ang pagbuo ng modelo. Ang unang hakbang nito ay tukuyin ang isang problema sa negosyo, isang hypothesis tungkol sa halaga na maaaring makuha mula sa data, at isang ideya sa negosyo para sa paglalapat nito. 

Ang mismong konsepto ng MLOps ay lumitaw bilang isang pagkakatulad sa konsepto ng DevOps kaugnay ng mga modelo at teknolohiya ng machine learning. Ang DevOps ay isang diskarte sa pag-develop ng software na nagbibigay-daan sa iyong pataasin ang bilis ng pagpapatupad ng mga indibidwal na pagbabago habang pinapanatili ang kakayahang umangkop at pagiging maaasahan gamit ang isang bilang ng mga diskarte, kabilang ang patuloy na pag-unlad, paghahati ng mga function sa isang bilang ng mga independiyenteng microservice, automated na pagsubok at pag-deploy ng indibidwal mga pagbabago, pandaigdigang pagsubaybay sa kalusugan, mabilis na sistema ng pagtugon para sa mga natukoy na pagkabigo, atbp. 

Tinukoy ng DevOps ang lifecycle ng software, at ang komunidad ay nakaisip ng ideya ng paglalapat ng parehong pamamaraan sa malaking data. Ang DataOps ay isang pagtatangka na iakma at palawakin ang pamamaraan na isinasaalang-alang ang mga tampok ng pag-iimbak, pagpapadala at pagproseso ng malalaking halaga ng data sa magkakaibang at interoperable na mga platform.
  
Sa pagdating ng isang partikular na kritikal na masa ng mga modelo ng pag-aaral ng makina na ipinatupad sa mga proseso ng negosyo ng mga negosyo, napansin ang isang malakas na pagkakatulad sa pagitan ng siklo ng buhay ng mga modelo ng pag-aaral ng makina ng matematika at ang ikot ng buhay ng software. Ang pagkakaiba lang ay ang mga algorithm ng modelo ay nilikha gamit ang mga tool at pamamaraan ng machine learning. Samakatuwid, natural na umusbong ang ideya upang ilapat at iangkop ang mga kilalang diskarte na sa pagbuo ng software para sa mga modelo ng machine learning. Kaya, ang mga sumusunod na pangunahing yugto ay maaaring makilala sa ikot ng buhay ng mga modelo ng machine learning:

  • pagtukoy ng ideya sa negosyo;
  • pagsasanay sa modelo;
  • pagsubok at pagpapatupad ng modelo sa proseso ng negosyo;
  • pagpapatakbo ng modelo.

Kapag sa panahon ng operasyon ay may pangangailangan na baguhin o muling sanayin ang modelo sa bagong data, ang cycle ay magsisimula muli - ang modelo ay pino, sinubukan, at isang bagong bersyon ay na-deploy.

Retreat. Bakit muling sanayin at hindi muling sanayin? Ang terminong "modelo retraining" ay may dobleng kahulugan: sa mga eksperto, nangangahulugan ito ng depekto sa modelo, kapag ang modelo ay hinuhulaan nang mabuti, aktwal na inuulit ang hinulaang parameter sa set ng pagsasanay, ngunit gumaganap ng mas malala sa panlabas na sample ng data. Naturally, ang gayong modelo ay isang depekto, dahil ang depektong ito ay hindi pinapayagan ang paggamit nito.

Sa siklo ng buhay na ito, tila lohikal na gumamit ng mga tool ng DevOps: awtomatikong pagsubok, pag-deploy at pagsubaybay, pagdidisenyo ng mga kalkulasyon ng modelo sa anyo ng mga hiwalay na microservice. Ngunit mayroon ding ilang feature na pumipigil sa direktang paggamit ng mga tool na ito nang walang karagdagang ML binding.

MLOps: DevOps sa Mundo ng Machine Learning

Paano gawing gumagana ang mga modelo at maging kumikita

Bilang isang halimbawa kung saan ipapakita namin ang paggamit ng diskarte sa MLOps, gagawin namin ang klasikong gawain ng pag-robot ng suporta sa chat para sa isang banking (o anumang iba pang) produkto. Karaniwan, ganito ang hitsura ng proseso ng negosyo sa suporta sa chat: nagpasok ang isang kliyente ng mensahe na may tanong sa isang chat at tumatanggap ng tugon mula sa isang espesyalista sa loob ng isang paunang natukoy na dialogue tree. Ang gawain ng pag-automate ng ganoong chat ay kadalasang nireresolba gamit ang mga hanay ng mga panuntunan na tinukoy ng dalubhasa, na napakahirap sa paggawa at pagpapanatili. Ang kahusayan ng naturang automation, depende sa antas ng pagiging kumplikado ng gawain, ay maaaring 20-30%. Naturally, lumalabas ang ideya na mas kumikita ang pagpapatupad ng isang module ng artificial intelligence - isang modelo na binuo gamit ang machine learning, na:

  • ay nakakapagproseso ng mas malaking bilang ng mga kahilingan nang walang partisipasyon ng operator (depende sa paksa, sa ilang mga kaso ang kahusayan ay maaaring umabot sa 70–80%);
  • mas mahusay na umaangkop sa hindi karaniwang mga salita sa diyalogo - ay natutukoy ang layunin, ang tunay na pagnanais ng gumagamit batay sa isang hindi malinaw na nabalangkas na kahilingan;
  • alam kung paano matukoy kung ang sagot ng modelo ay sapat, at kapag may mga pagdududa tungkol sa "kamalayan" ng sagot na ito at kailangan mong magtanong ng karagdagang paglilinaw na tanong o lumipat sa operator;
  • ay maaaring awtomatikong sanayin din (sa halip na isang pangkat ng mga developer na patuloy na nag-aangkop at nagwawasto ng mga script ng pagtugon, ang modelo ay sinasanay din ng isang espesyalista sa Data Science gamit ang naaangkop na mga library ng machine learning). 

MLOps: DevOps sa Mundo ng Machine Learning

Paano upang gumana ang isang advanced na modelo? 

Tulad ng paglutas ng anumang iba pang problema, bago bumuo ng naturang module, kinakailangan na tukuyin ang isang proseso ng negosyo at pormal na ilarawan ang partikular na gawain na aming lulutasin gamit ang machine learning method. Sa puntong ito, magsisimula ang proseso ng operationalization, na itinalaga ng acronym na Ops. 

Ang susunod na hakbang ay ang Data Scientist, sa pakikipagtulungan ng Data Engineer, ay nagsusuri ng availability at kasapatan ng data at ang hypothesis ng negosyo tungkol sa posibilidad ng ideya ng negosyo, pagbuo ng isang prototype na modelo at pagsubok sa aktwal na pagiging epektibo nito. Pagkatapos lamang ng kumpirmasyon ng negosyo ay maaaring magsimula ang paglipat mula sa pagbuo ng isang modelo hanggang sa pagsasama nito sa mga system na nagsasagawa ng isang partikular na proseso ng negosyo. Ang end-to-end na pagpaplano sa pagpapatupad, isang malalim na pag-unawa sa bawat yugto kung paano gagamitin ang modelo at kung anong epekto sa ekonomiya ang idudulot nito, ay isang pangunahing punto sa mga proseso ng pagpapakilala ng mga diskarte sa MLOps sa teknolohikal na tanawin ng kumpanya.

Sa pag-unlad ng mga teknolohiya ng AI, ang bilang at iba't ibang mga problema na maaaring malutas gamit ang machine learning ay tumataas nang husto. Ang bawat proseso ng negosyo ay isang pagtitipid para sa kumpanya dahil sa automation ng paggawa ng mga empleyado ng masa (call center, pagsuri at pag-uuri ng mga dokumento, atbp.), Ito ay isang pagpapalawak ng base ng kliyente sa pamamagitan ng pagdaragdag ng mga bagong kaakit-akit at maginhawang mga function, ito ay nagtitipid ng pera dahil sa pinakamainam na kanilang paggamit at muling pamamahagi ng mga mapagkukunan at marami pang iba. Sa huli, ang anumang proseso ay nakatuon sa paglikha ng halaga at, bilang isang resulta, ay dapat magdala ng isang tiyak na pang-ekonomiyang epekto. Narito ito ay napakahalaga upang malinaw na bumalangkas ng ideya ng negosyo at kalkulahin ang inaasahang kita mula sa pagpapatupad ng modelo sa pangkalahatang istraktura ng paglikha ng halaga ng kumpanya. May mga sitwasyon kapag ang pagpapatupad ng isang modelo ay hindi nagbibigay-katwiran sa sarili nito, at ang oras na ginugol ng mga espesyalista sa pag-aaral ng makina ay mas mahal kaysa sa lugar ng trabaho ng operator na gumaganap ng gawaing ito. Iyon ang dahilan kung bakit kinakailangang subukang tukuyin ang mga ganitong kaso sa mga unang yugto ng paglikha ng mga AI system.

Dahil dito, ang mga modelo ay nagsisimula lamang na makabuo ng kita kapag ang problema sa negosyo ay wastong nabalangkas sa proseso ng MLOps, ang mga priyoridad ay naitakda, at ang proseso ng pagpapakilala ng modelo sa sistema ay nabuo sa mga unang yugto ng pag-unlad.

Bagong proseso - bagong hamon

Isang komprehensibong sagot sa pangunahing tanong sa negosyo tungkol sa kung gaano naaangkop ang mga modelo ng ML sa paglutas ng mga problema, ang pangkalahatang isyu ng tiwala sa AI ay isa sa mga pangunahing hamon sa proseso ng pagbuo at pagpapatupad ng mga diskarte sa MLOps. Sa una, ang mga negosyo ay nag-aalinlangan tungkol sa pagpapakilala ng machine learning sa mga proseso - mahirap umasa sa mga modelo sa mga lugar kung saan dati, bilang panuntunan, ang mga tao ay nagtrabaho. Para sa negosyo, ang mga programa ay lumilitaw na isang "itim na kahon", ang kaugnayan nito ay kailangan pa ring patunayan. Bilang karagdagan, sa pagbabangko, sa negosyo ng mga operator ng telecom at iba pa, may mga mahigpit na kinakailangan ng mga regulator ng gobyerno. Ang lahat ng mga system at algorithm na ipinapatupad sa mga proseso ng pagbabangko ay napapailalim sa pag-audit. Upang malutas ang problemang ito, upang patunayan sa negosyo at mga regulator ang bisa at kawastuhan ng mga tugon ng artipisyal na katalinuhan, ang mga tool sa pagsubaybay ay ipinakilala kasama ng modelo. Bilang karagdagan, mayroong isang independiyenteng pamamaraan ng pagpapatunay, sapilitan para sa mga modelo ng regulasyon, na nakakatugon sa mga kinakailangan ng Central Bank. Sinusuri ng isang independiyenteng pangkat ng eksperto ang mga resulta na nakuha ng modelo na isinasaalang-alang ang data ng input.

Ang pangalawang hamon ay ang pagtatasa at pagsasaalang-alang sa mga panganib sa modelo kapag nagpapatupad ng modelo ng machine learning. Kahit na hindi masagot ng isang tao ang tanong nang may isandaang porsyentong katiyakan kung puti o asul ang damit na iyon, kung gayon ang artificial intelligence ay may karapatang magkamali. Ito rin ay nagkakahalaga ng pagsasaalang-alang na ang data ay maaaring magbago sa paglipas ng panahon, at ang mga modelo ay kailangang muling sanayin upang makagawa ng isang sapat na tumpak na resulta. Upang matiyak na ang proseso ng negosyo ay hindi magdurusa, kinakailangan upang pamahalaan ang mga panganib sa modelo at subaybayan ang pagganap ng modelo, regular na muling sanayin ito sa bagong data.

MLOps: DevOps sa Mundo ng Machine Learning

Ngunit pagkatapos ng unang yugto ng kawalan ng tiwala, ang kabaligtaran na epekto ay nagsisimulang lumitaw. Kapag mas maraming modelo ang matagumpay na naipapatupad sa mga proseso, mas lumalaki ang gana ng negosyo para sa paggamit ng artificial intelligence - may mga bago at bagong problemang nasusumpungan na maaaring malutas gamit ang mga pamamaraan ng machine learning. Ang bawat gawain ay nagpapalitaw ng isang buong proseso na nangangailangan ng ilang partikular na kakayahan:

  • ang mga inhinyero ng data ay naghahanda at nagpoproseso ng data;
  • gumagamit ang mga data scientist ng mga tool sa pag-aaral ng makina at bumuo ng isang modelo;
  • Ipinapatupad ng IT ang modelo sa system;
  • Tinutukoy ng inhinyero ng ML kung paano isasama nang tama ang modelong ito sa proseso, kung aling mga tool sa IT ang gagamitin, depende sa mga kinakailangan para sa mode ng aplikasyon ng modelo, na isinasaalang-alang ang daloy ng mga kahilingan, oras ng pagtugon, atbp. 
  • Ang isang arkitekto ng ML ay nagdidisenyo kung paano maaaring pisikal na ipatupad ang isang produkto ng software sa isang sistemang pang-industriya.

Ang buong cycle ay nangangailangan ng malaking bilang ng mga highly qualified na espesyalista. Sa isang tiyak na punto sa pagbuo at antas ng pagtagos ng mga modelo ng ML sa mga proseso ng negosyo, lumalabas na ang linearly na pag-scale ng bilang ng mga espesyalista sa proporsyon sa pagtaas ng bilang ng mga gawain ay nagiging magastos at hindi epektibo. Samakatuwid, ang tanong ay lumitaw sa pag-automate ng proseso ng MLOps - pagtukoy ng ilang karaniwang klase ng mga problema sa pag-aaral ng makina, pagbuo ng mga standard na pipeline sa pagproseso ng data at karagdagang pagsasanay ng mga modelo. Sa isang perpektong larawan, ang paglutas ng mga naturang problema ay nangangailangan ng mga propesyonal na pantay na bihasa sa mga kakayahan sa intersection ng Big Data, Data Science, DevOps at IT. Samakatuwid, ang pinakamalaking problema sa industriya ng Data Science at ang pinakamalaking hamon sa pag-aayos ng mga proseso ng MLOps ay ang kakulangan ng gayong kakayahan sa umiiral na merkado ng pagsasanay. Ang mga espesyalista na nakakatugon sa mga kinakailangang ito ay kasalukuyang bihira sa labor market at sulit ang kanilang timbang sa ginto.

Sa usapin ng mga kakayahan

Sa teorya, lahat ng mga gawain sa MLOps ay maaaring malutas gamit ang mga klasikong tool ng DevOps at nang hindi gumagamit ng espesyal na extension ng role model. Pagkatapos, tulad ng nabanggit namin sa itaas, ang isang data scientist ay dapat na hindi lamang isang mathematician at data analyst, kundi pati na rin isang guro ng buong pipeline - siya ang may pananagutan sa pagbuo ng arkitektura, mga modelo ng programming sa ilang mga wika depende sa arkitektura, paghahanda. isang data mart at pag-deploy ng application mismo. Gayunpaman, ang paggawa ng teknolohikal na balangkas na ipinatupad sa end-to-end na proseso ng MLOps ay tumatagal ng hanggang 80% ng mga gastos sa paggawa, na nangangahulugan na ang isang kwalipikadong mathematician, na isang de-kalidad na Data Scientist, ay maglalaan lamang ng 20% ​​ng kanyang oras sa kanyang espesyalidad. . Samakatuwid, ang pagtukoy sa mga tungkulin ng mga espesyalista na kasangkot sa proseso ng pagpapatupad ng mga modelo ng machine learning ay nagiging mahalaga. 

Depende sa laki ng enterprise kung gaano kadetalya ang mga tungkulin. Isang bagay kapag ang isang startup ay may isang espesyalista, isang masipag sa reserba ng enerhiya, na sariling engineer, arkitekto, at DevOps. Ito ay isang ganap na naiibang bagay kapag, sa isang malaking negosyo, ang lahat ng mga proseso ng pagbuo ng modelo ay nakatuon sa ilang mataas na antas na dalubhasa sa Data Science, habang ang isang programmer o database specialist - isang mas karaniwan at mas murang kakayahan sa labor market - ay maaaring tumagal. sa karamihan ng gawain.mga gawaing karaniwang gawain.

Kaya, ang bilis at kalidad ng mga binuo na modelo, ang pagiging produktibo ng koponan at ang microclimate dito ay direktang nakasalalay sa kung saan ang hangganan ay nakasalalay sa pagpili ng mga espesyalista upang suportahan ang proseso ng MLOps at kung paano inayos ang proseso ng pagpapatakbo ng mga binuo na modelo. .

Kung ano ang nagawa na ng aming team

Sinimulan namin kamakailan ang pagbuo ng istruktura ng kakayahan at mga proseso ng MLOps. Ngunit ang aming mga proyekto sa pamamahala ng lifecycle ng modelo at sa paggamit ng mga modelo bilang serbisyo ay nasa yugto ng pagsubok ng MVP.

Natukoy din namin ang pinakamainam na istraktura ng kakayahan para sa isang malaking negosyo at ang istraktura ng organisasyon ng pakikipag-ugnayan sa pagitan ng lahat ng mga kalahok sa proseso. Ang mga maliksi na koponan ay inayos upang malutas ang mga problema para sa buong hanay ng mga customer ng negosyo, at isang proseso ng pakikipag-ugnayan sa mga koponan ng proyekto upang lumikha ng mga platform at imprastraktura, na siyang pundasyon ng gusali ng MLOps na itinatayo, ay itinatag.

Mga tanong para sa hinaharap

Ang MLOps ay isang lumalagong lugar na nakakaranas ng kakulangan ng mga kakayahan at magkakaroon ng momentum sa hinaharap. Pansamantala, pinakamainam na bumuo sa mga pagpapaunlad at kasanayan ng DevOps. Ang pangunahing layunin ng MLOps ay ang mas epektibong paggamit ng mga modelo ng ML upang malutas ang mga problema sa negosyo. Ngunit nagdudulot ito ng maraming katanungan:

  • Paano bawasan ang oras upang ilunsad ang mga modelo sa produksyon?
  • Paano bawasan ang burukratikong alitan sa pagitan ng mga pangkat na may iba't ibang kakayahan at dagdagan ang pagtuon sa pakikipagtulungan?
  • Paano subaybayan ang mga modelo, pamahalaan ang mga bersyon at ayusin ang epektibong pagsubaybay?
  • Paano lumikha ng isang tunay na circular lifecycle para sa isang modernong modelo ng ML?
  • Paano i-standardize ang proseso ng machine learning?

Ang mga sagot sa mga tanong na ito ay higit na matutukoy kung gaano kabilis maabot ng mga MLO ang buong potensyal nito.

Pinagmulan: www.habr.com

Magdagdag ng komento