Google Cloud Nordic Summit 2023: Kolme keskeistä poimintaa

Google Cloud Nordic Summit 2023: Kolme keskeistä poimintaa

Kirjoittajat: Jari Timonen, Janne Flinck, Google Bard

 

Codento  osallistui kuuden hengen tiimin kanssa Google Cloud Nordic Summit -tapahtumaan 19.–20.9.2023, jossa meillä oli mahdollisuus tutustua uusimpiin trendeihin ja kehitykseen pilvipalveluissa.

Tässä blogiviestissä jaamme joitain konferenssin tärkeimmistä teknisistä poiminnoista kehittäjän näkökulmasta.

 

Yritysluokan luova tekoäly laajamittaiseen toteutukseen

Yksi konferenssin jännittävimmistä aiheista oli Generatiivinen AI (GenAI). GenAI on tekoäly, joka voi luoda uutta sisältöä, kuten tekstiä, koodia, kuvia ja musiikkia. GenAI on vielä kehitysvaiheessa, mutta sillä on potentiaalia mullistaa monia toimialoja.

Konferenssissa Google Cloud ilmoitti, että sen GenAI-työkalusarja on valmis laajempiin toteutuksiin. Tämä on merkittävä virstanpylväs, koska se tarkoittaa, että GenAI ei ole enää vain tutkimusprojekti, vaan teknologia, joka

voidaan käyttää todellisten ongelmien ratkaisemiseen.

Yksi Google Cloudin GenAI-tekniikoiden tärkeimmistä eroista on niiden keskittyminen skaalautumiseen ja luotettavuuteen. Google Cloudilla on pitkä kokemus laajamittaisten tekoälytyökuormien suorittamisesta, ja se tuo tämän asiantuntemuksen GenAI-avaruuteen. Tämä tekee Google Cloudista hyvän valinnan yrityksille, jotka haluavat ottaa GenAI:n käyttöön laajasti.

 

Cloud Run auttaa kehittäjiä keskittymään koodin kirjoittamiseen

Toinen konferenssissa laajasti käsitelty aihe oli Cloud Run. Cloud Run on palvelimeton laskenta-alusta, jonka avulla kehittäjät voivat suorittaa koodiaan ilman, että heidän tarvitsee hallita palvelimia tai infrastruktuuria. Cloud Run on yksinkertainen ja kustannustehokas tapa ottaa käyttöön ja hallita verkkosovelluksia, mikropalveluita ja tapahtumapohjaisia työkuormia.

Yksi Cloud Runin tärkeimmistä eduista on sen helppokäyttöisyys. Kehittäjät voivat ottaa koodinsa käyttöön Cloud Runissa yhdellä komennolla, ja Google Cloud hoitaa loput. Tämä vapauttaa kehittäjät keskittymään koodin kirjoittamiseen infrastruktuurin hallintaan.

Google julkaisi juuri Direct VPC -lähtötoiminnon Cloud Ru

 

nille. Se alentaa viivettä ja lisää suorituskykyä yhteyksissä VPC-verkkoosi. Se on kustannustehokkaampaa kuin palvelimettomat VPC-liittimet, jotka olivat aiemmin ainoa tapa yhdistää VPC:si pilveen
Juosta.

Toinen Cloud Runin etu on, että se on kustannustehokas. Kehittäjät maksavat vain resursseista, jotka heidän koodinsa kuluttavat, eikä niistä aiheudu ennakkokustannuksia tai pitkäaikaisia sitoumuksia. Tämä tekee Cloud Runista hyvän valinnan kaikille yrityksille.

 

Site Reliability Engineering (SRE) lisää asiakastyytyväisyyttä

Site Reliability Engineering (SRE) on tieteenala, joka yhdistää ohjelmistosuunnittelun ja järjestelmäsuunnittelun varmistaakseen ohjelmistojärjestelmien luotettavuuden ja suorituskyvyn. SRE:stä on tulossa yhä tärkeämpi, kun yritykset luottavat yhä enemmän pilvipohjaisiin sovelluksiin.

Konferenssissa Google Cloud korosti SRE:n merkitystä nykyisille ja tuleville ohjelmistotiimeille ja yrityksille.

