Propostas de implementacao de SVMs em hardware de alto desempenho utilizando computação reconfigurável
SGD, SVM, FPGA,Computação Reconfigurável
Algoritmos de descida de gradiente estocástico (SGD em inglês), têm boa escalabilidade, e são boas opções para treinar algoritmos de aprendizado de máquina em aplicações como mineração massiva de dados. Apesar disso, mesmo com o uso do SGD, o tempo de treinamento pode se tornar altamente elevado, dependendo do conjunto de dados a ser analisado. Por esse motivo, aceleradores como matrizes de portas programáveis em campo (FPGAs em inglês) são usadas. Neste trabalho são exploradas implementações em hardware, usando FPGA, de uma máquina de vetor de suporte totalmente paralela usando gradiente estocástico para treinamento. Estudaremos também o impacto de técnicas de implementação em hardware como computação estocástica, quantização e binarização, após isso é analisado o impacto de cada uma delas no throughput, consumo de energia, ocupação de hardware e precisão estatística. Uma das implementações propostas em FPGA apresenta acelerações de mais de até 319x em comparação com implementações encontradas na literatura, ao mesmo tempo que exige menos recursos de hardware. Os resultados mostram que a arquitetura proposta é uma solução viável para problemas com altas demandas computacionais, como os presente na análise de big data.