Show simple item record

dc.contributor.advisorLarsen, Bjørn B.
dc.contributor.advisorFlovik, Vegard
dc.contributor.authorSnarli, Alexander
dc.date.accessioned2022-09-28T17:42:33Z
dc.date.available2022-09-28T17:42:33Z
dc.date.issued2022
dc.identifierno.ntnu:inspera:104140281:37626406
dc.identifier.urihttps://hdl.handle.net/11250/3022384
dc.descriptionFull text not available
dc.description.abstractDe siste årene har dype nevrale nettverk stadig blitt tatt mer i bruk i en stor variasjon av industrier, for å utnytte det store potensiale maskinlæringsteknologi tar med seg i form av effektivitet av databehandling. En trend har vært å flytte prosesseringen av de dype nevrale nettverkene vekk fra cloud-løsninger og sentraliserte servere, og ut mot dataens opprinnelse, på "the edge". Flytting av prosesseringsenhetene ut i felten, øker behovet for energieffektive og høytytende prosesseringsenheter i kompakt formfaktor. En Field Programmable Gate Array (FPGA) har nettopp disse egenskapene, og kan yte høy prosesseringskraft samtidig som at den er energieffektiv. FPGAer er derfor gode kandidater til å bli brukt som edge-prosesseringsenheter. Denne rapporten forklarer nødvendig bakgrunnsinformansjon om dype nevrale nettverk, kvantiserte og binære nevrale nettverk, FPGAer, GPUer og Xilinx BNN-PYNQ rammeverket. Rapporten forklarer også metodologien bak implementasjonen av flere nevrale nettverk på både FPGA og GPU, for å sammenligne ytelsen. FPGA implementasjonene er gjort ved å bruke BNN-PYNQ rammeverket, og består av de to ulike nettverkstopologiene konvolusjonelt nevralt nettverk og fullt tilkoblede nevrale nettverk i ulike konfigurasjoner av bit-presisjon for vekter og aktiveringer. Disse representeres enten ved en eller to bits. GPU implementasjonene er bygget for å etterligne disse nettverkene, der alle verdier representeres ved FP32 presisjon. Nettverksimplementasjonene er testet på the kjente datasyn datesettene MINST og CIFAR-10. Ytelsen er bedømt etter flere kriterier, som består av nøyaktighet, beregningstid per bilde og strømforbruk. Resultatene viser at det ikke er en klar fordel over alle kriteriene hos verken FPGA eller GPU. FPGA implementasjonene scorer høyere for nøyaktighet på begge datasettene. Den høyeste scoren for FPGA implementasjonen på CIFAR-10 datasettet med et konvolusjonelt nevralt nettverk er 84.29%, der GPU implementasjonen med samme oppbygning scorer 75.61\%, 8.68 prosentpoeng lavere. For MNIST datasettet scorer FPGA implementasjonen av et fullt tilkoblet nettverk 98.49% nøyaktighet, 0.53 prosentpoeng høyere enn samme nettverksoppbygning implementert på GPU. Prosessering på GPU er raskere for de konvolusjonelle nevrale nettverkene, og FPGA er raskere for prosessering av de fullt tilkoblede nettverkene. Resultatene viser at FPGAen er mer energieffektiv med over en faktor på 10 for begge nettverkskonfigurasjonene i forhold til GPUen. Denne rapporten konkluderer med at dersom det ønskede bruket er på edge prosesseringsenheter, vil en FPGA være ønskelig ettersom den er så mye mer energieffektiv, samtidig som den er mer nøyaktig.
dc.description.abstractIn recent years, Deep Neural Networks have become widely adopted throughout many industries to capitalize on the potential efficiency boost of several different types of processes. A trend in recent years has been to move the computation of these Deep Neural Networks from servers to edge devices, thus increasing the demand for compact, high-performance computation devices on the edge. Field Programmable Gate Arrays (FPGAs) offer high computing power at high energy efficiency in a compact form factor, making these promising candidates for the task. This thesis goes through background information about Deep Neural Networks, Quantized Neural Networks, FPGAs, GPUs, and the Xilinx BNN-PYNQ repository. This thesis also explains the methodology of implementing several neural networks for the GPU and FPGA. The FPGA implementations are done using the Xilinx BNN-PYNQ repository for Binarized Fully Connected or Convolutional Neural Networks. The testing of the networks has been done on the well-known MNIST and CIFAR-10 datasets. The measured performance metrics are accuracy, inference time per image, and peak power consumption during inference. The results show that there are trade-offs with each of the hardware types. The FPGA implementations scored higher in accuracy for both datasets, where the highest score among the FPGA implementations for the Convolutional Neural Network scored 84.29%, 8.68 percentage points higher than the GPU implementation. The highest scoring Fully Connected Network scored an accuracy of 98.49%, 0.53 percentage points higher than the GPU implementation. The Convolutional Neural Network inference is faster on the GPU, while the Fully Connected Neural Network inference is faster on the FPGA. The FPGA is more energy efficient for both types of networks by over an order of magnitude. This thesis concludes that if the desired use-case for the DNN inference model is on the edge, an FPGA would be favored because of its power-efficient properties.
dc.languageeng
dc.publisherNTNU
dc.titleDeep Neural Network Inference Acceleration: FPGA vs. GPU
dc.typeMaster thesis


Files in this item

FilesSizeFormatView

This item appears in the following Collection(s)

Show simple item record