Yksi SRE:n tärkeimmistä eduista on, että se voi auttaa yrityksiä parantamaan ohjelmistojärjestelmiensä luotettavuutta ja suorituskykyä. Tämä voi vähentää seisokkeja ja parantaa käyttömukavuutta
tyytyväisyyteen ja tulojen kasvuun.

Toinen SRE:n etu on, että se voi auttaa yrityksiä vähentämään ohjelmistojärjestelmiensä käyttökustannuksia. SRE-tiimit voivat auttaa yrityksiä tunnistamaan ja eliminoimaan jätettä, ja he voivat myös auttaa yrityksiä optimoimaan infrastruktuurinsa.

 

Johtopäätökset

Google Cloud Nordic Summit oli loistava tilaisuus oppia uusimmista trendeistä ja kehityksestä pilvipalveluissa. Olimme erityisen vaikuttuneita Google Cloudin GenAI-työkaluista. Uskomme, että esitellyillä tekniikoilla on potentiaalia mullistaa ohjelmistojen kehittämis- ja käyttöönottotapa.

Google Cloud Nordic -tiimi myönsi Codentolle Partner Impact 2023 -tunnustuksen Suomessa. Codento sai kiitosta syvästä asiantuntemuksesta Google Cloud -palveluista ja markkinavaikutuksista, vaikuttavista NPS-pisteistä ja toisen Google Cloud -erikoisalan saavuttamisesta.

 

 

 

Tietoja kirjoittajista:

Jari Timonen on kokenut ohjelmistoalan ammattilainen, jolla on yli 20 vuoden kokemus IT-alalta. Jarin intohimona on rakentaa siltoja liiketoiminnan ja teknisten tiimien välille, jossa hän on työskennellyt esimerkiksi edellisessä tehtävässään Cargotecissa. Hän on Codentossa mukana pilotoimassa asiakkaita kohti tulevaisuuden yhteensopivia pilvi- ja hybridipilviympäristöjä.

Janne Flinck on tekoäly- ja datajohtaja Codentossa. Janne liittyi Codentoon Accenture 2022:sta, jolla on laaja kokemus Google Cloud Platformista, Data Sciencestä ja Data Engineeringistä. Hänen kiinnostuksen kohteena on dataintensiivisten sovellusten ja työkalujen luominen ja arkkitehtuuri. Jannella on kolme ammatillista sertifikaattia ja yksi osakkuussertifiointi Google Cloudissa sekä kauppatieteiden maisterin tutkinto.

Bard on Googlen kehittämä keskustelupalstallinen generatiivinen tekoäly-chatbot, joka perustuu aluksi LaMDA-perheeseen suuria kielimalleja (LLM) ja myöhemmin PaLM LLM:ää. Se kehitettiin suorana vastauksena OpenAI:n ChatGPT:n nousuun, ja se julkaistiin rajoitetussa kapasiteetissa maaliskuussa 2023 haaleiden vastausten vuoksi, ennen kuin se laajeni muihin maihin toukokuussa.

 

Ota yhteyttä saadaksesi lisätietoja Google Cloud -ominaisuuksistamme:

 

 

Tekoäly teollisuudessa: Konenäkö laadun varmistamisessa

Tekoäly teollisuudessa: Konenäkö laadun varmistamisessa

 

Kirjoittaja: Janne Flinck

 

Johdanto

Smart Industry -tapahtuman innoittamana päätimme aloittaa sarjan blogitekstejä, joissa käsitellään tekoälyn hyödyntämistä teollisuuden sovelluksissa. Tässä ensimmäisessä osassa käsittelemme laadunvalvonnan automatisointia konenäön avulla.

Teollisuus- ja logistiikkayritykset asettavat laadunvalvontaprosessiensa tehokkuuden ja tuottavuuden etusijalle. Viime vuosina konenäköpohjainen automaatio on noussut erittäin tehokkaaksi ratkaisuksi laatukustannusten ja vikojen vähentämiseen.

