MLOps: DevOps koneoppimismaailmassa

Vuonna 2018 MLOps-konsepti ilmestyi ammattipiireissä ja tekoälylle omistetuissa temaattisissa konferensseissa, ja se otti nopeasti valtaansa alalla ja kehittyy nyt itsenäiseksi suunnaksi. Tulevaisuudessa MLOpsista voi tulla yksi IT:n suosituimmista alueista. Mitä se on ja minkä kanssa sitä syödään? Katsotaanpa alla.

MLOps: DevOps koneoppimismaailmassa

Mikä on MLOps

MLOps (koneoppimistekniikoiden ja -prosessien yhdistäminen sekä lähestymistapoja kehitettyjen mallien toteuttamiseen liiketoimintaprosesseihin) on uusi tapa tehdä yhteistyötä yritysten edustajien, tutkijoiden, matemaatikoiden, koneoppimisen asiantuntijoiden ja IT-insinöörien välillä luotaessa tekoälyjärjestelmiä.

Toisin sanoen se on tapa muuttaa koneoppimismenetelmistä ja -tekniikoista hyödyllinen työkalu liiketoiminnan ongelmien ratkaisemiseen. 

On ymmärrettävä, että tuottavuusketju alkaa kauan ennen mallin kehittämistä. Sen ensimmäinen askel on määritellä liiketoimintaongelma, hypoteesi tiedoista poimittavasta arvosta ja liikeidea sen soveltamiseksi. 

Itse MLOps-konsepti syntyi analogiana DevOps-käsitteeseen liittyen koneoppimismalleihin ja -tekniikoihin. DevOps on lähestymistapa ohjelmistokehitykseen, jonka avulla voit nopeuttaa yksittäisten muutosten toteuttamista samalla säilyttäen joustavuuden ja luotettavuuden käyttämällä useita lähestymistapoja, mukaan lukien jatkuva kehitys, toimintojen jakaminen useisiin itsenäisiin mikropalveluihin, automaattinen testaus ja yksittäisten muutosten käyttöönotto. muutokset, globaali terveydentilan seuranta, nopea reagointijärjestelmä havaittujen vikojen varalta jne. 

DevOps on määritellyt ohjelmiston elinkaaren, ja yhteisö on keksinyt ajatuksen soveltaa samaa metodologiaa big dataan. DataOps on yritys mukauttaa ja laajentaa metodologiaa ottaen huomioon ominaisuudet suurten tietomäärien tallentamisesta, siirtämisestä ja käsittelystä erilaisissa ja yhteentoimivissa alustoissa.
  
Yritysten liiketoimintaprosesseihin toteutettujen koneoppimismallien tietyn kriittisen massan tultua havaittiin vahva samankaltaisuus matemaattisten koneoppimismallien elinkaaren ja ohjelmiston elinkaaren välillä. Ainoa ero on, että mallialgoritmit luodaan koneoppimistyökaluilla ja -menetelmillä. Tästä syystä syntyi luonnollisesti ajatus soveltaa ja mukauttaa jo tunnettuja lähestymistapoja ohjelmistokehitykseen koneoppimismalleihin. Näin ollen koneoppimismallien elinkaaresta voidaan erottaa seuraavat avainvaiheet:

  • liikeidean määritteleminen;
  • malli koulutus;
  • mallin testaus ja käyttöönotto liiketoimintaprosessissa;
  • mallin toimintaa.

Kun käytön aikana on tarvetta muuttaa tai kouluttaa mallia uusilla tiedoilla, sykli alkaa uudelleen - mallia jalostetaan, testataan ja uusi versio otetaan käyttöön.

Vetäytyä. Miksi kouluttaa uudelleen eikä uudelleen? Termillä "mallin uudelleenkoulutus" on kaksinkertainen merkitys: asiantuntijoiden keskuudessa se tarkoittaa mallivirhettä, kun malli ennustaa hyvin, itse asiassa toistaa ennustetun parametrin harjoitusjoukossa, mutta toimii paljon huonommin ulkoisessa datanäytteessä. Luonnollisesti tällainen malli on vika, koska tämä vika ei salli sen käyttöä.

Tässä elinkaaressa näyttää loogiselta käyttää DevOps-työkaluja: automatisoitua testausta, käyttöönottoa ja seurantaa, mallilaskelmien suunnittelua erillisten mikropalvelujen muodossa. Mutta on myös useita ominaisuuksia, jotka estävät näiden työkalujen suoran käytön ilman ylimääräistä ML-sidontaa.

