Optimizing for adaptive CNNs on FPGAs : a multi-level approach
| Ano de defesa: | 2024 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Tese |
| Tipo de acesso: | Acesso aberto |
| Idioma: | eng |
| Instituição de defesa: |
Não Informado pela instituição
|
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Palavras-chave em Inglês: | |
| Link de acesso: | http://hdl.handle.net/10183/276483 |
Resumo: | O Aprendizado Profundo, e especialmente as Redes Neurais Profundas (DNN), impulsiona a revolução da Internet das Coisas (IoT). Com componentes inteligentes que interagem com outros dispositivos, aplicações que vão desde cidades inteligentes até saúde e dispositivos wearable permeiam nossa vida cotidiana. Para atender aos requisitos de latência e privacidade nesse novo domínio, tarefas de DNN têm migrado para a borda, onde dispositivos IoT podem transferir o processamento da inferência para servidores locais de borda. O processamento no contínuo IoT-borda apresenta uma alternativa ao processamento em nuvem, que pode consumir mais energia, tempo de comunicação e exposição dos dados. Nesse contexto, soluções de hardware inovadoras também têm sido exploradas para acelerar as operações das DNNs, proporcionando ganhos significativos de eficiência. Por exemplo, FPGAs oferecem custos não-recorrentes de engenharia relativamente baixos e procesamento com boa flexibilidade/programabilidade e eficiência energética. No entanto, depender exclusivamente de novos dispositivos de hardware não será suficiente para lidar com o aumento constante das demandas computacionais, forçando-nos a considerar o problema de múltiplas perspectivas: desde otimizações ao nível do hardware até ao algoritmo. Um caso de uso representativo são as Redes Neurais Convolucionais (CNNs) usadas em muitas aplicações IoT. Ao passo que podemos trocar a carga computacional da CNN por qualidade com otimizações ao nível do algoritmo como a quantização, poda e a early-exit, também é possível otimizar o hardware acelerando a inferência com, por exemplo, Síntese de Alto-Nível ou até mesmo compartilhar a carga entre vários nodos com offloading. Nesta tese, argumentamos que todos os eixos devem ser juntamente considerados para otimizar a inferência, pois eles se influenciam mutuamente e podem ser explorados para criar um espaço de projeto unificado e abrangente. Além disso, dado que o contínuo IoT-borda é altamente heterogêneo, com múltiplas aplicações concorrentes, cargas de trabalho variáveis e ambientes diversos, devemos realizar tais otimizações de forma dinâmica para adaptar o processamento aos requisitos atuais. Esta tese apresenta uma ferramenta para combinar tais otimizações em vários níveis e explorá-las dinamicamente para oferecer processamento de inferência eficiente por todo o contínuo IoT-borda. |
| id |
URGS_11fa0e621258920608bd8dd19bec2d6b |
|---|---|
| oai_identifier_str |
oai:www.lume.ufrgs.br:10183/276483 |
| network_acronym_str |
URGS |
| network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
| repository_id_str |
|
| spelling |
Korol, Guilherme Dos SantosBeck Filho, Antonio Carlos Schneider2024-07-19T06:21:02Z2024http://hdl.handle.net/10183/276483001205928O Aprendizado Profundo, e especialmente as Redes Neurais Profundas (DNN), impulsiona a revolução da Internet das Coisas (IoT). Com componentes inteligentes que interagem com outros dispositivos, aplicações que vão desde cidades inteligentes até saúde e dispositivos wearable permeiam nossa vida cotidiana. Para atender aos requisitos de latência e privacidade nesse novo domínio, tarefas de DNN têm migrado para a borda, onde dispositivos IoT podem transferir o processamento da inferência para servidores locais de borda. O processamento no contínuo IoT-borda apresenta uma alternativa ao processamento em nuvem, que pode consumir mais energia, tempo de comunicação e exposição dos dados. Nesse contexto, soluções de hardware inovadoras também têm sido exploradas para acelerar as operações das DNNs, proporcionando ganhos significativos de eficiência. Por exemplo, FPGAs oferecem custos não-recorrentes de engenharia relativamente baixos e procesamento com boa flexibilidade/programabilidade e eficiência energética. No entanto, depender exclusivamente de novos dispositivos de hardware não será suficiente para lidar com o aumento constante das demandas computacionais, forçando-nos a considerar o problema de múltiplas perspectivas: desde otimizações ao nível do hardware até ao algoritmo. Um caso de uso representativo são as Redes Neurais Convolucionais (CNNs) usadas em muitas aplicações IoT. Ao passo que podemos trocar a carga computacional da CNN por qualidade com otimizações ao nível do algoritmo como a quantização, poda e a early-exit, também é possível otimizar o hardware acelerando a inferência com, por exemplo, Síntese de Alto-Nível ou até mesmo compartilhar a carga entre vários nodos com offloading. Nesta tese, argumentamos que todos os eixos devem ser juntamente considerados para otimizar a inferência, pois eles se influenciam mutuamente e podem ser explorados para criar um espaço de projeto unificado e abrangente. Além disso, dado que o contínuo IoT-borda é altamente heterogêneo, com múltiplas aplicações concorrentes, cargas de trabalho variáveis e ambientes diversos, devemos realizar tais otimizações de forma dinâmica para adaptar o processamento aos requisitos atuais. Esta tese apresenta uma ferramenta para combinar tais otimizações em vários níveis e explorá-las dinamicamente para oferecer processamento de inferência eficiente por todo o contínuo IoT-borda.Deep Learning, and especially Deep Neural Networks (DNN), drives the Internet of Things (IoT) revolution. With intelligent components that can interact with other devices, applications ranging from smart cities to healthcare and wearables will permeate our everyday life. To meet latency and privacy requirements in this new application domain, resource-hungry DNN tasks have been migrating to the edge, where IoT devices can offload the inference processing to local edge servers. Processing at the IoT-edge continuum presents an alternative to the far-located cloud, where processing may take more energy, communication time, and data exposure. In this context, novel hardware solutions have also been explored to accelerate specific operations of DNNs, providing significant efficiency gains. For example, FPGAs offer relatively low non-recurring engineering and production costs at good flexibility/programmability and power efficiency levels. Nevertheless, relying exclusively on new hardware devices will not cope with the constant and rapid increase in the DNNs’ computational demands, forcing us to look at this efficiency problem from multiple perspectives: from hardware- to algorithmic-level optimizations. A representative use case is the Convolutional Neural Networks (CNNs) used in many IoT applications. At the same time that it is possible to trade the CNN computational load for quality with algorithmic-level optimizations like quantization, pruning, and early-exit, it is also possible to optimize the hardware accelerating the CNN processing with, for instance, High-Level Synthesis or, even, share the load between multiple nodes with offloading. In this thesis, we argue that all axes must be considered together to optimize inference processing as they influence each other and can be exploited to create a unified and comprehensive design space. What is more, given that the IoT-edge is highly heterogeneous, with multiple concurrent applications, variable workloads, and diverse environments, we must take such optimizations dynamically to adapt the inference processing to current requirements. This thesis presents a framework for combining such multi-level optimizations in a dynamic fashion to deliver efficient inference processing across the IoT-edge continuum.application/pdfengRede neural profundaFPGAInternet das coisasSistemas inteligentesRedes neurais convolucionaisAdaptive inferenceIoT-edge continuumOptimizing for adaptive CNNs on FPGAs : a multi-level approachOtimizando para CNNs adaptativas em FPGAs : uma abordagem multi-nívelinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2024doutoradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001205928.pdf.txt001205928.pdf.txtExtracted Texttext/plain395768http://www.lume.ufrgs.br/bitstream/10183/276483/2/001205928.pdf.txt8ec11c994c7485952b8ebf9f0b1cf5baMD52ORIGINAL001205928.pdfTexto completo (inglês)application/pdf9592445http://www.lume.ufrgs.br/bitstream/10183/276483/1/001205928.pdf4abb749e5babc37d719e5628567eeed7MD5110183/2764832024-10-25 06:43:19.701028oai:www.lume.ufrgs.br:10183/276483Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532024-10-25T09:43:19Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
| dc.title.pt_BR.fl_str_mv |
Optimizing for adaptive CNNs on FPGAs : a multi-level approach |
| dc.title.alternative.pt.fl_str_mv |
Otimizando para CNNs adaptativas em FPGAs : uma abordagem multi-nível |
| title |
Optimizing for adaptive CNNs on FPGAs : a multi-level approach |
| spellingShingle |
Optimizing for adaptive CNNs on FPGAs : a multi-level approach Korol, Guilherme Dos Santos Rede neural profunda FPGA Internet das coisas Sistemas inteligentes Redes neurais convolucionais Adaptive inference IoT-edge continuum |
| title_short |
Optimizing for adaptive CNNs on FPGAs : a multi-level approach |
| title_full |
Optimizing for adaptive CNNs on FPGAs : a multi-level approach |
| title_fullStr |
Optimizing for adaptive CNNs on FPGAs : a multi-level approach |
| title_full_unstemmed |
Optimizing for adaptive CNNs on FPGAs : a multi-level approach |
| title_sort |
Optimizing for adaptive CNNs on FPGAs : a multi-level approach |
| author |
Korol, Guilherme Dos Santos |
| author_facet |
Korol, Guilherme Dos Santos |
| author_role |
author |
| dc.contributor.author.fl_str_mv |
Korol, Guilherme Dos Santos |
| dc.contributor.advisor1.fl_str_mv |
Beck Filho, Antonio Carlos Schneider |
| contributor_str_mv |
Beck Filho, Antonio Carlos Schneider |
| dc.subject.por.fl_str_mv |
Rede neural profunda FPGA Internet das coisas Sistemas inteligentes Redes neurais convolucionais |
| topic |
Rede neural profunda FPGA Internet das coisas Sistemas inteligentes Redes neurais convolucionais Adaptive inference IoT-edge continuum |
| dc.subject.eng.fl_str_mv |
Adaptive inference IoT-edge continuum |
| description |
O Aprendizado Profundo, e especialmente as Redes Neurais Profundas (DNN), impulsiona a revolução da Internet das Coisas (IoT). Com componentes inteligentes que interagem com outros dispositivos, aplicações que vão desde cidades inteligentes até saúde e dispositivos wearable permeiam nossa vida cotidiana. Para atender aos requisitos de latência e privacidade nesse novo domínio, tarefas de DNN têm migrado para a borda, onde dispositivos IoT podem transferir o processamento da inferência para servidores locais de borda. O processamento no contínuo IoT-borda apresenta uma alternativa ao processamento em nuvem, que pode consumir mais energia, tempo de comunicação e exposição dos dados. Nesse contexto, soluções de hardware inovadoras também têm sido exploradas para acelerar as operações das DNNs, proporcionando ganhos significativos de eficiência. Por exemplo, FPGAs oferecem custos não-recorrentes de engenharia relativamente baixos e procesamento com boa flexibilidade/programabilidade e eficiência energética. No entanto, depender exclusivamente de novos dispositivos de hardware não será suficiente para lidar com o aumento constante das demandas computacionais, forçando-nos a considerar o problema de múltiplas perspectivas: desde otimizações ao nível do hardware até ao algoritmo. Um caso de uso representativo são as Redes Neurais Convolucionais (CNNs) usadas em muitas aplicações IoT. Ao passo que podemos trocar a carga computacional da CNN por qualidade com otimizações ao nível do algoritmo como a quantização, poda e a early-exit, também é possível otimizar o hardware acelerando a inferência com, por exemplo, Síntese de Alto-Nível ou até mesmo compartilhar a carga entre vários nodos com offloading. Nesta tese, argumentamos que todos os eixos devem ser juntamente considerados para otimizar a inferência, pois eles se influenciam mutuamente e podem ser explorados para criar um espaço de projeto unificado e abrangente. Além disso, dado que o contínuo IoT-borda é altamente heterogêneo, com múltiplas aplicações concorrentes, cargas de trabalho variáveis e ambientes diversos, devemos realizar tais otimizações de forma dinâmica para adaptar o processamento aos requisitos atuais. Esta tese apresenta uma ferramenta para combinar tais otimizações em vários níveis e explorá-las dinamicamente para oferecer processamento de inferência eficiente por todo o contínuo IoT-borda. |
| publishDate |
2024 |
| dc.date.accessioned.fl_str_mv |
2024-07-19T06:21:02Z |
| dc.date.issued.fl_str_mv |
2024 |
| 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 |
http://hdl.handle.net/10183/276483 |
| dc.identifier.nrb.pt_BR.fl_str_mv |
001205928 |
| url |
http://hdl.handle.net/10183/276483 |
| identifier_str_mv |
001205928 |
| 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/276483/2/001205928.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/276483/1/001205928.pdf |
| bitstream.checksum.fl_str_mv |
8ec11c994c7485952b8ebf9f0b1cf5ba 4abb749e5babc37d719e5628567eeed7 |
| 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_ |
1831316180790411264 |