Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators

Detalhes bibliográficos
Autor(a) principal: Vicenzi, Julio Costella
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFRGS
Texto Completo: http://hdl.handle.net/10183/274556
Resumo: 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.
id URGS_e80126eca6e9502512b83338acfb8fd3
oai_identifier_str oai:www.lume.ufrgs.br:10183/274556
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str 1853
spelling Vicenzi, Julio CostellaBeck Filho, Antonio Carlos SchneiderRutzig, Mateus Beck2024-04-11T06:25:11Z2023http://hdl.handle.net/10183/274556001200032As 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.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.application/pdfengRedes neurais convolucionaisArquiteturas reconfiguraveisFpgaRede neural profundaAceleradores de hardwarePruningQuantizationExploiting virtual layers and reconfigurability for FPGA convolutional neural network acceleratorsExploração de camadas virtuais e reconfigurabilidade para aceleradores de redes neurais convolucionais em FPGA info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em MicroeletrônicaPorto Alegre, BR-RS2023mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001200032.pdf.txt001200032.pdf.txtExtracted Texttext/plain133911http://www.lume.ufrgs.br/bitstream/10183/274556/2/001200032.pdf.txt49833a6863e01f34d986e81343a8c7afMD52ORIGINAL001200032.pdfTexto completoapplication/pdf3853996http://www.lume.ufrgs.br/bitstream/10183/274556/1/001200032.pdfa2303a2973c119ff3b471d29a291a25aMD5110183/2745562024-04-12 06:20:22.848522oai:www.lume.ufrgs.br:10183/274556Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532024-04-12T09:20:22Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators
dc.title.alternative.pt.fl_str_mv Exploração de camadas virtuais e reconfigurabilidade para aceleradores de redes neurais convolucionais em FPGA
title Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators
spellingShingle Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators
Vicenzi, Julio Costella
Redes neurais convolucionais
Arquiteturas reconfiguraveis
Fpga
Rede neural profunda
Aceleradores de hardware
Pruning
Quantization
title_short Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators
title_full Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators
title_fullStr Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators
title_full_unstemmed Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators
title_sort Exploiting virtual layers and reconfigurability for FPGA convolutional neural network accelerators
author Vicenzi, Julio Costella
author_facet Vicenzi, Julio Costella
author_role author
dc.contributor.author.fl_str_mv Vicenzi, Julio Costella
dc.contributor.advisor1.fl_str_mv Beck Filho, Antonio Carlos Schneider
dc.contributor.advisor-co1.fl_str_mv Rutzig, Mateus Beck
contributor_str_mv Beck Filho, Antonio Carlos Schneider
Rutzig, Mateus Beck
dc.subject.por.fl_str_mv Redes neurais convolucionais
Arquiteturas reconfiguraveis
Fpga
Rede neural profunda
Aceleradores de hardware
topic Redes neurais convolucionais
Arquiteturas reconfiguraveis
Fpga
Rede neural profunda
Aceleradores de hardware
Pruning
Quantization
dc.subject.eng.fl_str_mv Pruning
Quantization
description 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.
publishDate 2023
dc.date.issued.fl_str_mv 2023
dc.date.accessioned.fl_str_mv 2024-04-11T06:25:11Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/274556
dc.identifier.nrb.pt_BR.fl_str_mv 001200032
url http://hdl.handle.net/10183/274556
identifier_str_mv 001200032
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/274556/2/001200032.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/274556/1/001200032.pdf
bitstream.checksum.fl_str_mv 49833a6863e01f34d986e81343a8c7af
a2303a2973c119ff3b471d29a291a25a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1800309232509124608