MLOps: DevOps koneoppimismaailmassa

Kuinka saada mallit toimimaan ja tuottamaan

Esimerkkinä, jossa demonstroimme MLOps-lähestymistavan käyttöä, otamme klassisen tehtävän robotisoida chat-tuen pankki- (tai minkä tahansa muun) tuotteen osalta. Tyypillisesti chat-tuen liiketoimintaprosessi näyttää tältä: asiakas kirjoittaa kysymyksen sisältävän viestin chattiin ja saa vastauksen asiantuntijalta ennalta määritetyn dialogipuun sisällä. Tällaisen chatin automatisointitehtävä ratkaistaan ​​yleensä asiantuntevasti määritellyillä säännöillä, joiden kehittäminen ja ylläpitäminen on erittäin työlästä. Tällaisen automaation tehokkuus voi olla tehtävän monimutkaisuudesta riippuen 20–30 %. Luonnollisesti herää ajatus, että kannattavampaa on ottaa käyttöön tekoälymoduuli - koneoppimisen avulla kehitetty malli, joka:

  • pystyy käsittelemään suuremman määrän pyyntöjä ilman operaattorin osallistumista (aiheesta riippuen tehokkuus voi joissain tapauksissa olla jopa 70–80 %);
  • mukautuu paremmin vuoropuhelun epätyypilliseen sanamuotoon - pystyy määrittämään tarkoituksen, käyttäjän todellisen halun epäselvästi muotoillun pyynnön perusteella;
  • osaa määrittää, milloin mallin vastaus on riittävä, ja milloin on epäilyksiä tämän vastauksen "tietoisuudesta" ja sinun on esitettävä selventävä lisäkysymys tai vaihdettava operaattorin puoleen;
  • voidaan lisäksi kouluttaa automaattisesti (sen sijaan, että ryhmä kehittäjiä mukauttaisi ja korjaa jatkuvasti vastausskriptejä, mallia kouluttaa lisäksi datatieteen asiantuntija käyttämällä asianmukaisia ​​koneoppimiskirjastoja). 

MLOps: DevOps koneoppimismaailmassa

Kuinka saada tällainen edistyksellinen malli toimimaan? 

Kuten minkä tahansa muun ongelman ratkaisemisessa, ennen tällaisen moduulin kehittämistä on tarpeen määritellä liiketoimintaprosessi ja kuvata muodollisesti se tietty tehtävä, jonka ratkaisemme koneoppimismenetelmällä. Tässä vaiheessa alkaa operatiivisuusprosessi, jota kutsutaan lyhenteellä Ops. 

Seuraava askel on, että datatieteilijä yhteistyössä tietoinsinöörin kanssa tarkastaa datan saatavuuden ja riittävyyden sekä liikeidean kannattavuuden liikehypoteesin, kehittää prototyyppimallin ja testaa sen todellista tehokkuutta. Vasta yrityksen vahvistuksen jälkeen siirtyminen mallin kehittämisestä sen integroimiseen tiettyä liiketoimintaprosessia suorittaviin järjestelmiin voi alkaa. Päästä-päähän toteutuksen suunnittelu, syvä ymmärrys jokaisessa vaiheessa siitä, miten mallia käytetään ja mitä taloudellisia vaikutuksia sillä on, on perustavanlaatuinen kohta prosesseissa, joilla MLOps-lähestymistapoja viedään yrityksen teknologiseen maisemaan.

Tekoälyteknologioiden kehittyessä koneoppimisen avulla ratkaistavien ongelmien määrä ja kirjo lisääntyy eksponentiaalisesti. Jokainen tällainen liiketoimintaprosessi on yritykselle säästö massatyöntekijöiden työn automatisoinnin vuoksi (puhelukeskus, asiakirjojen tarkistus ja lajittelu jne.), se on asiakaskunnan laajentaminen lisäämällä uusia houkuttelevia ja käteviä toimintoja, se on säästää rahaa niiden optimaalisen käytön ja resurssien uudelleenjaon ansiosta ja paljon muuta. Loppujen lopuksi mikä tahansa prosessi keskittyy arvon luomiseen, ja sen seurauksena sillä on oltava tietty taloudellinen vaikutus. Tässä on erittäin tärkeää muotoilla liikeidea selkeästi ja laskea mallin käyttöönotosta odotettavissa oleva tuotto yrityksen kokonaisarvonluontirakenteessa. On tilanteita, joissa mallin käyttöönotto ei oikeuta itseään ja koneoppimisen asiantuntijoiden aika on paljon kalliimpaa kuin tätä tehtävää suorittavan operaattorin työpaikka. Siksi tällaiset tapaukset on pyrittävä tunnistamaan tekoälyjärjestelmien luomisen alkuvaiheessa.

