Development and comparison of convolutional layers implementations for deep neural networks on microcontrollers.
keywords ARTIFICIAL INTELLIGENCE, CONVOLUTIONAL NEURAL NETWORKS, DEEP LEARNING, DEEP NEURAL NETWORKS, EMBEDDED SYSTEMS, ENERGY EFFICIENCY, FIRMWARE DEVELOPMENT, LIBRARY, LINEAR ALGEBRA, LOW POWER, MICROCONTROLLERS, SOFTWARE
Reference persons DANIELE JAHIER PAGLIARI
External reference persons Alessio Burrello (University of Bologna)
Thesis type EMBEDDED SOFTWARE DEVELOPMENT, EXPERIMENTAL, SOFTWARE DEVELOPMENT
Description The purpose of the thesis is the optimization of deep neural networks’ execution on low-power microcontrollers (< 0.5 W). Initially, the candidate will explore different data layouts in memory, considering the trade-off between memory footprint and execution cycles (or energy consumption) of each layer of the network.
Then, the candidate will extend and optimize a set of existing software libraries in order to implement the following alternative methods for the execution of convolutional layers:
- Im2col + Generalized Matrix Multiplication;
- Indirect Convolution
- Direct Convolution
- Fusion of depthwise and pointwise convolutions;
- Winograd convolution
Different solutions will be implemented in C and compared through experiments on different types of microcontrollers from STM (e.g., STM32H7) and PULP (e.g., GAP8).
The expected result of the thesis will be a holistic characterization of which is the best convolution implementation given the parameters of a layer and the hardware target. Such characterization will be inserted in an automatic system able to select the best implementation layer by layer and thus reduce the total execution time and energy consumption of an entire convolutional neural network.
Required skills Required skills include C programming and an understanding of computer architectures and embedded systems. Useful (but not required) skills include Python programming and familiarity with machine/deep learning concepts and models.
Notes Thesis in collaboration with Prof. Luca Benini’s research group at the University of Bologna and ETH Zurich. The thesis can be carried out either in Torino or in one of the other two universities.
Deadline 23/06/2022 PROPONI LA TUA CANDIDATURA