Koneoppimisen pilotointia ylinopeudella – Google Cloud ja AutoML hyötykäytössä

Koneoppimisen pilotointia ylinopeudella – Google Cloud ja AutoML hyötykäytössä

Voiko moderneilla koneoppimistyökaluilla tehdä viikon työt yhdessä iltapäivässä? Koneoppimismallien kehitystyö on perinteisesti ollut erittäin iteratiivinen prosessi. Perinteinen koneoppimisprojekti aloitetaan datasettien valinnalla ja esikäsittelyllä: puhdistuksella ja preprosessoinnilla. Vasta tämän jälkeen voidaan aloittaa varsinainen koneoppimismallin kehitystyö.

On erittäin harvinaista, käytännössä mahdotonta, että uusi koneoppimismalli kykenee ensimmäisellä yrittämällä antamaan riittävän hyviä ennusteita. Kehitystyö sisältääkin perinteisesti merkittävän määrän epäonnistumisia niin algoritmien valinnassa kuin niiden hienosäädössä, ammattikielellä hyperparametrien tuunauksessa.

Kaikki tämä vaatii työaikaa, toisin sanoen rahaa. Entä, jos datan puhdistamisen jälkeen kaikki kehitystyön vaiheet voisi automatisoida? Entä, jos kehitysprojekti voitaisiin viedä läpi ylinopeudella tahdilla sprintti per päivä?

 

Koneoppiminen ja automaatio

Viime vuosina koneoppimismallien rakentamisen automatisointi (AutoML) on ottanut merkittäviä harppauksia. Karkeasti kuvattuna perinteisessä koneoppimisessa data scientist rakentaa koneoppimismallin ja kouluttaa sen isohkolla datasetillä. AutoML puolestaan on uudehko lähestymistapa, jossa koneoppimismalli rakentaa ja kouluttaa itse itsensä isohkon datasetin avulla.

Data scientistin ei tarvitse kuin kertoa, millainen ongelma on kyseessä. Kyseessä voi olla esimerkiksi konenäköön, hinnoitteluun tai vaikkapa tekstianalyysiin liittyvä ongelma. Työttömäksi data scientist ei kuitenkaan AutoML-mallien takia jää. Työkuorma siirtyy mallin hienosäädöstä validointiin ja explainable-AI -työkalujen käyttöön.

 

Google Cloud ja AutoML saivat käytännön haasteen

Jokin aika sitten testasimme Codentolla Google Cloud AutoML-pohjaisia koneoppimistyökaluja [1]. Tavoitteenamme oli selvittää, miten Google Cloudin AutoML-työkalu suoriutuu Kagglen House Prices – Advanced Regression Techniques -haasteesta [2]. 

Tavoitteena haasteessa on rakentaa mahdollisimman tarkka työkalu ennustamaan asuntojen myyntihintoja niiden ominaisuuksien perusteella. Hinnoittelumallin rakennuksessa käytetty datasetti sisälsi noin 1400 asunnon tiedot: Yhteensä 80 erilaista potentiaalisesti hintaan vaikuttavaa parametria sekä asuntojen toteutuneet myyntihinnat. Osa parametreista on numeerisia, osa puolestaan kategorisia.

 

Mallin rakentaminen käytännössä

Käytettävä data oli valmiiksi siivottua. Koneoppimismallin rakentamisen ensimmäinen vaihe oli siis valmiiksi tehty. Ensin datasetti, csv-muotoinen tiedosto, ladattiin sellaisenaan Google Cloudin BigQuery-datavarastoon. Latauksessa hyödynnettiin BigQueryn kykyä tunnistaa tietokantaskema suoraan tiedoston rakenteesta. Varsinaisen mallin rakentamisessa hyödynnettiin VertexAI-työkalusta löytyvää AutoML Tabular -ominaisuutta.

Lyhyen kliksuttelun jälkeen työkalulle oli saatu kerrottua, mitkä hintaa ennustavista parametreista olivat numeerisia ja mitkä kategorisia muuttujia. Lisäksi työkalulle kerrottiin, minkä nimiseltä sarakkeelta löytyy ennustettava parametri. Kaikkeen tähän kului työaikaa noin tunti. Tämän jälkeen koulutus käynnistettiin ja ryhdyttiin odottamaan tuloksia. Noin 2,5 tuntia myöhemmin Google Cloudin robotti lähetti sähköpostin ilmoittaen mallin olevan valmis.

 

Lopputulos yllätti positiivisesti

AutoML:n luoman mallin tarkkuus yllätti kehittäjät. Google Cloud AutoML kykeni rakentamaan itsenäisesti hinnoittelumallin, jonka ennustaa asuntojen hintoja noin 90% tarkkuudella. Tarkkuustaso sinänsä ei poikkea hinnoittelumallien yleisestä tarkkuustasosta. Huomattavaa tässä on kuitenkin se, että tämän mallin kehitystyöhön kului yhteensä puolikas työpäivä. 

Google Clloudin AutoML:n edut eivät kuitenkaan lopu tähän. Tämä malli olisi mahdollista liittää hyvin pienellä vaivalla osaksi Google Cloudin dataputkistoa. Malli voitaisiin myös ladata konttina ja ottaa käyttöön muissa pilvipalveluissa.

 

Jatkohyödyntäminen kannattaa

AutoML:ään perustuvia työkaluja voi hyvästä syystä pitää koneoppimisen uusimpana merkittävänä kehitysaskeleena. Työkalujen ansiosta yksittäisen koneoppimismallin kehitystyötä ei enää tarvitse ajatella projektina tai investointina. Näiden työkalujen koko potentiaalia hyödyntämällä voidaan malleja rakentaa likimain nollabudjetilla. Uusia koneoppimiseen pohjautuvia ennustemalleja voidaan rakentaa melkeinpä hetken mielijohteesta

AutoML-työkalujen tehokas käyttöönotto kuitenkin vaatii merkittäviä alkuinvestointeja. Työkaluja hyödyntävän organisaation liiketoiminnan koko datainfra, säilytysratkaisut, dataputket sekä visualisointikerrokset, on ensin rakennettava pilvinatiiveilla työkaluilla. Codenton sertifioidut pilviarkkitehdit ja datainsinöörit auttavat näissä haasteissa.

Lähteet:

  1. Google Cloud AutoML, https://cloud.google.com/automl 
  2. Kaggle, House Prices – Advanced Regression Techniques, https://www.kaggle.com/competitions/house-prices-advanced-regression-techniques/ 

 

Artikkelin kirjoittaja on Jari Rinta-aho, Senior Data Scientist & Consultant, Codento. Jari on koneoppimisesta ja matematiikasta kiinnostunut konsultti ja fyysikko, jolla on laaja kokemus koneoppimisen hyödyntämisestä ydinenergian parista. Hän on myös opettanut yliopistossa fysiikkaa sekä johtanut kansainvälisiä tutkimusprojekteja. Jarin kiinnostuksen kohteet ovat ML-Ops, AutoML, Explainable AI ja Teollisuus 4.0.

 

 

Kysy lisää Codenton AI- ja datapalveluista: