Skip to main content

Login for students

Login for employees

Publication detail

A Scalable and Adaptive Convolutional Neural Network Accelerator
Authors: Pidanič Jan | Vyas Arpan | Karki Rishav | Vij Prateek | Trivedi Gaurav | Němec Zdeněk
Year: 2022
Type of publication: článek ve sborníku
Name of source: 2022 32ND INTERNATIONAL CONFERENCE RADIOELEKTRONIKA (RADIOELEKTRONIKA)
Publisher name: IEEE
Place: NEW YORK
Page from-to: 138-142
Titles:
Language Name Abstract Keywords
cze Škálovatelný a adaptivní akcelerátor konvolučních neuronových sítí Strojové učení se stalo všudypřítomným a proniklo do všech oblastí technologií, medicíny a financí. Konvoluční neuronová síť (CNN) je jednou z nejpoužívanějších tříd algoritmů strojového učení, která se používá při zpracování videa a obrazu, zpracování velkých objemů dat, zpracování přirozeného jazyka, robotice a v řadě úloh porovnávání a rozpoznávání vzorů. V závislosti na koncové aplikaci se CNN používají v různých měřítkách, od malých pohybových senzorů a chytrých telefonů až po automobily a serverové farmy. Ačkoli jsou stávající akcelerátory CNN adaptivní pro různé typy modelů CNN, jsou obecně vhodné pro určité měřítko provozu. V tomto článku popisujeme škálovatelný a adaptivní akcelerátor CNN. Stejný hardwarový a softwarový stack lze konfigurovat pomocí parametru na úrovni systému a syntetizovat jej pro různá měřítka provozu. Díky tomu je akcelerátor vysoce přenosný mezi systémy různých měřítek. Kromě toho lze na jednom syntetizovaném hardwaru provádět inferenci pro více modelů CNN, protože díky flexibilnímu softwarovému zásobníku a hardwarové řídicí jednotce je systém vysoce adaptivní. Fungování systému v různých měřítkách demonstrujeme jeho implementací na FPGA Xilinx Virtex 7 a spuštěním několika modelů CNN v každém měřítku. Konvoluční neuronové sítě; hardwarový akcelerátor; škálovatelný; adaptivní; FPGA
eng A Scalable and Adaptive Convolutional Neural Network Accelerator Machine learning has become ubiquitous and penetrated every field of technology, medicine, and finance. Convolutional Neural Network (CNN) is one of the most commonly used class of machine learning algorithms that is being used in video and image processing, big data processing, natural language processing, robotics, and a variety of pattern matching and recognition tasks. Depending on the end application, CNNs are being employed on different scales ranging from tiny motion sensors and smartphones to automobiles and server farms. Although existing CNN accelerators are adaptive for different types of CNN models, they are generally suited for a particular scale of operation. In this paper, we describe a scalable and adaptive CNN accelerator. The same hardware-cum-software stack can be configured by a system-level parameter to be synthesized for different scales of operation. This makes the accelerator highly portable across systems of different scales. Furthermore, one single synthesized hardware can run inference for multiple CNN models because of the flexible software stack and hardware control unit making the system highly adaptive. We demonstrate the working of the system at different scales by implementing it on the Xilinx Virtex 7 FPGA and by running multiple CNN models at each scale. Convolutional Neural Networks; Hardware Accelerator; Scalable; Adaptive; FPGA