Dissertação
Estudo comparativo do desempenho de bibliotecas para redes neurais convolucionais em diferentes microarquiteturas de GPU
Registro en:
FLORENCIO, Felipe de Almeida. Estudo comparativo do desempenho de bibliotecas para redes neurais convolucionais em diferentes microarquiteturas de GPU. 2020. 147 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Sergipe, São Cristóvão, Sergipe, 2020.
Autorização para publicação no Repositório da Universidade Federal de Sergipe (RI-UFS), concedida pelo autor.
Autor
Florencio, Felipe de Almeida
Institución
Resumen
Context: The popularization of Deep Learning and the Deep Inference spurred the development of tools for the implementation of Convolutional Neural Networks (CNNs) as specific libraries for the development of CNNs, the popularization also stimulated the development of GPUs with CNN acceleration capabilities. Developers and scientists working with CNNs need experimental scientific studies that point out which library is most suitable for a particular GPU microarchitecture. Objective: Compare the performance of the CNTK, PyTorch, TensorFlow1.15 and TensorFlow 2.2 libraries in different GPU microarchitectures (Kepler, Maxwell, Pascal and Turing) using LeNet-5 CNN and the MNIST dataset. Method: Initially, a systematic mapping was carried out as a way to identify and systematize the main benchmarks, then an experiment was carried out evaluating the impact of the Keras API on the performance of the libraries used in the comparative study and lastly, four experiments were carried out comparing the libraries, each experiment was performed in a computational environment accelerated by a GPU with a different microarchitecture. Results: For the systematic mapping, it was identified that the classic CNN architectures such as LeNet-5 and AlexNet are the most used as benchmarks, also showed that the most used data benchmarking sets are ImageNet, MNIST and CIFAR-10. The experiment on the impact of the Keras API showed that the API negatively impacts the performance of all the tested libraries. In the comparative study of the libraries’ performance, the PyTorch library presented the performance performance and the CNTK, TensorFlow 1.15 and TensorFlow 2.2 libraries alternated between the three shorter execution times. Conclusion: The results show that the PyTorch library presents a low level of use of GPU and uses a large amount of sec memory compared to other libraries that showed a higher performance. Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES Contexto: A popularização da Deep Learning e da Deep Inference impulsionou o desenvolvimento de ferramentas para implementação de Redes Neurais Convolucionais (CNNs, do inglês Convolutional Neural Networks) como bibliotecas específicas para o desenvolvimento de CNNs, a popularização também estimulou o desenvolvimento de GPUs com recursos de aceleração de CNNs. Os desenvolvedores e cientistas que trabalham com CNNs precisam de estudos científicos experimentais que apontem qual a biblioteca mais adequada para determinada microarquitetura de GPU. Objetivos: Comparar o desempenho das bibliotecas CNTK, PyTorch, TensorFlow 1.15 e TensorFlow 2.2 em diferentes microarquiteturas de GPU (Kepler, Maxwell, Pascal e Turing) utilizando a CNN LeNet-5 e o dataset MNIST. Metodologia: Inicialmente, foi realizado um mapeamento sistemático como forma de identificar e sistematizar os principais benchmarks, em seguida foi realizado um experimento avaliando o impacto da API Keras no desempenho das bibliotecas utilizadas no estudo comparativo e por último foram realizados quatro experimentos comparando as bibliotecas, cada experimento foi realizado em um ambiente acelerado por uma GPU com uma microarquitetura diferente. Resultados: Para o mapeamento sistemático, foi identificado que as arquiteturas clássicas de CNN como LeNet-5 e AlexNet são as mais utilizadas como benchmarks, também mostrou que os datasets mais utilizados em benchmarking são o ImageNet, MNIST e CIFAR-10. O experimento sobre o impacto da API Keras mostrou que a API impacta negativamente no desempenho de todas as bibliotecas testadas. No estudo comparativo de desempenho das bibliotecas, a biblioteca PyTorch apresentou o pior desempenho e as bibliotecas CNTK, TensorFlow 1.15 e TensorFlow 2.2 alternaram entre os três menores tempos de execução. Conclusão: Os resultados evidenciam que a biblioteca PyTorch apresenta um baixo nível de utilização da GPU e utiliza uma grande quantidade de memória se comparada as outras bibliotecas que apresentaram um desempenho superior. São Cristóvão, SE