Näin ollen mallit alkavat tuottaa voittoa vasta, kun liiketoimintaongelma on MLOps-prosessissa muotoiltu oikein, prioriteetit on asetettu ja mallin käyttöönottoprosessi järjestelmään on muotoiltu kehityksen alkuvaiheessa.

Uusi prosessi - uudet haasteet

Kattava vastaus liiketoiminnan perustavanlaatuiseen kysymykseen siitä, kuinka soveltuvat ML-mallit ongelmien ratkaisemiseen, yleinen luottamus tekoälyyn on yksi keskeisistä haasteista kehitettäessä ja toteutettaessa MLOps-lähestymistapoja. Aluksi yritykset suhtautuvat skeptisesti koneoppimisen käyttöönottoon prosesseissa - malleihin on vaikea luottaa paikoissa, joissa aiemmin pääsääntöisesti työskenteli. Yritysten kannalta ohjelmat näyttävät olevan "musta laatikko", jonka relevanssi on vielä todistettava. Lisäksi pankkitoiminnassa, teleoperaattoreiden ja muiden liiketoiminnassa on tiukkoja valtion sääntelyviranomaisten vaatimuksia. Kaikki järjestelmät ja algoritmit, jotka toteutetaan pankkiprosesseissa, ovat auditoitavia. Tämän ongelman ratkaisemiseksi, jotta yrityksille ja sääntelyviranomaisille voidaan todistaa tekoälyreaktioiden pätevyys ja oikeellisuus, mallin mukana otetaan käyttöön seurantatyökaluja. Lisäksi käytössä on riippumaton, sääntelymalleille pakollinen validointimenettely, joka täyttää keskuspankin vaatimukset. Riippumaton asiantuntijaryhmä auditoi mallilla saadut tulokset ottaen huomioon syöttötiedot.

Toinen haaste on malliriskien arviointi ja huomioiminen koneoppimismallia toteutettaessa. Vaikka ihminen ei pysty vastaamaan sataprosenttisella varmuudella kysymykseen, oliko sama mekko valkoinen vai sininen, niin tekoälylläkin on oikeus tehdä virhe. On myös syytä ottaa huomioon, että tiedot voivat muuttua ajan myötä ja malleja on koulutettava uudelleen, jotta saadaan riittävän tarkka tulos. Jotta liiketoimintaprosessi ei kärsisi, on tarpeen hallita mallin riskejä ja seurata mallin suorituskykyä kouluttaen sitä säännöllisesti uuteen dataan.

MLOps: DevOps koneoppimismaailmassa

Mutta epäluottamuksen ensimmäisen vaiheen jälkeen päinvastainen vaikutus alkaa näkyä. Mitä enemmän malleja onnistuneesti toteutetaan prosesseihin, sitä enemmän yritysten halu käyttää tekoälyä kasvaa - uusia ja uusia ongelmia löytyy, jotka voidaan ratkaista koneoppimismenetelmillä. Jokainen tehtävä käynnistää koko prosessin, joka vaatii tiettyjä pätevyyksiä:

  • tietoinsinöörit valmistelevat ja käsittelevät tietoja;
  • datatieteilijät käyttävät koneoppimistyökaluja ja kehittävät mallin;
  • IT toteuttaa mallin järjestelmään;
  • ML-insinööri määrittää, kuinka tämä malli oikein integroidaan prosessiin, mitä IT-työkaluja käytetään, riippuen mallin käyttötavan vaatimuksista, ottaen huomioon pyyntöjen kulku, vastausaika jne. 
  • ML-arkkitehti suunnittelee, kuinka ohjelmistotuote voidaan toteuttaa fyysisesti teollisessa järjestelmässä.

Koko sykli vaatii suuren määrän korkeasti koulutettuja asiantuntijoita. Tietyssä vaiheessa ML-mallien kehitystä ja tunkeutumista liiketoimintaprosesseihin käy ilmi, että asiantuntijoiden lukumäärän lineaarinen skaalaaminen suhteessa tehtävien määrän kasvuun tulee kalliiksi ja tehottomaksi. Tästä syystä herää kysymys MLOps-prosessin automatisoinnista - useiden koneoppimisongelmien standardiluokkien määrittelemisestä, standardien tietojenkäsittelyputkien kehittämisestä ja mallien lisäkoulutuksesta. Ihanteellisessa kuvassa tällaisten ongelmien ratkaiseminen vaatii ammattilaisia, jotka ovat yhtä taitavia Big Datan, Data Sciencen, DevOpsin ja IT:n risteyksessä. Siksi Data Science -alan suurin ongelma ja suurin haaste MLOps-prosessien organisoinnissa on tällaisen osaamisen puute olemassa olevilla koulutusmarkkinoilla. Nämä vaatimukset täyttävät asiantuntijat ovat tällä hetkellä harvinaisia ​​työmarkkinoilla ja ovat kullan arvoisia.

