Ohjelmointi

MLops: Koneoppimistoiminnan nousu

Niin vaikeaa kuin datatieteilijöillä onkin merkitä tietoja ja kehittää tarkkoja koneoppimismalleja, mallien hallinta tuotannossa voi olla vieläkin pelottavampaa. Mallien ajautumisen tunnistaminen, mallien uudelleenkoulutus tietojoukkojen päivittämisellä, suorituskyvyn parantaminen ja taustalla olevien teknologia-alustojen ylläpitäminen ovat kaikki tärkeitä tietojenkäsittelytapoja. Ilman näitä aloja mallit voivat tuottaa virheellisiä tuloksia, jotka vaikuttavat merkittävästi liiketoimintaan.

Tuotantovalmiiden mallien kehittäminen ei ole helppoa. Erään koneoppimisen tutkimuksen mukaan 55 prosenttia yrityksistä ei ollut ottanut mallia käyttöön tuotannossa, ja vähintään 40 prosenttia tarvitsee yli 30 päivää yhden mallin käyttöönottoon. Menestys tuo uusia haasteita, ja 41 prosenttia vastaajista myöntää koneoppimismallien ja toistettavuuden vaikeuden.

Oppitunti on, että uusia esteitä syntyy, kun koneoppimismallit otetaan käyttöön tuotannossa ja käytetään liiketoimintaprosesseissa.

Mallien hallinta ja käyttö olivat aikoinaan haasteita edistyneemmille tietojenkäsittelytiimeille. Nyt tehtäviin kuuluu tuotannon koneoppimismallien seuraaminen ajautumiselle, mallien uudelleenkoulutuksen automatisointi, hälytys, kun ajautuminen on merkittävää, ja tunnistaminen, kun mallit vaativat päivityksiä. Kun yhä useammat organisaatiot investoivat koneoppimiseen, on enemmän tarvetta lisätä tietoisuutta mallien hallinnasta ja toiminnasta.

Hyvä uutinen on alustat ja kirjastot, kuten avoimen lähdekoodin MLFlow ja DVC, sekä Alteryxin, Databricksin, Dataiku, SAS: n, DataRobotin, ModelOpin ja muiden kaupalliset työkalut tekevät mallien hallinnasta ja toiminnasta helpompaa tietojenkäsittelytiimille. Julkiset pilvipalveluntarjoajat jakavat myös käytäntöjä, kuten MLopsin käyttöönotto Azure Machine Learningin kanssa.

Mallinhallinnan ja devopsin välillä on useita yhtäläisyyksiä. Monet viittaavat mallien hallintaan ja toimintoihin MLops-toimintoina ja määrittelevät sen kulttuuriksi, käytännöiksi ja tekniikoiksi, joita tarvitaan koneoppimismallien kehittämiseen ja ylläpitoon.

Ymmärrä mallin hallinta ja toiminta

Jotta ymmärtäisit paremmin mallin hallinnan ja toiminnan, ota huomioon ohjelmistokehityskäytäntöjen yhdistäminen tieteellisiin menetelmiin.

Ohjelmistokehittäjänä tiedät, että sovelluksen version täydentäminen ja käyttöönotto tuotantoon ei ole triviaalia. Mutta vielä suurempi haaste alkaa, kun sovellus saavuttaa tuotannon. Loppukäyttäjät odottavat säännöllisiä parannuksia, ja taustalla oleva infrastruktuuri, alustat ja kirjastot vaativat korjausta ja ylläpitoa.

Siirrytään nyt tiedemaailmaan, jossa kysymykset johtavat moniin hypoteeseihin ja toistuviin kokeiluihin. Opit luonnontieteiden luokassa pitämään kirjaa näistä kokeista ja seuraamaan eri muuttujien säätämisen matkaa kokeesta toiseen. Kokeilu johtaa parempiin tuloksiin, ja matkan dokumentoiminen auttaa vakuuttamaan ikäisensä siitä, että olet tutustunut kaikkiin muuttujiin ja että tulokset ovat toistettavissa.

Koneoppimismalleilla kokeilevien datatutkijoiden on sisällytettävä sekä ohjelmistokehityksen että tieteellisen tutkimuksen aloja. Koneoppimismallit ovat ohjelmistokoodi, joka on kehitetty kielillä, kuten Python ja R, rakennettu TensorFlow-, PyTorch- tai muilla koneoppimiskirjastoilla, joita käytetään alustoilla, kuten Apache Spark, ja jotka on otettu käyttöön pilvi-infrastruktuurissa. Koneoppimismallien kehittäminen ja tuki edellyttävät merkittäviä kokeiluja ja optimointia, ja datatieteilijöiden on osoitettava malliensa tarkkuus.

Kuten ohjelmistokehitys, koneoppimismallit tarvitsevat jatkuvaa ylläpitoa ja parannuksia. Osa tästä tulee koodin, kirjastojen, alustojen ja infrastruktuurin ylläpidosta, mutta myös datatieteilijöiden on oltava huolissaan mallin ajautumisesta. Yksinkertaisesti sanottuna mallin kulkeutuminen tapahtuu, kun uutta tietoa tulee saataville, ja koneoppimismallien antamat ennusteet, klusterit, segmentit ja suositukset poikkeavat odotetuista tuloksista.

