Tekoälyä helposti saatavilla: valmiilla Azuren tekoälymallilla arvontuotto on nopeampaa

Tekoälyn suosion kasvaessa yritykset etsivät tapoja hyödyntää sen tarjoamia mahdollisuuksia. Azure tarjoaa monipuolisen valikoiman tekoälypalveluita, jotka helpottavat liiketoimintaongelmien ratkaisemista. Yksi näistä on Azure Cognitive Services, joka tarjoaa valmiiksi koulutettuja tekoälymalleja erilaisiin yleisiin käyttötapauksiin. Valmiit ratkaisut auttavat välttämään sudenkuopat ja tekevät tekoälyn hyödyntämisestä helpompaa ja edullisempaa.

Juttua päivitetty 18.9.2023

Mikään ei ole niin varmaa kuin muutos - Tervetuloa Azure AI! 1.7.2023 alkaen kaikki käyttövalmiita malleja tarjoavat palvelut (Azure Cognitive Services sekä Applied AI Services) on keskitetty Azure AI -kategorian alle. Tämä artikkeli on kirjoitettu ennen kategorioiden yhdistämistä ja siksi tässä artikkelissa keskitytään niihin toimintoihin, jotka aiemmin olivat Azure Cognitive Services.

DALLE 2:n, ChatGPT:n ja muiden GenAI-työkalujen suosion myötä tekoälyn ympärillä käyvä hype on valtava. Tämän johdosta moni yritys varmasti miettii, miten he voisivat hyödyntää näitä teknologioita. Tässä blogipostauksessa esittelen muutaman Azuren tarjoaman palvelun. En kirjoita ML-studiosta tai GitHub-Copilotista, eikä sinun tarvitse lukea riviäkään koodia - tarkoitus on korostaa kuinka monipuolisia, tehokkaita ja ennen kaikkea helppokäyttöisiä tekoälypalveluita Azuresta löytyy.  

Jos sinulla on kiire, ei hätää; tässä erittäin nopea yhteenveto:

Azure tarjoaa useita tekoälyyn liittyviä palvelukategorioita, joista Azure Cognitive Services on yksi. Azure Cognitive Service -palveluiden ydinajatus on se, että ne tarjoavat valmiiksi koulutettuja ja hallittuja tekoälymalleja peruskäyttötapauksiin. Azure Cognitive Services -kategoria sisältää viisi erillistä palvelua, joilla kaikilla on useita eri toiminnallisuuksia tarjoavia API:ja. Palvelut ovat:

  • Näkö (Vision)
  • Puhe (Speech)
  • Kieli (Language)
  • Päätöksenteko (Decision)
  • Azure OpenAI  

Suurin osa malleista on muokattavissa, joten voit parantaa niiden suorituskykyä käyttämällä omaa harjoitusdataasi. Mallit voidaan ottaa käyttöön myös kontteina lähes missä tahansa ympäristössä, jolloin sinulla on täysi kontrolli mallin versiosta ja datastasi.  

Räätälöidyn tekoälyratkaisun rakentaminen vaatii osaamista

Jos olet vielä mukana, niin muutama sana "perinteisen” tekoälyprojektin kulusta ennen kuin syvennytään Azuren palveluihin. Perinteisellä tarkoitan tässä tilannetta, jossa mallin koulutusajo hoidetaan itse.

  1. Ongelman valinta. On ensiarvoisen tärkeää valita olemassa oleva ongelma, jonka ratkaisu tuottaa arvoa. Jos lähtee etsimään ongelmaa, jonka tekoälyä hyödyntämällä voisi ratkaista, päätyy todennäköisemmin keksimään itselleen sopivan ongelman. Ja vaikka ratkaisu sinällään onnistuisikin, arvon tuotto jää matalaksi, koska ongelma ei ollut varsinainen ongelma alkujaankaan. Eli pyritään valitsemaan oikea ongelma, ja valitaan työkalut sen mukaan.
  1. Kerää ja valmistele harjoitus- sekä testidata. Tekoäly elää datasta ja useimmat sen virheet johtuvat sen saamasta harjoitusdatasta. Tämä on tärkein askel oman tekoälyratkaisun kehitysprosessissa. Datan keräystä varten pitää tunnistaa asiaankuuluvat tietolähteet, jonka jälkeen data pitää usein esikäsitellä. Tätä varten on erittäin hyödyllistä, jos oman mallin kouluttamiseen tarvittava data on säilötty oikein skaalautuvalle data-alustalle.
  1. Kouluta malli. Kun olet valmistellut datan, seuraava vaihe on valita ongelmaan sopiva tekoälymalli ja kouluttaa se harjoitusdatan avulla.  
  1. Validoi ja tarkenna mallia. Tässä vaiheessa tarkistetaan, mihin malli pystyy, mutta myös tunnistetaan vinoumia ja muita ei-toivottuja ominaisuuksia. Näiden poistaminen vaatii usein muutoksia harjoitusdataan ja koulutusmenetelmiin.
  1. Ota malli käyttöön. Kun sinulla on malli, joka täyttää halutun tarkkuuden ja kokonaissuorituskyvyn tason, seuraava vaihe on ottaa se käyttöön. Tämä tarkoittaa mallin integroimista olemassa olevaan infrastruktuuriin, sen testaamista todellisessa ympäristössä ja sen suorituskyvyn seuraamista ajan mittaan eli niin sanottua MLOpsia.

