Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/36807
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2020_HiandraFonsecaTomasi_tcc.pdf1,75 MBAdobe PDFver/abrir
Título: Acelerador de hardware em FPGA para aplicações em aprendizado de máquina
Autor(es): Tomasi, Hiandra Fonseca
Orientador(es): Café, Daniel Chaves
Assunto: Aprendizagem de máquina
Redes neurais (Computação)
Data de apresentação: 16-Dez-2020
Data de publicação: 21-Nov-2023
Referência: TOMASI, Hiandra Fonseca. Acelerador de hardware em FPGA para aplicações em aprendizado de máquina. 2020. 67 f., il. Trabalho de conclusão de curso (Bacharelado em Engenharia Elétrica) — Universidade de Brasília, Brasília, 2020.
Resumo: A popularização do uso do aprendizado de máquinas no sentido de que sua utilização é crescente nas mais variadas aplicações tecnológicas tem criado uma demanda também crescente por poder computacional e energia. Estes fatores, por serem fundamentais para o treinamento e funcionamento das redes neurais, tornam também limitante a sua utilização quando os recursos necessários não podem ser fornecidos ou quando o tempo de espera de execução dos algoritmos é tão grande que desestimula ou impede o andamento de pesquisas.Esses problemas tem sido acentuados quando se coloca em perspectiva também a questão ambiental associada às altas demandas de energia. Nesse contexto, tornou-se fundamentala busca por alternativas às GPUs e CPUs, as quais além de não poderem ser utilizadas em aplicações de pequeno porte, como smartphones e relógios inteligentes, demandam grande quantidade de energia. Uma das alternativas consiste no uso de FPGAs (Field Programmable Gate Arrays) para prover um hardware dedicado à realização das operações mais custosas dos algoritmos: as matriciais. O motivo por trás disso foi exposto na fundamentação teórica desenvolvida para uma rede MLP genérica utilizando a notação de operações matriciais,o que não foi encontrado nas fontes pesquisadas. Foram apresentadas duas soluções comotimizações diferentes. A primeira tem como foco desempenho e consegue entregar o resultado de um elemento da matriz resultante da multiplicação matricial em apenas 270ns. Já a segunda implementação resultou em um compromisso entre performance e ocupação da FPGA, ocupando em média 40% a 50% da FPGA da placa Basys 3. O resultado do design2 pode ser computado em 330ns. Esse resultado apresenta uma penalidade de apenas 20%com relação ao design 1, porém ocupando 14do espaço. Considera-se, então, um bom compromisso de design. Além disso, o design 2 é cerca de 4 vezes mais rápido e 50 vezes maiseficiente que um script em Python.
Abstract: Machine Learning applications have greatly popularized in the sense that it has been used in a wide range of technological applications. This popularization created an increasing demand for computing power and energy, which are fundamental factors in both the learning and the prediction phases. This dependency limits its use when the needed resources can’tbe provided or when the algorithms execution times are so long that it even discouragesor prevents the research development. The associated problems increase when the environmental problems are also considered, since the energy demand is extremely high. In this context, the search for alternative hardwares is essential. These units can’t be used in smallapplications such as smartphones and smartwatches and also need a lot of power. One of the alternatives are the FPGAs (Field Programmable Gate Arrays), that can be programmed as a hardware dedicated to compute the algorithms hot spots. Those hot spots are mainly the matrix operations. The reason behind that was shown through the text by explaining the MLP’s algorithm for a generic net using matrix notation, which wasn’t found in the researched resources. Two design solutions were developed with different optimizations. The first focuses on performance and takes just 270ns to output one element of the resulting matrix.The second implementation is a trade off between performance and resources utilization. Itneeds 40% to 50% from Basys 3 area. The same result mentioned for the first design can be achieved in 330ns, which is a 20% higher penalty when both are compared. However, it has the advantage of using 14 of the first design’s space. Therefore, it can be considered that a great design compromise has been achieved. Furthermore, design 2 is approximately 4 times faster and 50 times more efficient than a Python script.
Informações adicionais: Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Elétrica, 2020.
Licença: A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta.
Aparece na Coleção:Engenharia Elétrica



Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.