Kämäräinen, Teemu, Siekkinen, Matti, Perustieteiden korkeakoulu, Ylä-Jääski, Antti, Seppälä, Sipi, Kämäräinen, Teemu, Siekkinen, Matti, Perustieteiden korkeakoulu, Ylä-Jääski, Antti, and Seppälä, Sipi
Artificial 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., Neuroverkot 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 neuroverkkomall