Tekoälyn kehitystyö – tuottavuuden jäljillä

Tekoälyn kehitystyö ei ole immuuni tehokkuusvaatimuksille: miten kehityspanostuksista saisi mahdollisimman paljon irti?  Viimeaikaisessa tekoälyn kehitystyössä on saatu merkittäviä tuloksia, mutta tekeminen on vielä alkuvaiheessa ja vaatii työkaluja, joilla kehitystä voi tehdä tehokkaasti.

Tekoälyn kehityksen ja kehitysympäristöjen nykytilanne

Aloitin itse ohjelmoinnin 90-luvun alussa, ja ohjelmistokehitys työkaluineen on ottanut valtavia harppauksia eteenpäin noista vuosista. Manuaalisesta työstä ei olla vielä kokonaan irti, mutta ohjelmointikielien parantunut ilmaisuvoima, automaatio ja visuaaliset kehitysympäristöt ovat nostaneet tuottavuuden aivan uudelle tasolle. Ja saman olen voinut todeta myös esim. palvelininfrastruktuurin kehityksessä ja hallinnassa – sopivilla ympäristöillä ja työkaluilla omasta ajasta ja panoksesta saa enemmän irti.

Kun palasin vuosien tauon jälkeen neuroverkkolaskennan pariin tekemään deep learning -tekoälykehitystä, huomasin, miten jäsentymättömässä vaiheessa tekoälyn kehitystyö vielä on. Datatieteilijän työhön kuuluu paljon asioita, jotka voivat olla toissijaisia varsinaisen tekoälyn kehityksen kannalta, mutta ne on silti pakko tehdä tavoitteeseen pääsemiseksi, jos vaihtoehtoisia ratkaisuja ei ole käytettävissä.

Luonnollista on, että esimerkiksi dataa joudutaan puhdistamaan ja muuten käsittelemään ennen tekoälyn opettamista, mutta usein kehittäjät joutuvat itse myös hallitsemaan kehitys- ja laskentaympäristöjä: haastavat grafiikkaprosessorilaskentaympäristöt ja niihin liittyvät avoimen lähdekoodin AI-kehitysympäristöt eivät ole IT-osastoille useinkaan tuttuja. Lisäksi vaativassa kehityksessä lisähaasteita tuovat tekoälyn opettamisen vaatimukset muistin määrän ja datansiirtonopeuden suhteen.

Edellytyksenä riittävät kehitysalustat ja -ympäristöt

Tekoälyn kehitystyökalut tuotteistuvat vähitellen kuten on tapahtunut myös ohjelmistokehityksen ja IT-infrastruktuurin suhteen. Laskentapalvelimien rakentaminen tai kehitysympäristöjen virittäminen ei ole enää täysin välttämätöntä datatieteilijöille, vaan heidän aikansa on mahdollista suunnata kokonaisvaltaisemmin varsinaiseen tekoälyratkaisuiden kehittämiseen.

PowerAI on yksi IBM:n monipuolisimmista AI-kehitysalustoista ja tekee kehitystyöstä tuottavaa tekemällä siitä suoraviivaisen mielekästä. PowerAI tarjoaa kehitystyökalujen tuotteistusta kolmesta olennaisesta näkökulmasta, jotka vaikuttavat tuottavuuteen.

