Optimizing machine learning models training in the cloud

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: Künas, Cristiano Alex
Orientador(a): Navaux, Philippe Olivier Alexandre
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
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:
TPU
Link de acesso: http://hdl.handle.net/10183/261762
Resumo: Impulsionado pelo desenvolvimento de novas tecnologias, como assistentes pessoais ou carros autônomos, o aprendizado de máquina tornou-se rapidamente um dos campos mais ativos da ciência da computação. De Big Data a aplicativos de Aprendizado Profundo, as novas cargas de trabalho são notoriamente exigentes em termos de recursos intensificando a demanda por computação de alto desempenho (HPC). Portanto, é de suma importância otimizar a execução destas cargas de trabalho em processadores modernos. Várias aborda gens foram propostas para acelerar o aprendizado de máquina em GPUs e computadores massivamente paralelos, bem como ASICs dedicados. Por outro lado, há um crescimento no processamento de programas de computador na nuvem. É uma forma de reduzir o custo de aquisição de computadores para executar programas localmente. Nesta dissertação de mestrado, nós adaptamos e migramos três aplicações DL para explo rar recursos de Cloud Computing. Essa abordagem ajuda a aliviar a contenção de recursos locais de alta demanda de HPC, permitindo que eles se concentrem na execução de aplicativos. Otimizamos a execução destas aplicações utilizando Tensor Processing Units (TPUs). O objetivo é avaliar o desempenho, a acurácia e custo do uso de tais dispositivos para treinamento de ML/DL. Em nossos experimentos, mostramos que o tamanho da aplicação pode influenciar no desempenho e no custo de execução. Pequenas aplicações, que acabam não utilizando todo o hardware podem ter pouca ou nenhuma eficiência de custo, ou seja, o custo de execução é maior e não é compensado pelo desempenho obtido. Nestes casos, a escolha de executar na nuvem deve ser analisada com cautela, observando se há beneficios adicionais. Em aplicações maiores, que usam de forma mais efetiva o recurso computacional, o desempenho alcançado é melhorado. Além disso, apresenta eficiência de custo de cerca de 50% na execução da mesma quantidade de trabalho comparado ao cluster local. O custo por treinamento pode ser ainda mais reduzido através do uso de TPUs preemptivas, custando cerca de 70% menos comparado com TPUs sob demanda.