Pätevyyskysymyksestä

Teoriassa kaikki MLOps-tehtävät voidaan ratkaista klassisilla DevOps-työkaluilla ja turvautumatta roolimallin erityiseen laajennukseen. Sitten, kuten edellä totesimme, datatieteilijän tulee olla paitsi matemaatikko ja data-analyytikko, myös koko putkilinjan guru - hän vastaa arkkitehtuurin kehittämisestä, ohjelmointimalleja useilla kielillä arkkitehtuurista riippuen, valmistelusta. tietokauppa ja itse sovelluksen käyttöönotto. Kuitenkin päästä päähän MLOps-prosessissa toteutetun teknologisen viitekehyksen luominen vie jopa 80 % työvoimakustannuksista, mikä tarkoittaa, että pätevä matemaatikko, joka on laadukas datatieteilijä, käyttää vain 20 % ajastaan ​​erikoisalaansa. . Siksi koneoppimismallien käyttöönottoprosessiin osallistuvien asiantuntijoiden roolien rajaaminen on elintärkeää. 

Se, kuinka yksityiskohtaisesti roolit tulisi määritellä, riippuu yrityksen koosta. Se on yksi asia, kun startupilla on yksi asiantuntija, ahkera työntekijä energiareservissä, joka on oma insinööri, arkkitehti ja DevOps. Täysin eri asia on, kun suuressa yrityksessä kaikki mallinkehitysprosessit keskittyvät muutamaan korkean tason tietotieteen asiantuntijaan, kun taas ohjelmoija tai tietokantaasiantuntija - työmarkkinoilla yleisempää ja halvempaa osaamista - voi ottaa useimmissa töissä rutiinitehtävät.

Näin ollen kehitettyjen mallien nopeus ja laatu, tiimin tuottavuus ja mikroilmasto siinä riippuvat suoraan siitä, missä menee raja MLOps-prosessia tukevien asiantuntijoiden valinnassa ja miten kehitettyjen mallien käyttöprosessi on organisoitu. .

Mitä tiimimme on jo tehnyt

Aloitimme äskettäin osaamisrakenteen ja MLOps-prosessien rakentamisen. Mutta projektimme mallien elinkaarihallinnasta ja mallien käytöstä palveluna ovat jo MVP-testausvaiheessa.

Määritimme myös optimaalisen osaamisrakenteen suuryritykselle ja organisaatiorakenteen kaikkien prosessiin osallistujien väliselle vuorovaikutukselle. Ketterät tiimit organisoitiin ratkaisemaan ongelmia koko yritysasiakkaiden joukolle ja perustettiin vuorovaikutusprosessi projektiryhmien kanssa alustojen ja infrastruktuurin luomiseksi, mikä on rakenteilla olevan MLOps-rakennuksen perusta.

Kysymyksiä tulevaisuutta varten

MLOps on kasvava ala, jolla on pulaa osaamisesta ja joka tulee vahvistumaan tulevaisuudessa. Sillä välin on parasta rakentaa DevOps-kehityksiä ja käytäntöjä. MLOpsin päätavoitteena on käyttää ML-malleja tehokkaammin liiketoiminnan ongelmien ratkaisemiseen. Mutta tämä herättää monia kysymyksiä:

  • Kuinka lyhentää mallien tuotantoon viemiseen kuluvaa aikaa?
  • Miten vähentää byrokraattista kitkaa eri osaamisryhmien välillä ja lisätä yhteistyön painopistettä?
  • Kuinka seurata malleja, hallita versioita ja organisoida tehokas seuranta?
  • Kuinka luoda todella pyöreä elinkaari nykyaikaiselle ML-mallille?
  • Kuinka standardisoida koneoppimisprosessi?

Vastaukset näihin kysymyksiin ratkaisevat suurelta osin, kuinka nopeasti MLOps saavuttaa täyden potentiaalinsa.

Lähde: will.com

Lisää kommentti