Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators
dc.contributor.advisor | Beck Filho, Antonio Carlos Schneider | pt_BR |
dc.contributor.author | Vicenzi, Julio Costella | pt_BR |
dc.date.accessioned | 2024-04-11T06:25:11Z | pt_BR |
dc.date.issued | 2023 | pt_BR |
dc.identifier.uri | http://hdl.handle.net/10183/274556 | pt_BR |
dc.description.abstract | Artificial neural networks (ANN) are a solution for many classification problems, from face recognition to malware detection in computer network packets. With great accuracy, ANN algorithms are computationally expansive, requiring millions of arithmetic operations for a single classification inference. To overcome this challenge, hardware accelerators such as graphical processing units (GPUs) or field-programmable gate arrays (FPGAs) are implemented to reduce inference time and energy consumption. FPGAs have two standout characteristics: reconfigurable architecture and low-power capabilities, allowing for tailor-made designs for any ANN, while maintaining flexibility of functionality as requirements change over time. This work explores the case study of a smart Network Interface Card coupled with an FPGA accelerator required to implement four distinct ANNs, taking computer network packets as input. As the bandwidth in a computer network changes over time, the throughput requirements for the FPGA accelerator also vary. Three optimization frameworks to exploit the reconfigurable nature of FPGAs, focusing on maximize the quality of experience (QoE) and minimize energy consumption. Anya is a framework that dynamically reconfigures the FPGA accelerator according to the current classification task and the number of incoming inference requests. From a library of pruned accelerator designs, Anya leverages the trade-off between accuracy versus throughput, exploring the design space of pruning over time, assuring that the highest number of inferences are performed with optimal accuracy while managing multiple classification tasks. Hardware Virtual Layers Tara employs hardware virtual layers, aiming at reducing the number of FPGA reconfigurations required to change between classification tasks, implementing a custom hardware architecture. An added virtual hardware layer is implemented in each accelerator design, allowing for a single tailor-made accelerator to implement multiple tasks seamlessly. Spyke combines these approaches, using a set of pruned hardware accelerators using hardware virtual layers, following Anya’s dynamic framework. Experiments with four different scenarios show that Spyke increases the QoE by up to 1.13× and reduces the energy per inference by up to 1.40×. Tara also presents up to 1.13× increase in QoE while not requiring any reconfigurations. The best results are found from Spyke, with an increase in 1.22× in QoE and 1.37× more processed frames with a reduction of up to 1.35× energy. | en |
dc.description.abstract | As redes neurais artificiais (ANN) são uma solução para muitos problemas de classificação, desde o reconhecimento facial até a detecção de malware em pacotes de redes de computadores. Com grande acurácia, os algoritmos ANN são computacionalmente custosos, exigindo milhões de operações aritméticas para uma única inferência de classificação. Para superar esse desafio, os aceleradores de hardware, como as unidades de processamento gráfico (GPUs) ou FPGAs (field-programmable gate arrays) são implementados para reduzir o tempo de inferência e o consumo de energia. Os FPGAs têm duas características de destaque: arquitetura reconfigurável e recursos de baixo consumo de energia, permitindo projetos personalizados para qualquer ANN, mantendo a flexibilidade da funcionalidade à medida que os requisitos mudam com o tempo. Este trabalho explora o estudo de caso de uma placa de interface de rede inteligente (SmartNIC) acoplada a um acelerador FPGA para implementar quatro ANNs distintas, tendo como entrada pacotes de rede. Como a largura de banda em uma rede de computadores muda com o tempo, os requisitos de processamento do acelerador FPGA também variam. Três frameworks de otimização para explorar a natureza reconfigurável dos FPGAs são propostos, com foco em maximizar a qualidade da experiência (QoE) e minimizar o consumo de energia. Anya é uma estrutura que reconfigura dinamicamente o acelerador de FPGA de acordo com a tarefa de classificação atual e o número de solicitações de inferência recebidas. A partir de uma biblioteca de designs de aceleradores podados, Anya aproveita a compensação entre precisão e taxa de transferência, explorando o espaço de design da poda ao longo do tempo, assegurando que o maior número de inferências seja realizado com a precisão ideal enquanto gerencia várias tarefas de classificação. Tara utiliza camadas virtuais de hardware com o objetivo de reduzir o número de reconfigurações de FPGA necessárias para alternar entre as tarefas de classificação, implementando uma arquitetura de hardware personalizada. Uma camada de hardware virtual adicional é implementada em cada modelo de acelerador, permitindo que um único acelerador feito sob medida implemente várias tarefas sem problemas. Spyke combina essas abordagens, usando um conjunto de aceleradores de hardware podados usando camadas virtuais de hardware, seguindo a estrutura dinâmica da Anya. Experimentos com quatro cenários diferentes mostram queAnya aumenta a QoE em até 1,13× reduz a energia por inferência em até 1,40×. Tara também apresenta um aumento de até 1,13× na QoE, sem exigir nenhuma reconfiguração. Os melhores resultados foram obtidos com a Spyke, com um aumento de 1,22× na QoE e 1,37× mais quadros processados com uma redução de até 1,35× na energia. | pt_BR |
dc.format.mimetype | application/pdf | pt_BR |
dc.language.iso | eng | pt_BR |
dc.rights | Open Access | en |
dc.subject | Pruning | en |
dc.subject | Redes neurais convolucionais | pt_BR |
dc.subject | Arquiteturas reconfiguraveis | pt_BR |
dc.subject | Quantization | en |
dc.subject | FPGA | pt_BR |
dc.subject | Rede neural profunda | pt_BR |
dc.subject | Aceleradores de hardware | pt_BR |
dc.title | Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators | pt_BR |
dc.title.alternative | Exploração de camadas virtuais e reconfigurabilidade para aceleradores de redes neurais convolucionais em FPGA | pt |
dc.type | Dissertação | pt_BR |
dc.contributor.advisor-co | Rutzig, Mateus Beck | pt_BR |
dc.identifier.nrb | 001200032 | pt_BR |
dc.degree.grantor | Universidade Federal do Rio Grande do Sul | pt_BR |
dc.degree.department | Instituto de Informática | pt_BR |
dc.degree.program | Programa de Pós-Graduação em Microeletrônica | pt_BR |
dc.degree.local | Porto Alegre, BR-RS | pt_BR |
dc.degree.date | 2023 | pt_BR |
dc.degree.level | mestrado | pt_BR |
Este item está licenciado na Creative Commons License
-
Engenharias (7409)Microeletrônica (208)