Ensiksikin, PowerAI sisältää tarvittavat laitteistoresurssit sekä ohjelmistot tekoälykehitykseen ja sen tuottavuuden parantamiseen. Kontitettavassa järjestelmässä on mahdollista ajaa tuttuja deep learning -kehitysympäristöjä hyödyntäen viimeisimpiä NVIDIA V100 -grafiikkasuorittimia, jotka tarjoavat markkinoiden parasta suorituskykyä deep learning -kehityksessä. Perinteisellä AI-kehittäjällä tai -tiimillä on valmiina käytössään mm. laitteistolle optimoidut Tensorflow, Keras, Caffe, Torch, jne., joita alalla käytetään yleisesti. Toisaalta tuottavuutta voi parantaa myös korkeamman tason toiminnallisuudella: automatiikkaa tarjoava PowerAI Deep Learning Impact auttaa mm. kehitettävän tekoälyn optimoimisessa ja opetuksen seurannassa ja PowerAI Vision tarjoaa kokonaisen workflown sellaisille hyödyntäjille, jotka ovat alussa deep learning -kehityksen suhteen tai haluavat muuten päästä suoraviivaisemmin kiinni tekoälykehitykseen. Tekoälyn kehittäminen on muuttumassa enemmän automatisoituun suuntaan, kuten on tapahtunut jo aiemmin ohjelmistokehityksessä ja infrastruktuurihallinnassa.

Toiseksi, PowerAI perustuu IBM:n uusimpiin PowerPC-palvelinratkaisuihin, mikä mahdollistaa uudenlaisen laitteistoresurssien hyväksikäytön laskennallisesti vaativassa deep learning -tekoälykehityksessä. Niin sanottu ”large model support” tarjoaa mahdollisuuden käyttää tekoälyn opetuksessa grafiikkasuorittimien rajallisen muistin lisäksi myös tehokkaasti järjestelmän keskusmuistia. PowerAI-järjestelmissä keskusmuistia on käytettävissä 500-2000 gigatavua verrattuna yksittäisten grafiikkasuorittimien 8-32 gigatavuun, joten myös tällainen nopean muistin määrän merkittävä lisäys tekoälyn opetuksessa mahdollistaa tehokkaamman kehitystyön.

Kolmantena, PowerAI tarjoaa tuotteistettuna toiminnallisuutena laitteisto- ja ohjelmistotuen tekoälykehityksessä tarvittavan raskaan neuroverkkolaskennan hajauttamiseksi useammalle koneelle, joten laskentapalvelinklusterin rakentamisesta tulee suoraviivaisempaa. Ilman tällaista valmista ratkaisua laskentaklusterin kehittäjä ja ylläpitäjä joutuvat tekemään erillisiä ratkaisuja laskennan hajauttamiselle. Kun laskenta saadaan hajautettua, tekoälykehitys nopeutuu ja skaalautuu. Kun laskenta on nopeaa ja kun kaikille kehittäjille on teknisesti helppoa järjestää resursseja, ei turhaan käytetä aikaa tulosten odotteluun, vaan tekoälykehityksen tuottavuus on nähtävissä koko ajan.

Tekoälykehitykseen investoivat keräävät isoimmat hedelmät

Tekoäly on nyt yhteiskunnallisen ja teknisen kehityksen keskiössä. Samalla deep learning -pohjainen tekoälykehitys on merkittävä osa tätä kehitystä. Osana digitalisoinnin välinepalettia tekoälykehitys automatisoi toimintoja niin tuotteissa ja käyttökokemuksissa kuin organisaatioiden sisäisissä prosesseissakin. Tässä kehityksessä on tärkeää olla mukana tavalla tai toisella. Resursseja tekoälykehitykseen investoivat toimijat tulevat keräämään isoimmat hedelmät.

Sopivien tekoälykehityksen alustojen hyödyntäminen on yksi keino moninkertaistaa kehityksen tuottavuus. IBM PowerAI tukee datatieteilijöiden deep learning -työtä merkittävästi ja mahdollistaa tekoälykehityksen nopeamman aloittamisen. Lisäksi järjestelmän hyödynnettävyys osana pilvipalvelua tai asennettuna oman organisaation palomuurin taakse mahdollistaa joustavasti käytettävyyden mm. datan sensitiivisyyttä ajatellen.

 

Lue lisää:

Deep learning platform.
Hitting the Wall with Server Infrastructure for Artificial Intelligence.


Lue myös, miten Yhdysvaltain Oak Ridge National Laboratoryn uusi supertietokone rakennettiin PowerAI-koneista.

 

Avainsanat: data, deep learning, PowerAI, tekoäly

Kommentit