A framework for fast architecture exploration of convolutional neural network accelerators

Detalhes bibliográficos
Autor(a) principal: Juracy, Leonardo Rezende
Data de Publicação: 2022
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da PUC_RS
Texto Completo: https://tede2.pucrs.br/tede2/handle/tede/10437
Resumo: Aprendizado de Máquina (ML, do inglês, Machine Learning) é uma subárea da inteligência artificial que compreende algoritmos para resolver problemas de classificação e reconhecimento de padrões. Uma das maneiras mais comuns de desenvolver ML atualmente é usando Redes Neurais Artificiais, especificamente Redes Neurais Convolucionais (CNN, do inglês, Convolutional Neural Networks). As GPUs tornaram-se as plataformas de referência para as fases de treinamento e inferência das CNNs devido à sua arquitetura adaptada aos operadores da CNN. No entanto, as GPUs são arquiteturas que consomem muita energia. Um caminho para permitir a implementação de CNNs em dispositivos com restrição de energia é adotar aceleradores de hardware para a fase de inferência. No entanto, a literatura apresenta lacunas em relação às análises e comparações desses aceleradores para avaliar os compromissos Potência-Desempenho-Área (PPA, do inglês, Power-Performance-Area). Normalmente, a literatura estima PPA a partir do número de operações executadas durante a fase de inferência, como o número de MACs (do inglês, Multiplier-Accumulator), o que pode não refletir o comportamento real do hardware. Assim, é necessário fornecer estimativas de hardware precisas, permitindo a exploração do espaço de projeto (DSE, do inglês, Design Space Exploration) para implementar as CNNs de acordo com as restrições de projeto. Esta Tese propõe duas abordagens de DSE para CNNs. A primeira adota um simulador de sistema com precisão de ciclo de relógio e usa uma linguagem de alto nível para descrever o hardware de forma abstrata. Essa primeira abordagem, usa o TensorFlow como front-end para treinamento, enquanto o back-end gera estimativas de desempenho por meio da síntese física de aceleradores de hardware. A segunda abordagem, é um DSE rápido e preciso, usando um modelo analítico construído a partir dos resultados da síntese física de aceleradores de hardware. O modelo analítico estima a área de silício, desempenho, potência, energia e quantidade de acessos à memória. O erro médio do pior caso observado comparando o modelo analítico com os dados obtidos da síntese física é inferior a 8%. Embora a segunda abordagem permita obter resultados precisos e de forma rápida, a primeira abordagem permite simular um sistema computacional completo, considerando possíveis redundâncias na modelagem de aceleradores. Esta Tese avança o estado da arte, apresentando métodos para gerar uma avaliação abrangente de PPA, integrando estruturas de front-end (por exemplo, TensorFlow) a um fluxo de design de back-end.
id P_RS_bff768fb2363c01dca170f74bd20971f
oai_identifier_str oai:tede2.pucrs.br:tede/10437
network_acronym_str P_RS
network_name_str Biblioteca Digital de Teses e Dissertações da PUC_RS
repository_id_str
spelling Moraes, Fernando Gehmhttp://lattes.cnpq.br/2509301929350826Moreira, Matheus Trevisanhttp://lattes.cnpq.br/3487439989692887http://lattes.cnpq.br/1919912901166999Juracy, Leonardo Rezende2022-09-08T19:39:35Z2022-08-05https://tede2.pucrs.br/tede2/handle/tede/10437Aprendizado de Máquina (ML, do inglês, Machine Learning) é uma subárea da inteligência artificial que compreende algoritmos para resolver problemas de classificação e reconhecimento de padrões. Uma das maneiras mais comuns de desenvolver ML atualmente é usando Redes Neurais Artificiais, especificamente Redes Neurais Convolucionais (CNN, do inglês, Convolutional Neural Networks). As GPUs tornaram-se as plataformas de referência para as fases de treinamento e inferência das CNNs devido à sua arquitetura adaptada aos operadores da CNN. No entanto, as GPUs são arquiteturas que consomem muita energia. Um caminho para permitir a implementação de CNNs em dispositivos com restrição de energia é adotar aceleradores de hardware para a fase de inferência. No entanto, a literatura apresenta lacunas em relação às análises e comparações desses aceleradores para avaliar os compromissos Potência-Desempenho-Área (PPA, do inglês, Power-Performance-Area). Normalmente, a literatura estima PPA a partir do número de operações executadas durante a fase de inferência, como o número de MACs (do inglês, Multiplier-Accumulator), o que pode não refletir o comportamento real do hardware. Assim, é necessário fornecer estimativas de hardware precisas, permitindo a exploração do espaço de projeto (DSE, do inglês, Design Space Exploration) para implementar as CNNs de acordo com as restrições de projeto. Esta Tese propõe duas abordagens de DSE para CNNs. A primeira adota um simulador de sistema com precisão de ciclo de relógio e usa uma linguagem de alto nível para descrever o hardware de forma abstrata. Essa primeira abordagem, usa o TensorFlow como front-end para treinamento, enquanto o back-end gera estimativas de desempenho por meio da síntese física de aceleradores de hardware. A segunda abordagem, é um DSE rápido e preciso, usando um modelo analítico construído a partir dos resultados da síntese física de aceleradores de hardware. O modelo analítico estima a área de silício, desempenho, potência, energia e quantidade de acessos à memória. O erro médio do pior caso observado comparando o modelo analítico com os dados obtidos da síntese física é inferior a 8%. Embora a segunda abordagem permita obter resultados precisos e de forma rápida, a primeira abordagem permite simular um sistema computacional completo, considerando possíveis redundâncias na modelagem de aceleradores. Esta Tese avança o estado da arte, apresentando métodos para gerar uma avaliação abrangente de PPA, integrando estruturas de front-end (por exemplo, TensorFlow) a um fluxo de design de back-end.Machine Learning (ML) is a sub-area of artificial intelligence comprehending algorithms to solve classification and pattern recognition problems. One of the most common ways to deliver ML nowadays is using Artificial Neural Networks, specifically Convolutional Neural Networks (CNN). GPUs became the reference platforms for both training and inference phases of CNNs due to their tailored architecture to the CNN operators. However, GPUs are powerhungry architectures. A path to enable the deployment of CNNs in energy-constrained devices is by adopting hardware accelerators for the inference phase. However, the literature presents gaps regarding analyses and comparisons of these accelerators to evaluate Power-Performance-Area (PPA) trade-offs. Typically, the literature estimates PPA from the number of executed operations during the inference phase, such as the number of Multiplier-Accumulators (MAC), which may not reflect the actual hardware behavior. Thus, it is necessary to deliver accurate hardware estimations, enabling design space exploration (DSE) to deploy CNNs according to the design constraints. This Thesis proposes two DSE approaches for CNNs. The former adopts a cycle-accurate system simulator and uses a highlevel language to describe the hardware abstractly. This first approach uses TensorFlow as a front-end for training, while the back-end generates performance estimations through physical synthesis of hardware accelerators. The second approach is a fast and accurate DSE, using an analytical model fitted from the physical synthesis of hardware accelerators. The analytic model estimates area, performance, power, energy, and memory accesses. The observed worst-case average error comparing the analytical model to the data obtained from the physical synthesis is smaller than 8%. Although the second approach generate accurate results in a fast way, the first approach enables simulating a complete computational system, considering a possible accelerators modeling redundancy. This Thesis advances the state-of-the-art by offering methods to generate a comprehensive PPA evaluation, integrating front-end frameworks (e.g., TensorFlow) to a back-end design flow.Submitted by PPG Ciência da Computação (ppgcc@pucrs.br) on 2022-08-30T18:56:04Z No. of bitstreams: 1 LEONARDO_REZENDE_JURACY_TES.pdf: 14967984 bytes, checksum: 221d49c18ed90dac4a56a4a45543dff8 (MD5)Approved for entry into archive by Sheila Dias (sheila.dias@pucrs.br) on 2022-09-08T19:15:17Z (GMT) No. of bitstreams: 1 LEONARDO_REZENDE_JURACY_TES.pdf: 14967984 bytes, checksum: 221d49c18ed90dac4a56a4a45543dff8 (MD5)Made available in DSpace on 2022-09-08T19:39:35Z (GMT). No. of bitstreams: 1 LEONARDO_REZENDE_JURACY_TES.pdf: 14967984 bytes, checksum: 221d49c18ed90dac4a56a4a45543dff8 (MD5) Previous issue date: 2022-08-05Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESapplication/pdfhttps://tede2.pucrs.br/tede2/retrieve/185324/LEONARDO_REZENDE_JURACY_TES.pdf.jpgengPontifícia Universidade Católica do Rio Grande do SulPrograma de Pós-Graduação em Ciência da ComputaçãoPUCRSBrasilEscola PolitécnicaRedes Neurais ConvolucionaisAcelerador de Hardware de ConvoluçãoSimulador de SistemaPPAExploração do Espaço de ProjetoConvolutional Neural NetworksConvolution Hardware AcceleratorSystem SimulatorPPADesign Space ExplorationCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOA framework for fast architecture exploration of convolutional neural network acceleratorsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisTrabalho não apresenta restrição para publicação-4570527706994352458500500600-8620782570833253013590462550136975366info:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da PUC_RSinstname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)instacron:PUC_RSTHUMBNAILLEONARDO_REZENDE_JURACY_TES.pdf.jpgLEONARDO_REZENDE_JURACY_TES.pdf.jpgimage/jpeg5506https://tede2.pucrs.br/tede2/bitstream/tede/10437/4/LEONARDO_REZENDE_JURACY_TES.pdf.jpg620f11faca786c0b84fff8c843c3e854MD54TEXTLEONARDO_REZENDE_JURACY_TES.pdf.txtLEONARDO_REZENDE_JURACY_TES.pdf.txttext/plain309332https://tede2.pucrs.br/tede2/bitstream/tede/10437/3/LEONARDO_REZENDE_JURACY_TES.pdf.txta770a76fb0443b544992593e99779610MD53ORIGINALLEONARDO_REZENDE_JURACY_TES.pdfLEONARDO_REZENDE_JURACY_TES.pdfapplication/pdf14967984https://tede2.pucrs.br/tede2/bitstream/tede/10437/2/LEONARDO_REZENDE_JURACY_TES.pdf221d49c18ed90dac4a56a4a45543dff8MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-8590https://tede2.pucrs.br/tede2/bitstream/tede/10437/1/license.txt220e11f2d3ba5354f917c7035aadef24MD51tede/104372022-09-08 20:00:20.654oai:tede2.pucrs.br:tede/10437QXV0b3JpemE/P28gcGFyYSBQdWJsaWNhPz9vIEVsZXRyP25pY2E6IENvbSBiYXNlIG5vIGRpc3Bvc3RvIG5hIExlaSBGZWRlcmFsIG4/OS42MTAsIGRlIDE5IGRlIGZldmVyZWlybyBkZSAxOTk4LCBvIGF1dG9yIEFVVE9SSVpBIGEgcHVibGljYT8/byBlbGV0cj9uaWNhIGRhIHByZXNlbnRlIG9icmEgbm8gYWNlcnZvIGRhIEJpYmxpb3RlY2EgRGlnaXRhbCBkYSBQb250aWY/Y2lhIFVuaXZlcnNpZGFkZSBDYXQ/bGljYSBkbyBSaW8gR3JhbmRlIGRvIFN1bCwgc2VkaWFkYSBhIEF2LiBJcGlyYW5nYSA2NjgxLCBQb3J0byBBbGVncmUsIFJpbyBHcmFuZGUgZG8gU3VsLCBjb20gcmVnaXN0cm8gZGUgQ05QSiA4ODYzMDQxMzAwMDItODEgYmVtIGNvbW8gZW0gb3V0cmFzIGJpYmxpb3RlY2FzIGRpZ2l0YWlzLCBuYWNpb25haXMgZSBpbnRlcm5hY2lvbmFpcywgY29ucz9yY2lvcyBlIHJlZGVzID9zIHF1YWlzIGEgYmlibGlvdGVjYSBkYSBQVUNSUyBwb3NzYSBhIHZpciBwYXJ0aWNpcGFyLCBzZW0gP251cyBhbHVzaXZvIGFvcyBkaXJlaXRvcyBhdXRvcmFpcywgYSB0P3R1bG8gZGUgZGl2dWxnYT8/byBkYSBwcm9kdT8/byBjaWVudD9maWNhLgo=Biblioteca Digital de Teses e Dissertaçõeshttp://tede2.pucrs.br/tede2/PRIhttps://tede2.pucrs.br/oai/requestbiblioteca.central@pucrs.br||opendoar:2022-09-08T23:00:20Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)false
dc.title.por.fl_str_mv A framework for fast architecture exploration of convolutional neural network accelerators
title A framework for fast architecture exploration of convolutional neural network accelerators
spellingShingle A framework for fast architecture exploration of convolutional neural network accelerators
Juracy, Leonardo Rezende
Redes Neurais Convolucionais
Acelerador de Hardware de Convolução
Simulador de Sistema
PPA
Exploração do Espaço de Projeto
Convolutional Neural Networks
Convolution Hardware Accelerator
System Simulator
PPA
Design Space Exploration
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
title_short A framework for fast architecture exploration of convolutional neural network accelerators
title_full A framework for fast architecture exploration of convolutional neural network accelerators
title_fullStr A framework for fast architecture exploration of convolutional neural network accelerators
title_full_unstemmed A framework for fast architecture exploration of convolutional neural network accelerators
title_sort A framework for fast architecture exploration of convolutional neural network accelerators
author Juracy, Leonardo Rezende
author_facet Juracy, Leonardo Rezende
author_role author
dc.contributor.advisor1.fl_str_mv Moraes, Fernando Gehm
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/2509301929350826
dc.contributor.advisor-co1.fl_str_mv Moreira, Matheus Trevisan
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/3487439989692887
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/1919912901166999
dc.contributor.author.fl_str_mv Juracy, Leonardo Rezende
contributor_str_mv Moraes, Fernando Gehm
Moreira, Matheus Trevisan
dc.subject.por.fl_str_mv Redes Neurais Convolucionais
Acelerador de Hardware de Convolução
Simulador de Sistema
PPA
Exploração do Espaço de Projeto
topic Redes Neurais Convolucionais
Acelerador de Hardware de Convolução
Simulador de Sistema
PPA
Exploração do Espaço de Projeto
Convolutional Neural Networks
Convolution Hardware Accelerator
System Simulator
PPA
Design Space Exploration
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Convolutional Neural Networks
Convolution Hardware Accelerator
System Simulator
PPA
Design Space Exploration
dc.subject.cnpq.fl_str_mv CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
description Aprendizado de Máquina (ML, do inglês, Machine Learning) é uma subárea da inteligência artificial que compreende algoritmos para resolver problemas de classificação e reconhecimento de padrões. Uma das maneiras mais comuns de desenvolver ML atualmente é usando Redes Neurais Artificiais, especificamente Redes Neurais Convolucionais (CNN, do inglês, Convolutional Neural Networks). As GPUs tornaram-se as plataformas de referência para as fases de treinamento e inferência das CNNs devido à sua arquitetura adaptada aos operadores da CNN. No entanto, as GPUs são arquiteturas que consomem muita energia. Um caminho para permitir a implementação de CNNs em dispositivos com restrição de energia é adotar aceleradores de hardware para a fase de inferência. No entanto, a literatura apresenta lacunas em relação às análises e comparações desses aceleradores para avaliar os compromissos Potência-Desempenho-Área (PPA, do inglês, Power-Performance-Area). Normalmente, a literatura estima PPA a partir do número de operações executadas durante a fase de inferência, como o número de MACs (do inglês, Multiplier-Accumulator), o que pode não refletir o comportamento real do hardware. Assim, é necessário fornecer estimativas de hardware precisas, permitindo a exploração do espaço de projeto (DSE, do inglês, Design Space Exploration) para implementar as CNNs de acordo com as restrições de projeto. Esta Tese propõe duas abordagens de DSE para CNNs. A primeira adota um simulador de sistema com precisão de ciclo de relógio e usa uma linguagem de alto nível para descrever o hardware de forma abstrata. Essa primeira abordagem, usa o TensorFlow como front-end para treinamento, enquanto o back-end gera estimativas de desempenho por meio da síntese física de aceleradores de hardware. A segunda abordagem, é um DSE rápido e preciso, usando um modelo analítico construído a partir dos resultados da síntese física de aceleradores de hardware. O modelo analítico estima a área de silício, desempenho, potência, energia e quantidade de acessos à memória. O erro médio do pior caso observado comparando o modelo analítico com os dados obtidos da síntese física é inferior a 8%. Embora a segunda abordagem permita obter resultados precisos e de forma rápida, a primeira abordagem permite simular um sistema computacional completo, considerando possíveis redundâncias na modelagem de aceleradores. Esta Tese avança o estado da arte, apresentando métodos para gerar uma avaliação abrangente de PPA, integrando estruturas de front-end (por exemplo, TensorFlow) a um fluxo de design de back-end.
publishDate 2022
dc.date.accessioned.fl_str_mv 2022-09-08T19:39:35Z
dc.date.issued.fl_str_mv 2022-08-05
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://tede2.pucrs.br/tede2/handle/tede/10437
url https://tede2.pucrs.br/tede2/handle/tede/10437
dc.language.iso.fl_str_mv eng
language eng
dc.relation.program.fl_str_mv -4570527706994352458
dc.relation.confidence.fl_str_mv 500
500
600
dc.relation.cnpq.fl_str_mv -862078257083325301
dc.relation.sponsorship.fl_str_mv 3590462550136975366
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.publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv PUCRS
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Escola Politécnica
publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da PUC_RS
instname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron:PUC_RS
instname_str Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron_str PUC_RS
institution PUC_RS
reponame_str Biblioteca Digital de Teses e Dissertações da PUC_RS
collection Biblioteca Digital de Teses e Dissertações da PUC_RS
bitstream.url.fl_str_mv https://tede2.pucrs.br/tede2/bitstream/tede/10437/4/LEONARDO_REZENDE_JURACY_TES.pdf.jpg
https://tede2.pucrs.br/tede2/bitstream/tede/10437/3/LEONARDO_REZENDE_JURACY_TES.pdf.txt
https://tede2.pucrs.br/tede2/bitstream/tede/10437/2/LEONARDO_REZENDE_JURACY_TES.pdf
https://tede2.pucrs.br/tede2/bitstream/tede/10437/1/license.txt
bitstream.checksum.fl_str_mv 620f11faca786c0b84fff8c843c3e854
a770a76fb0443b544992593e99779610
221d49c18ed90dac4a56a4a45543dff8
220e11f2d3ba5354f917c7035aadef24
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
repository.mail.fl_str_mv biblioteca.central@pucrs.br||
_version_ 1799765357723910144