Eri ongelmiin käytetään erilaisia malleja, ja eri mallit tarvitsevat erilaisia määriä harjoitusdataa. Yleisesti ottaen (ja tätä blogipostausta varten) voitaneen todeta, että mitä enemmän "älyä" ongelman ratkaisemiseen tarvitaan, sitä enemmän harjoitusdataa tarvitaan.  

Käytettävissä olevan harjoitusdatan määrä ja laatu ei välttämättä ole ensisijainen ongelma. Edellä hahmoteltu prosessi edellyttää osaavia asiantuntijoita, joita ei välttämättä nykyisiltä työmarkkinoilta noin vain löydykään.  

Lyhyestä virsi kaunis; liiketoiminnan ongelmien ratkaiseminen tekoälyn avulla ei välttämättä ole aivan helppoa eikä halpaa. Pitää myös muistaa, että tekoälyn hyödyntämisen on oltava tuottava päätös, eli tekoälyn käyttäminen ihan vain tekoälyn käyttämisen takia on yksinkertaisesti hölmöä.

Kierrä sudenkuopat Azure Cognitive Services -palvelulla

Tekoälyn hyödyntäminen itse rakennetuilla ratkaisuilla voi siis olla hankalaa ja kallista. Onneksi monilla yrityksillä on hyvin samantapaisia ongelmia, ja suuret pilvipalveluntarjoajat, kuten Microsoft, ovat nähneet tässä liiketoimintamahdollisuuden, ja tarjoavat perustason tekoälytyökaluja palveluna. Konsepti on sama, kuin esimerkiksi tietokantapalvelun käyttö. Pilvipalvelun tarjoaja hoitaa muun muassa päivitykset ja varmuuskopioinnin ja sinä vain käytät kantaa.

Eli nykyään AI Serviceen yhdistetyssä Cognitive Services -tapauksessa Microsoft hoitaa mallien kouluttumisen, päivittämisen ja niiden ajon. Sinun tarvitsee vain integroida ne omaan ratkaisuusi.

Azuressa tekoälyyn liittyviä palveluita löytyy muutaman eri kategorian alta:

  • Azure AI Services (uusi kategoria johon on yhdistetty Azure Cognitive Services ja Azure Applied AI)
  • Azure Machine Learning

Yhdeksi Azure AI Services -kategoriaksi yhdistetyt, aiemmin Applied AI:n ja Cognitive Services -kategorioiden, palvelut tarjoavat valmiiksi koulutettuja malleja. Azure Machine Learning tarjoaa työkalut omien mallien kouluttamiseen.

Kaikki näistä palveluista ovat erittäin tehokkaita, ja oikeassa tilanteessa hyödyllisiä, mutta tässä kirjoituksessa keskityn Azure Cognitive Services -kategoriaan. Kategoria sisältää viisi palvelua, joista jokainen tarjoaa useita API:ja; eri API:t tarjoavat eri toimintoja. Palveluiden integrointi on helppoa, tarjolla on perinteisesti SDK sekä Rest API. Power Platfomin puolella palveluita voi hyödyntää tarjolla olevilla Connectoreilla ja AI Builderin avulla.  

