Return to search

Squeezing and Accelerating Neural Networks on Resource Constrained Hardware for Real Time Inference

As the internet user base increases over the years, so do the logistic difficulties of handling higher and higher volumes of data. This large amount of information is now being exploited by Artificial Intelligence algorithms to deliver value to our society on a global scale. Among all the algorithms employed, the widespread adoption of Neural Networks in industrial settings is promoting the automation of tasks previously unsolvable by computers. As of today, efficiency limits the applicability of such technology on Big Data and efforts are being put to develop new acceleration solutions.In this project, we analyzes the computational capabilities of a multicore Digital Signal Processor called the EMCA (Ericsson Many-Core Architecture) when it comes to executing Neural Networks. The EMCA is a proprietary chip used for real-time processing of data in the pipeline of a Radio Base Station.We developed an inference engine to run Neural Networks on the EMCA. The software of such engine has been produced using a proprietary operating system called Flake OS, which runs on the EMCA. On top of the inference engine, we wrote a neural network squeezing pipeline based on quantization. On MNIST, the quantization algorithm can reduce the size of the networks by 4x folds with sub 1% accuracy degradation. The inference engine has been optimized to exploit the quantization utility and can run quantized neural networks. Tests have been done to understand the direct implications of using such algorithm. We show that the quantization is indeed beneficial for inference on DSPs.Finally, the EMCA has demonstrated state of the art computational capabilities for neural network inferencing. / Liksom antalet internetanvändare årligen ökar, så gör också de logistiska svårigheterna att hantera större och större volymer av data. Denna stora mängd av information används nu av artificiell intelligens algoritmer för att leverera värde till vårt samhälle på en global skala. Av alla använda algoritmer, så möjliggör det utbredda införandet av neurala nätverk i industriella omgivningar, att uppgifter som tidigare inte kunde lösas av datorer nu kan automatiseras. Idag så finns det effektivitetsfaktorer som begränsar användbarheten av dessa tekniker för stora datamängder och insatser görs därför för att utveckla nya accelererade lösningar. I det här projektet så analyserar vi beräkningsförmågan av en multicore digital signalprocessor kallad EMCA (Ericsson Many-Core Architecture) för att exekvera neurala nätverk. EMCAn är ett proprietärt mikro-chip som används för real-tids beräkningar av data i pipelinen av en radiobasstation. Vi utvecklade en inferensmotor för att köra neurala nätverk på EM-CAn. Mjukvaran för motorn använde ett proprietärt operativsystem, kallat Flake OS, som körs på EMCAn. Ovanpå inferensmotorn skrev vi en pipeline för att reducera storleken av det neurala nätverket med hjälp av kvantisering. På MNIST så kan kvantiseringsalgorit-men minska storleken av näten upp till 4 gånger med under 1% precisionsdegradering. Inferensmotorn har optimerats för att utnyttja kvantiseringsfunktionen och kan exekvera kvantiserade neurala nätverk. Tester har gjorts för att förstå de direkta följderna av att använda sådana algoritmer. Vi visar att kvantisering verkligen är till nytta för att göra inferens på DSPer. Slutligen, EMCAn har demonstrerat toppmodern beräkningsförmåga för inferens av neurala nätverk.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-247911
Date January 2019
CreatorsPresutto, Matteo
PublisherKTH, Skolan för elektroteknik och datavetenskap (EECS)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-EECS-EX ; 2019:38

Page generated in 0.0022 seconds