17 jul 2020
14:00 Defesa de Doutorado Integralmente a distância
Tema
Partitioning Convolutional Neural Networks for Inference on Constrained Internet-of-Things Devices
Aluno
Fabíola Martins Campos de Oliveira
Orientador / Docente
Edson Borin
Breve resumo
Bilhões de dispositivos comporão a Internet das Coisas (do inglês, Internet of Things
(IoT)) nos próximos anos, gerando uma quantidade enorme de dados que necessitarão ser
processados e interpretados eficientemente. A maioria dos dados são atualmente processados na nuvem, contudo, esse paradigma não pode ser adotado para processar a enorme quantidade de dados gerados pela IoT, principalmente devido a limites de largura de banda e requisitos de latência de muitas aplicações. Pode-se usar a computação
em névoa para processar esses dados, usando a infraestrutura de rede e os próprios dispositivos. Neste contexto, técnicas de aprendizado profundo são adequadas para inferir
informações desses dados, mas os requisitos de memória de redes neurais profundas podem impedir que até mesmo a inferência seja executada em um único dispositivo restrito
em recursos. Além disso, os requisitos computacionais de redes neurais profundas podem
produzir um tempo de execução inviável. Para habilitar a execução de modelos de redes
neurais em sistemas de IoT restritos em recursos, o código pode ser particionado e distribuído entre múltiplos dispositivos. Abordagens diferentes de particionamento são possíveis, no entanto, algumas delas reduzem a taxa de inferência a qual o sistema pode executar ou aumentam a quantidade de comunicação entre múltiplos dispositivos. Nesta tese, o objetivo é distribuir a execução da inferência de redes neurais profundas entre diversos dispositivos da IoT restritos. Três algoritmos de particionamento automático foram propostos, que modelam a rede neural profunda como um grafo de fluxo de dados e focam nas características de sistemas de IoT para definir as funções-objetivo e restrições dos algoritmos, como taxa de inferências, comunicação e limitações de memória. O primeiro algoritmo é o Particionamento baseado em Kernighan e Lin, cuja função-objetivo é reduzir a comunicação, respeitando as restrições de memória de cada dispositivo. O segundo algoritmo é o Particionamento de Redes Neurais Profundas para Dispositivos Restritos da IoT, que, adicionalmente ao primeiro algoritmo, pode otimizar a taxa de inferências da rede neural e também pode contabilizar apropriadamente a quantidade de memória requerida pelos parâmetros compartilhados e biases de Redes Neurais de Convolução. Finalmente, o terceiro algoritmo é o Particionamento Multinível de Redes Neurais Profundas para Dispositivos Restritos da IoT, um algoritmo que emprega a abordagem multinível para reduzir o tamanho do grafo e aproveitar as capacidades do algoritmo anterior. A principal contribuição desta tese é fornecer um estudo e novos algoritmos para particionar redes neurais profundas em dispositivos restritos da IoT usando diferentes funções-objetivo enquanto respeita as restrições de memória de cada dispositivo. Comparada aos algoritmos na literatura, a redução de comunicação é geralmente a única função-objetivo oferecida e não há consideração de restrições de memória, permitindo que esses algoritmos produzam particionamentos inválidos. Além disso, nossos algoritmos, na maioria das vezes, produzem resultados melhores do que as abordagens na literatura. Outra contribuição é que se podem utilizar os algoritmos propostos para particionar entre quaisquer dispositivos qualquer computação que possa ser expressa como um grafo de fluxo de dados.
Banca examinadora
Titulares:
Edson Borin | IC/UNICAMP |
Kalinka Regina Lucas Jaquie Castelo Branco | ICMC/USP |
Jó Ueyama | ICMC/USP |
Edmundo Roberto Mauro Madeira | IC/UNICAMP |
Sandra Eliza Fontes de Avila | IC/UNICAMP |
Suplentes:
Luiz Fernando Bittencourt | IC/UNICAMP |
Eurípedes Guilherme de Oliveira Nóbrega | FEM/UNICAMP |
José Marcos Silva Nogueira | DCC/UFMG |