Azure Cognitive Services ja niiden tarjoamat toiminnot lyhykäisyydessään:

  1. Puhe (Speech) muuta tekstistä puheeksi ja päinvastoin, kääntäminen sekä äänen tunnistaminen
  1. Kieli (Language): entiteettien tunnistaminen tekstistä, tunneanalyysi, keskusteluratkaisut, kääntäminen
  1. Näkö (Vision): räätälöidyt konenäköpalvelut eli voit jatkokouluttaa perusmallin omalla datallasi, kuva-analyysi  
  1. Päätöksenteko (Decision): sisällön personointi, sisällön moderointi, poikkeamien havaitseminen
  1. OpenAI -palvelut: uusimman hypen kohteen, Open AI:n malleja tarjoava palvelu. Käytännössä palvelu mahdollistaa esimerkiksi ChatGPT:n ja GitHub Copilotin takana olevien mallien ajamisen omassa Azure-tilauksessasi.  

Edellä mainituista OpenAI -palvelu on uusin lisäys. Koska palvelu ei ole vielä kaikkien saatavilla, ja OpenAI -aiheisia blogeja on jo jokunen, keskityn loppupostauksessa ensimmäiseen neljään palveluun.  

Muutama vinkki Azure Cognitive Services –palveluiden hyödyntämiseen

Azurella on siis nämä palvelut, mutta mitä ihmettä niillä voi tehdä?  

 Kuten edellä mainitsin, Puhe-palvelu voi muuttaa puheen tekstiksi. Tämä on hyödyllistä monissa tapauksissa, joissa käyttäjän kädet ovat varattuina, mutta hänen pitäisi tehdä muistiinpanoja. Tästä ainakin itselleni tulee mieleen työntekijät, jotka viettävät aikaa tien päällä kokousten tai vastaavien tapahtumien välillä. Me kaikki tiedämme sen tunteen, kun olet ollut kokouksessa, ajanut takaisin toimistolle ja alkaessasi kirjoittaa muistiinpanojasi, kokous on vain liuta hajanaisia ideoita. Finnlinesilla oli juuri tämä ongelma, jonka ratkaisimme Azure Cognitive Services -palveluiden avulla.

Tuottavuuden parantaminen on mahdollista myös erinäisissä kunnossapidon toimissa. Kun teknikko työskentelee, hän ei voi pysähtyä kirjoittamaan havaintojaan, mutta voisiko hän sanella ne? Tämä tekisi kunnossapitoon liittyvien tietojen keräämisestä paljon tehokkaampaa.  

Nyt sinulla on siis kasa tekstiä sanelluista kokousmuistiinpanoista, huoltotöistä, kotihoidon hoitajien potilasmuistiinpanoista, asiakaspalvelupuheluista tai mistä tahansa. Muistiinpanot voivat toki olla hyödyllisiä sellaisenaan, mutta voimme rikastuttaa niitä lisää käyttämällä Azure Cognitive Services Kieli -palvelua.  

Kuvittele tilanne, jossa jopa kymmeniä minuutteja kestäneen asiakaspalvelupuhelun keskustelu on muutettu tekstiksi. On muuten aikamoinen muistiinpano CRM:ssäsi - ei kovin käytännöllistä. Dataa voidaan jalostaa käyttämällä Kieli-palvelun "Entiteettien tunnistaminen" ja “Avainsana ”-API:ja. Näin voidaan poimia puhelun keskeiset käsitteet sekä ajatukset ja muuttaa ne avainsanoiksi. Voisimme myös tiivistää puhelun tietyn pituiseksi tekstiksi ”Tiivistä”-APIn avulla. Tai ehkä emme välitä siitä, mistä keskustelussa oli kyse, vaan haluamme vain tehdä muistiinpanon siitä, miten puhelu meni. Tähän voisit käyttää “Sentimenttianalyysi”- APIa.  Nyt puhelusta kerätty data on jo jalostettu huomattavasti hyödyllisempään muotoon.  

