2 research outputs found

    Škálovatelný a adaptivní akcelerátor konvolučních neuronových sítí

    No full text
    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.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
    corecore