American Society of Quality arvioi, että useimmat valmistajat käyttävät 15–20 prosenttia tuloistaan ”todellisiin laatuun liittyviin kustannuksiin”. Jotkut organisaatiot nostavat toiminnassaan jopa 40 %:n laatukustannukset. Valmistuksen laatuun vaikuttavia kustannustekijöitä on kolmella eri alueella:

  • Arviointikustannukset: materiaalien ja prosessien tarkastus, koko järjestelmän laatuauditoinnit, toimittajien arvioinnit
  • Sisäiset vikakustannukset: resurssien tuhlausta tai virheistä huonosta suunnittelusta tai organisoinnista, valmiiden tuotteiden virheiden korjaamisesta, sisäisten menettelytapojen analyysin epäonnistumisesta
  • Ulkoiset vikakustannukset: toimitettujen tuotteiden korjaukset ja huolto, takuuvaatimukset, reklamaatiot, palautukset

Tekoäly auttaa valmistajia kehittymään kaikilla näillä alueilla, minkä vuoksi johtavat yritykset ovat omaksuneet tämän. Google Cloudin (haastateltu yli 1 000 tuotantojohtajaa seitsemässä maassa vuonna 2021) tekemän tutkimuksen mukaan 39 % valmistajista käyttää tekoälyä laaduntarkastuksiin ja 35 % itse tuotantolinjan laaduntarkastuksiin.

Viisi yleisintä aluetta, joilla tekoälyä käytetään tällä hetkellä päivittäisessä toiminnassa:

  • Laaduntarkastus 39 %
  • Toimitusketjun hallinta 36 %
  • Riskienhallinta 36 %
  • Tuotteen ja/tai tuotantolinjan laaduntarkastukset 35 %
  • Varastonhallinta 34 %

Lähde: Google Cloud Manufacturing Report

Konenäön avulla tuotantolinjatyöntekijät voivat vähentää toistuviin tuotetarkastuksiin kuluvaa aikaa, jolloin he voivat siirtää huomionsa monimutkaisempiin tehtäviin, kuten juurisyyanalyysiin.

Nykyaikaiset konenäkömallit ja -kehykset tarjoavat monipuolisuutta ja kustannustehokkuutta, ja erikoistuneet pilvipohjaiset palvelut AI-mallien koulutukseen ja reunalaitteiston käyttöönottoon (edge deployment) vähentävät edelleen toteutuksen monimutkaisuutta.

 

Ratkaisun yleiskatsaus

Tässä blogikirjoituksessa keskitymme vikojen havaitsemiseen kokoonpano- ja lajittelulinjoilla. Google Cloudin Vertex AI- ja AutoML-palveluilla toteutettu reaaliaikainen visuaalisen laadunvalvontaratkaisumme voi seurata useita kokoonpanolinjalla olevia kohteita, analysoida jokaisen kohteen ja arvioida vikojen tai vaurioiden todennäköisyyttä.

Ensimmäinen vaihe sisältää videovirran valmistelun jakamalla virran yksittäisiksi kuviksi analysointia varten. Seuraavassa vaiheessa käytetään mallia objektien ympärillä olevien rajauskehyksen (bounding box) tunnistamiseen.

Kun kohde on tunnistettu, viantunnistusjärjestelmä käsittelee kuvan leikkaamalla objektin rajauskehyksen avulla, muuttamalla sen kokoa ja lähettämällä sen viantunnistusmalliin luokittelua varten. Tulos on kuva, jossa kohde tunnistetaan rajauskehyksillä ja luokitellaan joko viaksi tai ei-vikaksi. Nopea prosessointiaika mahdollistaa reaaliaikaisen seurannan mallin ulosannin (output) avulla, automatisoiden vianhakuprosessin ja lisäten kokonaistehokkuutta.

Tässä esimerkki tämän ratkaisun Google Cloud arkkitehtuurista:

Toteutustiedot

Tässä osiossa käsittelen joitakin järjestelmän osia, pääasiassa sitä, mitä tarvitaan aloittamiseen ja mitä asioita tulee ottaa huomioon. Aineisto on itse luotu kotoa löytämistäni objekteista, mutta tätä samaa lähestymistapaa ja algoritmia voidaan käyttää missä tahansa objektissa, kunhan videon laatu on hyvä.

Tässä on esimerkkikuva videosta, jossa voimme nähdä yhden viallisen kohteen ja kolme ei-viallista objektia:

Voimme myös nähdä, että yksi kohteista on poistumassa kuvan oikealta puolelta ja toinen on tulossa kuvaan vasemmalta.

Video löytyy täältä.

 

Aineistojen ja mallien yleiskatsaus

Kokeessamme käytimme videota, joka simuloi tuotantohihnaa. Videolla näkyi esineitä näytöllä liikkuen vasemmalta puolelta oikealle, joista osa oli viallisia tai vaurioituneita. Koulutusaineistomme (training data) koostui noin 20 eri kohteesta, joista neljä oli viallisia.

Visuaalista laadunvalvontaa varten meidän on hyödynnettävä objektintunnistusmallia ja kuvan luokittelumallia. Kohteen tunnistusmallin rakentamiseen on kolme vaihtoehtoa:

  1. Kouluta Google Vertex AI AutoML:n tuottama malli
  2. Käytä valmiiksi rakennettua Google Cloud Vision -API:a
  3. Kouluta mukautettu malli

Tälle prototyypille päätimme valita molemmat vaihtoehdot 1 ja 2. Vertex AI AutoML -mallin kouluttamiseksi tarvitsemme annotoidun aineiston, jossa on rajauskehyksen koordinaatit. Aineistomme suhteellisen pienen koon vuoksi päätimme käyttää Google Cloudin datamerkintätyökalua. Suuremmille aineistoille suosittelemme kuitenkin Vertex AI -datamerkintätyökalun käyttöä.

Tätä tehtävää varten piirsimme manuaalisesti rajauskehykset jokaiselle kuvassa olevalle objektille ja annotoimme objektit. Käytimme kaiken kaikkiaan 50 kuvaa objetintunnistusmallimme kouluttamiseen, mikä on hyvin vaatimaton määrä. 

Koneoppimismallit vaativat yleensä suuremman määrän näytteitä koulutukseen. Tätä blogikirjoitusta varten näytteiden määrä oli kuitenkin riittävä arvioimaan pilvipalvelun soveltuvuutta vikojen havaitsemiseen. Yleensä mitä enemmän merkittyä aineistoa voit tuoda koulutusprosessiin, sitä parempi mallistasi tulee. Toinen ilmeinen kriittinen vaatimus aineistolle on edustavat esimerkit sekä vioista että tavallisista esiintymistä.

AutoML-objektien havaitsemisen ja AutoML-vian havaitsemisen ainestojen luomisen myöhemmät vaiheet sisälsivät aineiston jakamisen opetus-, validointi- ja testausalajoukoiksi. Oletusarvon mukaan Vertex AI jakaa automaattisesti 80 % kuvista harjoittelua varten, 10 % validointia varten ja 10 % testausta varten. Käytimme manuaalista jakamista datavuotojen (data leakage) välttämiseksi. Erityisesti vältämme peräkkäisten kuvien sarjoja.

AutoML-aineiston prosessi on seuraava:

Mitä tulee valmiin Google Cloud Vision -sovellusliittymän käyttämiseen objektien havaitsemiseen, aineisto-annotointia ei vaadita. Asiakaskirjastoja (client libraries) käytetään vain API:n kutsumiseen ja vastauksen käsittelemiseen, joka koostuu normalisoiduista rajauskehyksistä ja objektien nimistä. Näistä objektinimistä suodatamme sitten etsimämme kohteet. Vision API:n prosessi on seuraava:

Miksi mukautettua mallia koulutettaisiin, jos Google Cloud Vision API:n käyttö on näin yksinkertaista? Ensinnäkin Vision API havaitsee yleiset objektit, joten jos on jotain hyvin erityistä, se ei ehkä ole tunnisteluettelossa. Valitettavasti näyttää siltä, että Google Cloud Vision API:n havaitsemien tunnisteiden luettelo ei ole täysin julkisesti saatavilla. Kannattaa kokeilla Google Cloud Vision API:ta ja katsoa, pystyykö se havaitsemaan kiinnostuksen kohteena olevan objektin.

Vertex AI:n dokumentaation mukaan AutoML-mallit toimivat optimaalisesti, kun vähiten esimerkkejä sisältävässä kategoriassa on vähintään 10 % esimerkeistä kategoriasta, jossa on eniten esimerkkejä. Tuotantotapauksessa on tärkeää sisällyttää suunnilleen sama määrä koulutusesimerkkejä kustakin kategoriasta.

