Koneäly on tulossa voimalla myös sulautettuihin tietojärjestelmiin, kerrotaan juuri ilmestyneessä Uusiteknologia 1/2020-lehden artikkelissa. Siinä käydään läpi perustiedot tekoälylaskennasta sekä esitellään seitsemän edullista suoritinkorttia tekoälykiihdytykseen. Lue koko juttu vapaasti lehden nettisivulta.
Laajalti ajatellaan edelleen, että syväneuroverkon opettaminen ja suorittaminen vaativat aina palvelinfarmeittain laskentatehoa, mutta tilanne on ainakin sulautetuissa sovelluksissa hiljalleen muuttumassa.
Aiemmin sulautettu laitteisto nähtiin jopa liian keveinä kyetäkseen ajamaan syväneuroverkkojen (DNN, deep neural network) -algoritmeja, mutta nyt tarjolle on tullut näihin sovelluksiin optimoituja laitteistoja. Samalla on kehitetty uusia simppelimpiä neuroverkkolaskentamalleja. Ja kun neuroverkkomalli on kerran opetettu, tällaista opetettua neuroverkkomallia voidaan hyödyntää helposti.
Valmiin neuroverkkomallin käyttäminen (esimerkiksi kuvan luokittelu) vaatii selvästi vähemmän suoritintehoa, kun kokonaan uuden mallin opettaminen. Toinen tapa keventää laskentaa on korvata liukulukulaskentaa kiinteän pisteen esityksellä tai optimoida mallista pois tarpeettomia osia. Kolmas tapa on puolestaan pienentää syöttödatan määrää (esimerkiksi kuvan resoluutiota) niin, että sitä voidaan käsitellä pienemmällä neuroverkolla ja vähemmällä laskennalla.
Kaikkien näiden säästötoimien avulla voidaan sulautetuissa ratkaisuissa vähentää muistin ja virran tarvetta säilyttäen samalla kyseiseen tarpeeseen riittävä tarkkuus.
Kannattaakin miettiä sovelluksen datanhallintaa kokonaisuutena. Suuret tietomäärät kannattaa käsitellä yleensä lähellä sen tuotantopaikkaa, koska voit hukata helposti paljon tehoa tiedon siirtoon. Niissä myös pakkaus, kvantisointi, karsinta, ryhmittely, prosessorin tietojen uudelleenlatauksen minimointi ovat ehdottoman tärkeitä.
Jos sulautettu laite ei pysty tekemään kaikkea itse, yksi vaihtoehto on käyttää suhteelisen simppelia tekoälyalgoritmia etsimään syötedatasta poikkeavuuksia, joita voidaan sitten analysoida tarkemmin verkon pilvipalvelussa.
Alkuvaiheessa helpoin on lähteä liikkeelle on ohjelmistopohjaisena ja yleisprosessorilla. Ratkaisussa tarvitaan vain sopiva AI-ohjelmisto, joka on tyypillisesti toteutettu Python tai C++ kielellä.
Toki ratkaisulla ei voi toteuttaa kovinkaan monimutkaista sovellusta tai pian törmätään normaalilaitteiston suorituskyvyn rajoitteisiin. Monet tekoälyalustoiksi markkinoiduista korttitietokoneista ovat monelta osin normikortteja. Ne koostuvat yleiskäyttöisestä keskusyksiköstä, muistista, tehonhallinasta sekä yhdestä tai useammasta neuroverkkolaskentaan sopivasta laskentakiihdyttimestä.
Tarjolla on myös valmiita tekoälylaskentaan sopivia tehoyksiköitä. Kannattaa lukea tämän artikkelin pitempi Uusiteknologia 1/2020 julkaistu versio, jossa esitellään yksityiskohtaisemmin seitsemän uusinta AI-suoritinkorttia. Niiden avulla kuka tahansa voi kokeilla tekoälylaskennan toteuttamista. Mukana on myös yksityiskohtainen taulukko kiihdytinkorttien tekniikoista ja ohjelmistotuesta linkkiosoitteineen.
Lisää: Tästä pääset lukemaan täysin vapaasti Uusiteknologia 1/2020:n tekoälyartikkelin (LINKKI). Mukana on myös tarkat vertailutiedot seitsemästä eri tekoälyn kiihdytinkortista.