Menestyvä mallien hallinta alkaa optimaalisten mallien kehittämisestä

Keskustelin Alteryxin data- ja analyysivastaavan Alan Jacobsonin kanssa siitä, miten organisaatiot menestyvät ja skaalautuvat koneoppimismallien kehittämiseen. ”Mallikehityksen yksinkertaistamiseksi useimpien datatieteilijöiden ensimmäinen haaste on varmistaa vahva ongelman muotoilu. Monet monimutkaiset liiketoimintaongelmat voidaan ratkaista hyvin yksinkertaisella analyysillä, mutta tämä edellyttää ensin ongelman jäsentämistä siten, että data ja analytiikka voivat auttaa vastaamaan kysymykseen. Vaikka monimutkaisia ​​malleja hyödynnetään, prosessin vaikein osa on tyypillisesti tietojen jäsentäminen ja sen varmistaminen, että oikeita syötteitä käytetään oikealla laatutasolla. "

Olen samaa mieltä Jacobsonin kanssa. Liian monta data- ja teknologiatoteutusta alkaa heikosta tai ei lainkaan ongelmalausekkeesta ja riittämättömästä ajasta, työkaluista ja aihealan asiantuntemuksesta riittävän tietojen laadun varmistamiseksi. Organisaatioiden on ensin aloitettava älykkäiden kysymysten esittämisestä isoista tiedoista, sijoittamisesta datapohjoihin ja sitten ketterien tietojenkäsittelymenetelmien käyttämisestä ratkaisujen siirtymiseen.

Koneoppimismallien seuranta mallien ajautumiselle

Tarkan ongelmanmäärittelyn saaminen on kriittistä tuotannon mallien jatkuvan hallinnan ja seurannan kannalta. Jacobson jatkoi selittäen: "Mallien seuranta on tärkeä prosessi, mutta sen tekeminen oikein edellyttää vahvaa ymmärrystä tavoitteista ja mahdollisista haittavaikutuksista, jotka vaativat tarkkailua. Vaikka useimmat keskustelevat mallin suorituskyvyn ja muutoksen seuraamisesta ajan myötä, tärkeämpää ja haastavampaa tässä tilassa on tahattomien seurausten analysointi. "

Yksi helppo tapa ymmärtää mallin kulkeutumista ja tahattomia seurauksia on ottaa huomioon COVID-19: n vaikutus koneoppimismalleihin, jotka on kehitetty ennen pandemiaa saatujen koulutustietojen kanssa. Ihmiskäyttäytymiseen, luonnolliseen kielenkäsittelyyn, kuluttajien kysyntämalleihin tai petosmalleihin perustuvat koneoppimismallit ovat kaikki vaikuttaneet pandemian aikana muuttuneeseen käyttäytymiseen, joka sekoittaa tekoälymalleja.

Teknologian tarjoajat julkaisevat uusia MLops-ominaisuuksia, kun useammat organisaatiot saavat arvoa ja kypsyttävät datatieteen ohjelmiaan. Esimerkiksi SAS esitteli ominaisuusosuusindeksin, joka auttaa tutkijoita arvioimaan malleja ilman kohdemuuttujaa. Cloudera julkisti äskettäin ML-seurantapalvelun, joka sieppaa tekniset suorituskykymittarit ja seuraa mallien ennusteita.

MLops käsittelee myös automaatiota ja yhteistyötä

Koneoppimismallin kehittämisen ja sen seurannan välillä tuotannossa ovat lisätyökalut, prosessit, yhteistyöt ja kyvyt, jotka mahdollistavat datatieteellisten käytäntöjen mittakaavan. Jotkut automaatio- ja infrastruktuurikäytännöt ovat analogisia devopsin kanssa, ja ne sisältävät koneen oppimismallien infrastruktuurin koodina ja CI / CD (jatkuva integrointi / jatkuva käyttöönotto). Toiset sisältävät kehittäjäominaisuudet, kuten mallien versiot niiden taustalla olevista harjoitustiedoista ja mallihakemistosta etsimisen.

MLopsin mielenkiintoisemmat näkökohdat tuovat tieteellisiä menetelmiä ja yhteistyötä tietojenkäsittelytiimeille. Esimerkiksi DataRobot mahdollistaa mestari-haastaja -mallin, joka voi käyttää useita kokeellisia malleja rinnakkain haastaa tuotantoversioiden tarkkuuden. SAS haluaa auttaa datatieteilijöitä parantamaan markkinoiden nopeutta ja tietojen laatua. Alteryx esitteli äskettäin Analytics Hubin, joka auttaa tietojenkäsittelytiimien välistä yhteistyötä ja jakamista.

Kaikki tämä osoittaa, että koneoppimisen hallinta ja skaalaus vaatii paljon enemmän kurinalaisuutta ja käytäntöä kuin yksinkertaisesti pyytää tiedetietäjää koodaamaan ja testaamaan satunnainen metsä, k-keskiarvo tai konvoluutiohermoverkko Pythonissa.