A practical evaluation of parallel and distributed deep learning frameworks - Solórzano, Ana Luisa Veroneze (2022)
O aumento do poder computacional e de dados disponíveis nos últimos anos contribuiu para que pesquisadores em Aprendizado Profundo atualizassem seus modelos para usar treinamento distribuído. Aprendizado Profundo Distribuído (APD) é essencial para re solver problemas de grande escala mais rapidamente e de forma precisa usando múltiplos dispositivos para treinarem em paralelo. Esta estratégia traz desafios em otimizar o de sempenho do treino sem perder a acurácia e sem gerar sobrecarga com comunicações entre servidor e dispositivos. Frameworks para APD se tornaram uma alternativa para treinar redes neurais, executando sobre bibliotecas de Aprendizado de Máquina (AM). Esses frameworks são vantajosos para usuários finais, pois requerem algumas novas li nhas de código no script não-distribuído. No entanto, da perspectiva the Computação de Alto Desempenho (CAD), a avaliação do treinamento distribuído é um desafio, pois os frameworks escondem detalhes de suas implementações. O uso de metodologias aplica das em análise de desempenho e ferramentas para visualização comuns à área de CAD podem beneficiar usuários dos frameworks a escolherem o melhor para seu modelo, e também desenvolvedores dos frameworks a identificarem indicativos de como otimizá-los. Este trabalho apresenta uma avaliação de desempenho e comparação entre dois mo dernos frameworks para APD: Horovod, um dos mais populares usado mundialmente, e Tarantella, mais recente com a mesma estratégia de paralelização que o Horovod, mas com diferentes algoritmos e padrões para comunicação em sistemas distribuídos. Os re sultados mostram que combinar ferramentas de CAD e de AM para avaliar o desempenho de frameworks para APD enriquecem a análise de desempenho e ajudam a identificar gar galos nos frameworks. Horovod apresentou a maior eficiência escalando de quatro à oito GPUs, com uma diferença de quase 50% em relação ao Tarantella. Embora o algoritmo do Horovod treine mais rápido do que o do Tarantella, este apresentou maior acurácia do modelo. Usando agregação temporal, pode-se identificar o tempo gasto com com putação e com comunicação, o que pode beneficiar desenvolvedores a melhorarem seus frameworks. Nossa abordagem pode ser usada para análise de desempenho de diversos modelos de redes neurais artificiais, pois foi implementada a nível dos frameworks.