Siirrytään kielestä eteenpäin. Kategoria on nimeltään kognitiiviset palvelut, joten ei ole suuri yllätys, että päätösten tekeminen tai niiden tukeminen on osa tarjontaa. Yksi Päätöksenteko-palvelun API:ista on häiriön havaitseminen. Kuten nimikin kertoo, se tunnistaa poikkeavaisuuksia datasta. Koska tämä palvelu keskittyy pääasiassa aikasarjadataan, IoT -laitteet ovat täydellinen datalähde. Yksi hieno ominaisuus on se, että "Multivariate Anomaly Detection" -API:n avulla voit syöttää palveluun jopa 300 signaalia, joista palvelu luo itselleen kokonaisnäkemyksen valvottavasta järjestelmästä, ja raportoi häiriöt sen perusteella.

Ehkä et työskentele teollisessa ympäristössä, mutta ylläpidät verkkopalvelua, etkä halua, että alustalla leviää loukkaavaa sisältöä? Ei hätää, Päätöksenteko -palvelussa on "Sisällön moderointi" -API, jonka avulla voit valvoa teksti-, kuva- ja videosisältöä. Tämäkin on hyvin yleinen käyttötapaus, mutta tehtävä, jonka tekeminen manuaalisesti on työlästä ja jota on vaikea automatisoida täysin itse rakennetulla sovelluksella. Tekoälyä hyödyntävien palvelujen avulla ominaisuuden toteutus on jälleen vain yksi API-kutsu.  

Mitä jos valmis malli ei riitäkään? 

Näiden palveluiden hienous on omasta mielestäni se, että niiden käyttäminen on helppoa, eivätkä ne vaadi oman harjoitusdatan käyttöä. Tämä on tärkeää, koska data on se, mistä useat tekoälysovellusten ongelmat (kuten vinoumat) kumpuavat. Microsoft on sitoutunut vastuulliseen tekoälyyn, joten itse ainakin uskon, että he ovat panostaneet huomattavasti siihen, että meille tarjotut palvelut eivät sisältäisi esimerkiksi syrjiviä vinoumia.  

Siistiä on myös se, että vaikka omaa harjoitusdataa ei vaadita, sitä voi tarvittaessa käyttää ja sen avulla voi jatkokouluttaa palvelun perusmallia. Ensimmäisen esimerkkini kaltaisessa tilanteessa käyttötapaus saattaa sisältää paljon toimialakohtaista terminologiaa, ja huomaat, että perusmalli ei käsittele niitä kovin hyvin. Tai ehkä ääni kerätään useimmiten meluisassa ympäristössä? Tällaisia tilanteita varten voit parantaa esikoulutettua perusmallia omalla datallasi ja tehdä tuloksista vielä paljon tarkempia. Suurimassa osassa Azure Cognitive Services -kategorian palveluissa on tällainen räätälöintimahdollisuus.

Azuren palveluissa data on sinun

Nyt kun kuu on jo luvattu taivaalta, on hyvä hetki mainita sana tai kaksi datan omistuksesta ja tietosuojasta: Cognitive Services -palveluita käyttäessä data on sinun, eikä sitä käytetä mallien jatkokoulutukseen. Poikkeuksen tähän tekee OpenAI -palvelu. OpenAI -palvelun kohdalla Microsoft lukee sekä tallentaa mallille syötettyjä syötteitä ja sen vastauksia, myös mahdollinen jatkokoulutusdata tallennetaan. Nyrkkisääntönä, jos data olisi printatussa muodossa, voisitko jakaa siitä kopion jokaiselle vastaantulijalle? Jos kyllä, voit syöttää sen myös OpenAI:n mallille.

Jos sinulla sattuu olemaan todella tiukat datan hallintavaatimukset, voit ottaa Cognitive Services -palvelut käyttöön kontteina missä tahansa ympäristössä! Mallin ajaminen Docker konttina mahdollistaa esimerkiksi sen sijoittamisen reunalle, vaikka liikkuvaan koneeseen. Tällöin saavutetaan myös pienemmät viiveet ja kevyemmät verkkoyhteysvaatimukset, koska mitään tietoja ei tarvitse lähettää Azureen arviointia varten; kaikki tapahtuu sinun omassa ympäristössäsi, jossa sinulla on täysi kontrolli datastasi.  

Tämä oli vain pieni johdatus osaan Azuren tekoälypalveluista. OpenAI -sekä Applied AI -palvelut ja kaikki räätälöintimahdollisuudet jäivät pois, mutta jätetään ne seuraavaan postaukseen.