CustoNN: Customizing Neural Networks on FPGAs
Term | SS 2017 + WS 2017/18 |
Program | Computer Science Master's Computer Engineering Master's |
Lecture number | L.079.07003 |
Status | Project Completed |
Goals and Contents
Neural networks are the key enablers of several technology breakthroughs in recent years, for example in the fields of speech recognition, image classification, autonomous driving and mastering the board game Go. These achievements go along with a huge demand for computing power, currently often delivered by GPUs. With recent research progress on neural networks with small fixed-point or even binary weights, FPGAs are becoming an interesting alternative.
In this project group, you will
- Research current literature on learning strategies and architectures for neural networks with fixed-point or binary weights.
- Propose and implement a neural network inference architecture on FPGA that makes efficient use of low-precision weights.
- Explore and evaluate opportunities to build a fully custom neural network instance on FPGA, with weights and arithmetic integrated together into the FPGA design.
- Use modern OpenCL-based programming tools to target FPGAs from the two biggest FPGA vendors.
Many decisions can be shaped by your interests and skills. Will you focus on the well-known ImageNet database and image classification as application or do you have other ideas? Will you scale your neural networks over several nodes in our FPGA cluster? Can we do learning on the FPGAs?