Vaikka sinulla olisi runsaasti ainestoa yhdestä kategoriasta, on parasta jakaa dataa tasaisesti jokaiselle kategorialle. Koska ensisijainen tavoitteemme oli rakentaa prototyyppi rajoitetun aineiston avulla mallin tarkkuuden parantamisen sijaan, emme puuttuneet epätasapainoisten luokkien ongelmaan.

 

Objektin seuranta

Kehitimme OpenCV-kirjastoon perustuvan objektien seuranta-algoritmin vastaamaan videoskenaariomme erityisiin haasteisiin. Testaamamme seurantalaitteet olivat CSRT, KCF ja MOSSE. Seuraavat nyrkkisäännöt pätevät myös skenaariossamme:

  • Käytä CSRT:tä, kun tarvitset suurempaa objektien seurantatarkkuutta ja voit sietää hitaampaa FPS-suorituskykyä
  • Käytä KCF:ää, kun tarvitset nopeampaa FPS-suorituskykyä, mutta pystyt käsittelemään hieman pienempää objektien seurantatarkkuutta
  • Käytä MOSSEa, kun tarvitset puhdasta nopeutta

Kohteen seurantaa varten meidän on otettava huomioon seuraavat videon ominaisuudet:

  • Jokainen kuva voi sisältää yhden tai useita objekteja tai ei ollenkaan
  • Uusia esineitä saattaa ilmestyä videon aikana ja vanhat esineet katoavat
  • Objektit voivat olla vain osittain näkyvissä, kun ne tulevat kehykseen tai poistuvat siitä
  • Samalla objektilla voi olla päällekkäisiä rajauskehyksiä
  • Sama objekti on videossa useiden peräkkäisten ruutujen ajan

Koko prosessin nopeuttamiseksi lähetämme jokaisen täysin näkyvän kohteen viantunnistusmalliin vain kahdesti. Sitten laskemme mallin todennäköisyystulosten keskiarvon ja määritämme tunnisteen kyseiselle objektille pysyvästi. Näin voimme säästää sekä laskenta-aikaa että rahaa, kun emme kutsu mallin päätepistettä tarpeettomasti samalle objektille useita kertoja videon aikana.

 

Johtopäätökset

Tässä on ulosanti-videovirta ja rajauskehys laadunvalvontaprosessista. Sininen tarkoittaa, että kuva on havaittu, mutta sitä ei ole vielä luokiteltu, koska kuva ei ole täysin näkyvissä kehyksessä. Vihreä tarkoittaa, että vikaa ei ole havaittu ja punainen on vika:

Video löytyy täältä.

Nämä havainnot osoittavat, että on mahdollista kehittää automatisoitu visuaalinen laadunvalvontaputki mahdollisimman pienellä määrällä näytteitä. Tosimaailmassa meillä olisi pääsy paljon pidempiin videovirtoihin ja mahdollisuus laajentaa aineistoa iteratiivisesti parantaaksemme mallia, kunnes se täyttää halutut laatustandardit.

Näistä rajoituksista huolimatta pystyimme Vertex AI:n ansiosta saavuttamaan kohtuullisen laadun jo ensimmäisellä koulutuskierroksella, joka kesti vain muutaman tunnin, jopa pienellä ainestolla. Tämä korostaa esikoulutettujen mallien ja AutoML-ratkaisujen hyödyntämisen tehokkuutta ja vaikuttavuutta, sillä pystyimme saavuttamaan lupaavia tuloksia erittäin lyhyessä ajassa.

 

Blogin kirjoittajasta: Janne Flinck  on Codenton AI & Data Lead. Janne liittyi Codentoon Accenturelta vuonna 2022. Jannella on laaja kokemus Google Cloud -teknologioista. Hänen kiinnostuksen kohteena on dataintensiivisten sovellusten ja työkalujen luominen ja arkkitehtuuri. Jannella on kolme Google Cloud -sertifikaattia.

 

 

Ota meihin yhteyttä niin keskustellaan teollisuuden tekoälyratkaisuista lisää!