Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

FPGA-kiihdyttimien käyttö koneoppimisessa

Salmi, Ville (2023)

 
Avaa tiedosto
SalmiVille.pdf (953.6Kt)
Lataukset: 



Salmi, Ville
2023

Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-05-02
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202304274756
Tiivistelmä
Koneoppimisen hyödyntäminen on nykyään suosittua monessa eri sovelluskohteessa. Erityisen suosittuja ovat neuroverkkomallit, joiden tarkkuus ja koko kasvavat vuosi vuodelta. Entistä suuremmat koneoppimismallit luovat tarpeen kasvattaa malleja käsittelevien laitteistojen laskentakapasiteettia, mikä yleensä toteutetaan käyttämällä laitteistokiihdyttimiä. Tässä tutkielmassa perehdytään kirjallisuuslähteiden avulla FPGA-pohjaisten koneoppimiskiihdyttimien rakenteeseen ja ominaisuuksiin, joita työssä vertaillaan muihin yleisesti käytettyihin kiihdytinteknologioihin. Työssä myös esitellään lyhyesti tutkielman aiheelle keskeisiä osa-alueita, kuten FPGA-piirit, koneoppiminen ja laitteistokiihdytys.

FPGA-pohjaiset koneoppimiskiihdyttimet koostuvat usein itse FPGA-piirin lisäksi kiihdyttimen toimintaa ohjaavasta keskusyksiköstä, keskusyksikön ja FPGA:n välisestä kommunikointiväylästä sekä ulkoisista muistikomponenteista. FPGA-piirille toteutettu kiihdytinyksikkö koostuu usein monesta erillisestä laskentayksiköstä, jotka suorittavat laskentaa rinnakkain. Tällaista rakennetta hyödyntää esimerkiksi neuroverkkojen kiihdyttämiseen suunniteltu DLAU-kiihdytin.

FPGA-pohjaisilla kiihdyttimillä saavutetaan suuri rinnakkaisuus, jonka avulla voidaan kiihdyttää neuroverkkorakenteiden laskentaa tehokkaasti. FPGA-piirit tarjoavat myös uudelleenohjelmoitavuudellaan paljon joustavuutta kiihdyttimen suunnitteluun, sillä FPGA-kiihdytin voidaan helposti muokata laskemaan esimerkiksi eri kokoisia neuroverkkoja. FPGA-piirit kuluttavat myös vähän virtaa, minkä vuoksi niitä voidaan hyödyntää sellaisissa kiihdytinsovelluksissa, joissa energiankulutus on pientä. FPGA-koneoppimiskiihdyttimissä haasteellista on kuitenkin suurien koneoppimismallien käsittely, sillä FPGA-piirien laskenta- ja muistiresurssit ovat hyvin rajallisia. Miljoonia parametrejä sisältävien mallien tallentamiseksi FPGA-pohjaisissa koneoppimiskiihdyttimissä joudutaan käyttämään piirin ulkopuolisia muistikomponentteja, mikä heikentää suorituskykyä. Haasteita kiihdyttimien suunnittelussa aiheuttaa myös yleiskäyttöisiä ohjelmointikieliä alempaa abstraktiotasoa olevien laitteistonkuvauskielien käyttö.

ASIC-koneoppimiskiihdyttimiin verrattuna FPGA-kiihdyttimet ovat suoritusteholtaan ja energiatehokkuudeltaan huonompia. ASIC-piirit eivät kuitenkaan ole FPGA-piirien tavoin uudelleenohjelmoitavia, mikä heikentää ASIC-kiihdyttimien joustavuutta. Grafiikkasuorittimilla toteutetut koneoppimiskiihdyttimet ovat FPGA-kiihdyttimiin verrattuna paljon tehokkaampia monimutkaisten koneoppimismallien laskennassa. Grafiikkasuoritinpohjaiset koneoppimiskiihdyttimet kuluttavat kuitenkin hyvin paljon virtaa, minkä vuoksi ne eivät sovellu FPGA-kiihdyttimien tavoin vähäisen energiankulutuksen sovelluksiin.

Tulevaisuudessa FPGA-koneoppimiskiihdyttimien suosion odotetaan kasvavan. Vähäistä
energiankulutusta vaativissa tulevaisuuden sovelluksissa, kuten sulautetuissa järjestelmissä ja pilvipalveluissa, käytettävien koneoppimismallien laskenta voidaan suorittaa joustavasti FPGA-pohjaisten koneoppimiskiihdyttimien avulla. FPGA-koneoppimiskiihdyttimet tulevat olemaan tulevaisuudessa suuressa roolissa myös reaaliaikaista prosessointia vaativissa sovelluksissa, kuten itseajavissa ajoneuvoissa.
Kokoelmat
  • Kandidaatintutkielmat [9156]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste