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