Generatiivinen tekoäly on ollut viime vuosina vahvasti esillä julkisessa keskustelussa. Vaikka perinteistä koneoppimista on hyödynnetty yrityksissä jo pitkään, esimerkiksi ChatGPT:n kaltaisten työkalujen ilmestyminen on tuonut tekoälyn laajemman yleisön saataville. Siinä missä aihe aiemmin puhutti lähinnä siihen vihkiytyneitä, on siitä tullut nyt osa myös laajempaa keskustelua.
Myös teknologiatoimittajien suuret panostukset generatiiviseen tekoälyyn ovat helpottaneet aiheen lähestymistä yhä laajemmalle yleisölle. Samaan aikaan kehitys on ollut huimaa – lähes päivittäin julkaistaan uutisia uusista ominaisuuksista ja työkaluista. Tämä vauhti voi kuitenkin tehdä kokonaisuuden hahmottamisesta haastavaa niille, jotka vasta tutustuvat aiheeseen tai suunnittelevat tekoälyn hyödyntämistä. On vaikea tietää, mistä aloittaa ja mitä mahdollisuuksia ylipäätään olisi käytettävissä.
Tässä blogissa käydään läpi Snowflaken Cortex AI -ratkaisua, sen tarjoamia mahdollisuuksia sekä joitakin keskeisiä käyttötapauksia. Tarkoituksena ei ole antaa kattavaa kuvausta kaikista ominaisuuksista, vaan ennemminkin nostaa esiin muutamia mielenkiintoisia toiminnallisuuksia ja tarjota hyvä lähtöpiste tarkempaan syventymiseen.
Snowflake Cortex AI
Snowflake kutsuu tekoäly- ja koneoppimisisratkaisuaan Cortex AI:ksi. Cortex kuuluu kiinteänä osana Snowflakeen, jolloin sen ominaisuudet ovat suoraan käytettävissä ilman erillisiä asennuksia ja konfigurointeja. Tämä helpottaa käyttöönottoa ja itse käyttöä tarjoamalla:
- Saman skaalautuvuuden kuin Snowflake muutenkin, eli sopeutuu niin pienille kuin suurillekin yrityksille.
- Data säilyy koko ajan Snowflaken sisällä, mikä yksinkertaistaa compliancen ja governancen hallintaa.
- Käyttöoikeuksien määrittely tapahtuu samalla rooleihin perustuvilla ominaisuuksilla, kuin muutenkin Snowflakessa.
- Monia Cortexin toiminallisuuksia voidaan käyttää suoraan Snowsight-konsolista ilman erillistä koodausta, mikä helpottaa varsinkin alkuvaiheessa.
- Cortex mahdollistaa monia eri tapoja hyödyntää malleja. Cortexissa on useita valmiita malleja eri toimittajilta, joita voi tarvittaessa itse jatkokehittää tai mukaan voi tuoda myös omia malleja.
Valmiit funktiot
Koneoppisen funktioilla saadaan automatisoitua ennusteiden ja lisätietojen tuottamista. Funktiot on suunniteltu kutsuttavaksi SQLla ja Pythonilla ja niitä voidaan käyttää kiinteänä osana muuta workflowta. Snowflaken AI&ML Studio mahdollistaa funktioiden määrittelyn suoraan myös käyttöliittymästä. Funktiota voidaan käyttää mm. aikasarjoissa, hyödyntäen niitä tietyn arvon ennustamiseen, poikkeamien tunnistamiseen tai luokitteluun. Tällaisia käyttötapauksia voivat olla esimerkiksi:
- Kysynnän tai myynnin ennustaminen historiallisen datan perusteella
- Poikkeavuuksien tunnistaminen IT-lokeissa tai taloustapahtumissa
- Asiakaspalveluun tulevien viestien luokittelu
LLM funktioita käytetään kirjoitettuun kieleen liittyvissä toimenpiteissä. Funktiot ovat valmiiksi käytettävissä Snowflakessa olevilla malleilla, jolloin käyttöönotto on helppoa ja niitä voidaan kutsua suoraan tai liittämällä jo olemassa oleviin toteutuksiin. Myös nämä funktiot ovat suunniteltu käytettäväksi hyödyntäen SQLlaa tai Pythonia. Funktioita voidaan hyödyntää moninaisissa yhteyksissä, kuten esimerkiksi kielenkäännöksissä, tiivistelmien laatimisessa tai tunnetilan analysoinnissa. Käyttötapauksia LLM funktioiden hyödyntämisessä ovat:
- Tarkkojen tietojen haku suurista tekstiaineistoista
- Asiakirjojen, raporttien tai artikkeleiden tiivistäminen
- Palautteen analysointi positiiviseksi tai negatiiviseksi jatkotoimenpiteitä varten
- Usealla eri kielellä olevien tekstien kääntäminen samalle kielelle
Cortex Analyst
Cortex Analyst puolestaan mahdollistaa ei-teknisille käyttäjille tiedon hakemisen luonnollisella kielellä – ilman SQL-taitoja. Se toimii siltana liiketoiminnan ja datan välillä. Cortex Analystia käytettäessä LLM muuntaa käyttäjän kysymyksen SQL kielelle, jolla haetaan vastaus lähteenä käytettävästä strukturoidusta datasta, kuten esimerkiksi tietovarastosta. Vastauksen yhteydessä saadaan myös selite, kuinka kysymys on ymmärretty sekä SQL-lause, josta selviää mistä tieto haettu. Tämä lisää käyttäjäystävällisyyttä vähentämällä väärinymmärrysten määrää. Vinkit kysymyksen muotoiluun sekä ilmoitukset tilanteissa, joissa vastausta ei voida antaa – vaikkapa puutteellisen datan vuoksi – auttavat käyttäjää toimimaan järjestelmän kanssa tehokkaammin ja luotettavammin.
Kuten muissakin Cortex AI -ominaisuuksissa, myös Cortex Analyst hyödyntää samoja käyttöoikeusrakenteita kuin muualla Snowflakessa. Tämä mahdollistaa helpon ja yhtenäisen oikeuksien hallinnan. Ominaisuus on käytettävissä ulkopuolisista sovelluksista API-rajapinnan kautta, ja se toimii myös yhdessä Snowflaken sisäisen Streamlitin kanssa, jonka avulla voidaan rakentaa nopeasti interaktiivisia sovelluksia. Cortex Analystin käyttötapauksia ovat esimerkiksi:
- Tiedon kysely tarkemmalla tasolla kuin mitä yrityksen perusraportointi tarjoaa
- Yksittäisen tiedon hakeminen tietovarastosta tiettyä käyttötapausta varten
- Erilaiset ad hoc -datatarpeet, joita ilmenee tietovaraston käytön yhteydessä
Cortex Search
Cortex Search -hakupalvelua käytetään tietojen hakemiseen laajoista tietomassoista kirjoitetun tekstin avulla. Se on suunniteltu erityisesti strukturoimattoman datan, kuten dokumenttien, käsittelyyn. Hakutoiminnassa hyödynnetään suuria kielimalleja (LLM) ja RAG-tekniikkaa (Retrieve, Augment, Generate), jolloin haun tuloksena syntyy tarkempia ja kontekstuaalisempia vastauksia. Vastaukset perustuvat aina ennalta määriteltyihin lähteisiin, mikä auttaa minimoimaan hallusinaatioiden riskiä.
Hakupalvelun käyttöönotto onnistuu joko manuaalisesti tai käyttöliittymän kautta hyödyntäen Snowflake AI/ML Studiota. Yksinkertaisimmillaan hakupalvelun pystytys etenee seuraavasti:
- Valitaan käytettävä kielimalli
- Määritetään palvelun tallennuspaikka
- Osoitetaan, mistä datasta vastaukset haetaan
- Määritetään indeksoinnin aikataulu, jotta vastaukset pysyvät ajan tasalla
Hakupalvelua voidaan käyttää Snowflaken sisällä käyttöliittymäpohjaisella Cortex Playgroundilla tai – kuten Cortex Analystin kohdalla – myös API-rajapinnan kautta tai Streamlitin avulla. Käyttötapauksia ovat esimerkiksi:
- Tiedon tarjoaminen kirjoitetun kielen kautta yleisissä käyttötapauksissa
- Hakumoottorina toimivat chatbotit, joita voidaan hyödyntää esimerkiksi asiakaspalvelussa
- Yrityksen sisäinen hakupalvelu, jonka avulla työntekijät löytävät nopeasti tietoa esimerkiksi matkustus- tai IT-hankintaohjeista
Document AI
Document AI mahdollistaa tietojen poimimisen yrityksen strukturoimattomasta datasta (esimerkiksi sopimukset, laskut, kuittien kuvat, lomakkeet tai käsin kirjoitetut asiakirjat) ja tallentaa tiedot strukturoituun muotoon tietokantaan jatkokäsittelyä varten. Tällä ominaisuudella saadaan vähennettyä manuaalista työtä, käsittelyaikaa ja inhimillisiä virheitä.
Tietojen poimimisen prosessi saadaan myös automatisoitua, jolloin poiminta tapahtuu automaattisesti esimerkiksi uuden dokumentin tultua saataville. Poimittuja tietoja voidaan hyödyntää osana jo olemassa olevaa tietovirtaa.
Palvelu voidaan määritellä suoraan Snowflaken käyttöliittymästä. Määrittelyvaiheessa käyttäjä esittää kysymyksiä halutuista tiedoista, jolloin malli oppii poimimaan olennaisen sisällön dokumenteista. Mallin opettaminen tapahtuu graafisen käyttöliittymän kautta, mikä poistaa teknisen erikoisosaamisen vaatimuksen ja mahdollistaa liiketoimintaosaajien osallistumisen suoraan prosessiin.
Poimitut tiedot voidaan tallentaa esimerkiksi tietovaraston tauluihin jatkokäyttöä varten tai hyödyntää osana olemassa olevaa workflow’ta. Document AI -ratkaisua voidaan käyttää esimerkiksi:
- Käyttötapauksissa, joissa halutaan poimia tietoja dokumenteista strukturoituun muotoon
- Dokumenttien tarkistuksen automatisoinnissa, kuten allekirjoitusten olemassaolon tunnistamisessa
- Käsin täytettyjen lomakkeiden tietojen poimimisessa helposti hyödynnettävään muotoon
Huomioita ennen käyttöönottoa
Snowflake Cortex AI tarjoaa laajan ja kattavan valikoiman valmiita AI/ML-ominaisuuksia liiketoiminnan tueksi. Käyttöönotto on tehty helpoksi monien sisäänrakennettujen työkalujen ja käyttöliittymien ansiosta. On kuitenkin tärkeää huomioida myös muita näkökulmia ennen ratkaisujen viemistä tuotantoon – erityisesti dataan liittyviä. Alla muutamia keskeisiä huomioita:
- Käyttötapaukset: Käyttötapausten huolellisella suunnittelulla on keskeinen rooli. Mitä ongelmaa ollaan ratkaisemassa? Mikä on tavoiteltu lopputulos? Mitkä ovat sen vaikutukset, hyödyt ja liiketoiminnalliset tavoitteet?
- Data-arkkitehtuuri: Tukeeko nykyinen data-arkkitehtuuri AI/ML-ratkaisujen käyttöönottoa? Kuinka pitkälle voidaan hyödyntää olemassa olevia rakenteita? Tarvitaanko muutoksia, jotta arkkitehtuuri tukee tekoälyn ja koneoppimisen tarpeita? Ideaalisti AI/ML on yksi datan hyödyntäjistä ja tuottajista muiden joukossa.
- Datan ja sen laatu: Onko tarvittava data jo olemassa tai hankittavissa käyttötapaukseen? Mikä on datan nykyinen laatu? Tarvitaanko toimenpiteitä, jotta data täyttää laatuvaatimukset? Laadukas data on onnistuneen tekoälyratkaisun perusta.
- AI on yhtä hyvä kuin datasi!
-Asko Ovaska
Etlia on toteuttamassa useita Snowflake-ratkaisuja eri asiakkaille – mikäli kiinnostuit tai haluat kuulla lisää, ota rohkeasti yhteyttä!