Performance of Neural Network Image Classification on Mobile CPU and GPU

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorKämäräinen, Teemu
dc.contributor.advisorSiekkinen, Matti
dc.contributor.authorSeppälä, Sipi
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorYlä-Jääski, Antti
dc.date.accessioned2018-06-01T11:36:17Z
dc.date.available2018-06-01T11:36:17Z
dc.date.issued2018-05-14
dc.description.abstractArtificial neural networks are a powerful machine learning method, with impressive results lately in the field of computer vision. In tasks like image classification, which is a well-known problem in computer vision, deep learning convolutional neural networks can even achieve human-level prediction accuracy. Although high-accuracy deep neural networks can be resource-intensive both to train and to deploy for inference, with the advent of lighter mobile-friendly neural network model architectures it is finally possible to achieve real-time on-device inference without the need for cloud offloading. The inference performance can be further improved by utilizing mobile graphics processing units which are already capable of general-purpose parallel computing. This thesis measures and evaluates the performance aspects – execution latency, throughput, memory footprint, and energy usage – of neural network image classification inference on modern smartphone processors, namely CPU and GPU. The results indicate that, if supported by the neural network software framework used, hardware acceleration with GPU provides superior performance in both inference throughput and energy efficiency – whereas CPU-only performance is both slower and more power-hungry. Especially when the inference computation is sustained for a longer time, running CPU cores at full speed quickly reaches the overheat-prevention temperature limits, forcing the system to slow down processing even further. The measurements show that this thermal throttling does not occur when the neural network is accelerated with a GPU. However, currently available deep learning frameworks, such as TensorFlow, not only have limited support for GPU acceleration, but have difficulties dealing with different types of neural network models because the field is still lacking standard representations for them. Nevertheless, both of these are expected to improve in the future when more comprehensive APIs are developed.en
dc.description.abstractNeuroverkot ovat tehokas koneoppimisen menetelmä, joiden avulla on viime aikoina saavutettu merkittäviä tuloksia konenäön alalla. Tunnetuissa konenäön tehtävissä, kuten kuvien luokittelussa, voi nykyään päästä ihmisen tasoiseen päätelmätarkkuuteen käyttäen syväoppivia konvoluutioneuroverkkoja. Vaikka korkean tarkkuuden syväoppivat neuroverkot voivat vaatia paljon laskentaresursseja sekä oppimis- että päättelyvaiheessa, uudet kevyemmät mobiiliystävälliset neuroverkkomallit ovat mahdollistaneet neuroverkkopäätelmien reaaliaikaisen suorittamisen itse laitteessa ilman tarvetta pilvilaskentaan. Päätelmälaskennan suorituskykyä voi edelleen lisätä käyttämällä grafiikkasuorittimia joita voidaan jo mobiililaitteissakin käyttää yleiseen rinnakkaislaskentaan. Tämä diplomityö mittaa ja arvioi kuvanluokittelija-neuroverkkojen päätelmälaskennan suorituskykyä – suoritusviivettä, läpisyöttöä, muistinkäyttöä ja energiankulutusta – nykyaikaisilla älypuhelimen suorittimilla, lähinnä CPU:lla ja GPU:lla. Työn tulokset osoittavat, että jos neuroverkkoa ajava ohjelmakirjasto mahdollistaa GPU-kiihdyttämisen, tarjoaa se ylivoimaista suorituskykyä sekä päätelmien läpisyötössä että energiatehokkuudessa. Sitä vastoin tavallisen CPU:n suorituskyky näyttäytyy heikompana niin hitaassa laskentanopeudessa kuin suuremmassa tehonkulutuksessakin. Erityisesti kun päätelmälaskentaa ajetaan pitkäkestoisesti, CPU:n täysillä kellotaajuuksilla käyvät ytimet saavuttavat nopeasti ylikuumenemisen estämiseksi asetetut lämpötilarajat, hidastaen laskentaa entisestään. Mittaukset osoittavat, että tätä lämpötilaan perustuvaa kuristusta ei tapahdu kun neuroverkkoa kiihdytetään grafiikkasuorittimella. Tällä hetkellä saatavilla olevat neuroverkko-ohjelmistot, kuten TensorFlow, eivät ole rajoittuneita pelkästään GPU-kiihdytyksen tarjoamisessa, vaan myös erilaisten neuroverkkomallien käsittelyn tuessa on puutteita. Tämä johtuu siitä, että alalle ei ole vielä ehtinyt muodostua standardoituja esitysmuotoja neuroverkkomalleille, mutta tilanteen odotetaan paranevan tulevaisuudessa ohjelmointirajapintojen kehittyessä.fi
dc.format.extent86
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/31564
dc.identifier.urnURN:NBN:fi:aalto-201806012991
dc.language.isoenen
dc.programmeMaster’s Programme in Computer, Communication and Information Sciencesfi
dc.programme.majorComputer Sciencefi
dc.programme.mcodeSCI3042fi
dc.subject.keywordandroiden
dc.subject.keyworddeep convolutional neural networksen
dc.subject.keywordhardware accelerationen
dc.subject.keywordGPGPUen
dc.subject.keywordenergy consumptionen
dc.subject.keywordDVFSen
dc.titlePerformance of Neural Network Image Classification on Mobile CPU and GPUen
dc.titleKuvanluokittelija-neuroverkkojen suorituskyky mobiilisuorittimillafi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
master_Seppälä_Sipi_2018.pdf
Size:
4.89 MB
Format:
Adobe Portable Document Format