학술논문

Scalable FPGA Accelerator for Deep Convolutional Neural Networks with Stochastic Streaming
Document Type
Periodical
Author
Source
IEEE Transactions on Multi-Scale Computing Systems IEEE Trans. Multi-Scale Comp. Syst. Multi-Scale Computing Systems, IEEE Transactions on. 4(4):888-899 Jan, 2018
Subject
Communication, Networking and Broadcast Technologies
Computing and Processing
Components, Circuits, Devices and Systems
Field programmable gate arrays
Computer networks
Convolutional neural networks
Stochastic processes
Memory management
Convolutional neural network
FPGA
stochastic computing
Language
ISSN
2332-7766
2372-207X
Abstract
FPGA-based heterogeneous computing platform, due to its extreme logic reconfigurability, emerges to be a strong contender as computing fabric in modern AI. As a result, various FPGA-based accelerators for deep CNN—the key driver of modern AI—have been proposed due to their advantages of high performance, reconfigurability, and fast development round, etc. In general, the consensus among researchers is that, although FPGA-based accelerator can achieve much higher energy efficiency, its raw computing performance lags behind when compared with GPUs with similar logic density. In this paper, we develop an alternative methodology to efficiently implement CNNs with FPGAs that outperform GPUs in terms of both power consumption and performance. Our key idea is to design a scalable hardware architecture and circuit design for large-scale CNNs that leverages a stochastic-based computing principle. Specifically, there are three major performance advantages. First, all key components of our deep learning CNN are designed and implemented to compute stochastically, thus achieving excellent computing performance and energy efficiency. Second, because our proposed CNN architecture enables a stream-mode computing, all of its stages can process even the partial results from preceding stages, therefore not incurring unnecessary latency due to data dependency. Finally, our FPGA-based deep CNN also provides a superior hardware scalability when compared with conventional FPGA implementations by reducing the bandwidth requirement between layers. The results show that our proposed CNN architecture significantly outperforms all previous FPGA-based deep CNN implementation approaches. It achieves 1.58x more GOPS, 6.42x more GOPS/Slice, and 10.92x more GOPS/W when compared with state-of-the-art CNN architecture. The top-5 accuracy of stochastic VGG-16 CNN is 86.77 percent with 18.91 fps frame rate.