Fully parallel implementation of an SVM with SGD-based training on FPGA

Detalhes bibliográficos
Autor(a) principal: Lopes, Felipe Fernandes
Data de Publicação: 2021
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/handle/123456789/32057
Resumo: Inteligência artificial, aprendizagem de máquina e aprendizagem profunda têm se mostrado técnicas poderosas para resolver problemas em áreas como processamento de linguagem natural, visão computacional e outras. No entanto, seu desempenho computacional e estatístico depende além de outros fatores dos algoritmos usados para o treinamento, da plataforma de computação usada e até mesmo da precisão numérica usada para representar os dados. Um dos principais algoritmos de aprendizagem de máquina é o Support Vector Machine (SVM) sendo mais comumente treinada por meio da otimização sequencial mínima, o que contribui para um baixo desempenho computacional. Como uma alternativa, algoritmos baseados em Stochastic Gradient Descent (SGD) apresentam melhor escalabilidade e podem ser utilizados como boas opções para o treinamento de algoritmos de aprendizado de máquina. Porém, mesmo com o uso de algoritmos baseados no gradiente estocástico, os tempos de treinamento e inferência podem se tornar grandes dependendo da plataforma de computação empregada. Por esse motivo, aceleradores baseados em Field Programmable Gate Arrays (FPGAs) podem ser utilizados para melhorar o desempenho em termos de velocidade de processamento. Este trabalho propõe uma implementação em FPGA de uma SVM, totalmente paralela com treinamento baseado no SGD. Resultados associados a ocupação em hardware, velocidade de processamento (throughput), e acurácia para o treinamento e inferência em vários formatos de quantização são apresentados.
id UFRN_fc5fc20a6b9d1bc7d487b1f798390173
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/32057
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Lopes, Felipe Fernandeshttp://lattes.cnpq.br/8291687873735152http://lattes.cnpq.br/3475337353676349Silva, Ivanovitch Medeiros Dantas dahttp://lattes.cnpq.br/3608440944832201Santana Júnior, Orivaldo Vieira dehttp://lattes.cnpq.br/5050555219716698Sablon, Vicente Idalberto Becerrahttp://lattes.cnpq.br/6350047853320576Fernandes, Marcelo Augusto Costa2021-04-06T19:39:32Z2021-04-06T19:39:32Z2021-01-29LOPES, Felipe Fernandes. Fully parallel implementation of an SVM with SGD-based training on FPGA. 2021. 93f. Dissertação (Mestrado em Engenharia Elétrica e de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2021.https://repositorio.ufrn.br/handle/123456789/32057Inteligência artificial, aprendizagem de máquina e aprendizagem profunda têm se mostrado técnicas poderosas para resolver problemas em áreas como processamento de linguagem natural, visão computacional e outras. No entanto, seu desempenho computacional e estatístico depende além de outros fatores dos algoritmos usados para o treinamento, da plataforma de computação usada e até mesmo da precisão numérica usada para representar os dados. Um dos principais algoritmos de aprendizagem de máquina é o Support Vector Machine (SVM) sendo mais comumente treinada por meio da otimização sequencial mínima, o que contribui para um baixo desempenho computacional. Como uma alternativa, algoritmos baseados em Stochastic Gradient Descent (SGD) apresentam melhor escalabilidade e podem ser utilizados como boas opções para o treinamento de algoritmos de aprendizado de máquina. Porém, mesmo com o uso de algoritmos baseados no gradiente estocástico, os tempos de treinamento e inferência podem se tornar grandes dependendo da plataforma de computação empregada. Por esse motivo, aceleradores baseados em Field Programmable Gate Arrays (FPGAs) podem ser utilizados para melhorar o desempenho em termos de velocidade de processamento. Este trabalho propõe uma implementação em FPGA de uma SVM, totalmente paralela com treinamento baseado no SGD. Resultados associados a ocupação em hardware, velocidade de processamento (throughput), e acurácia para o treinamento e inferência em vários formatos de quantização são apresentados.Artificial intelligence, machine learning, and deep learning have proven to be powerful techniques for solving natural language processing problems, computer vision, and others. However, its computational and statistical performance depends on other factors of the algorithms used for training, the computing platform used, and even the numerical precision used to represent the data. One of the main machine learning algorithms is the Support Vector Machine (SVM), most commonly trained through minimal sequential optimization, contributing to low computational performance. As an alternative, algorithms based on Stochastic Gradient Descent (SGD) have better scalability and can be used as good options for training machine learning algorithms. However, even with algorithms based on the stochastic gradient, the training and inference times can become long depending on the computing platform employed. Thus, accelerators based on Field Programmable Gate Arrays (FPGAs) can be used to improve performance in terms of processing speed. This work proposes a fully parallel FPGA implementation of an SVM with SGD-based training. Results associated with hardware occupation, processing speed (or throughput), and accuracy for training and inference in various quantization formats are presented.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESUniversidade Federal do Rio Grande do NortePROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃOUFRNBrasilFPGASGDSVMAprendizagem de máquinaFully parallel implementation of an SVM with SGD-based training on FPGAinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNTEXTFullyparallelimplementation_Lopes_2021.pdf.txtFullyparallelimplementation_Lopes_2021.pdf.txtExtracted texttext/plain122833https://repositorio.ufrn.br/bitstream/123456789/32057/2/Fullyparallelimplementation_Lopes_2021.pdf.txtbee1d945000aecd6580d306b214b53d6MD52THUMBNAILFullyparallelimplementation_Lopes_2021.pdf.jpgFullyparallelimplementation_Lopes_2021.pdf.jpgGenerated Thumbnailimage/jpeg1474https://repositorio.ufrn.br/bitstream/123456789/32057/3/Fullyparallelimplementation_Lopes_2021.pdf.jpgfa7eef7567b71d8b621f220e060f8932MD53ORIGINALFullyparallelimplementation_Lopes_2021.pdfapplication/pdf1592859https://repositorio.ufrn.br/bitstream/123456789/32057/1/Fullyparallelimplementation_Lopes_2021.pdfc590864d7ed0170609513eba529ed23fMD51123456789/320572021-04-11 06:05:14.517oai:https://repositorio.ufrn.br:123456789/32057Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2021-04-11T09:05:14Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv Fully parallel implementation of an SVM with SGD-based training on FPGA
title Fully parallel implementation of an SVM with SGD-based training on FPGA
spellingShingle Fully parallel implementation of an SVM with SGD-based training on FPGA
Lopes, Felipe Fernandes
FPGA
SGD
SVM
Aprendizagem de máquina
title_short Fully parallel implementation of an SVM with SGD-based training on FPGA
title_full Fully parallel implementation of an SVM with SGD-based training on FPGA
title_fullStr Fully parallel implementation of an SVM with SGD-based training on FPGA
title_full_unstemmed Fully parallel implementation of an SVM with SGD-based training on FPGA
title_sort Fully parallel implementation of an SVM with SGD-based training on FPGA
author Lopes, Felipe Fernandes
author_facet Lopes, Felipe Fernandes
author_role author
dc.contributor.authorID.pt_BR.fl_str_mv
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/8291687873735152
dc.contributor.advisorID.pt_BR.fl_str_mv
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/3475337353676349
dc.contributor.referees1.none.fl_str_mv Silva, Ivanovitch Medeiros Dantas da
dc.contributor.referees1ID.pt_BR.fl_str_mv
dc.contributor.referees1Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/3608440944832201
dc.contributor.referees2.none.fl_str_mv Santana Júnior, Orivaldo Vieira de
dc.contributor.referees2ID.pt_BR.fl_str_mv
dc.contributor.referees2Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/5050555219716698
dc.contributor.referees3.none.fl_str_mv Sablon, Vicente Idalberto Becerra
dc.contributor.referees3ID.pt_BR.fl_str_mv
dc.contributor.referees3Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/6350047853320576
dc.contributor.author.fl_str_mv Lopes, Felipe Fernandes
dc.contributor.advisor1.fl_str_mv Fernandes, Marcelo Augusto Costa
contributor_str_mv Fernandes, Marcelo Augusto Costa
dc.subject.por.fl_str_mv FPGA
SGD
SVM
Aprendizagem de máquina
topic FPGA
SGD
SVM
Aprendizagem de máquina
description Inteligência artificial, aprendizagem de máquina e aprendizagem profunda têm se mostrado técnicas poderosas para resolver problemas em áreas como processamento de linguagem natural, visão computacional e outras. No entanto, seu desempenho computacional e estatístico depende além de outros fatores dos algoritmos usados para o treinamento, da plataforma de computação usada e até mesmo da precisão numérica usada para representar os dados. Um dos principais algoritmos de aprendizagem de máquina é o Support Vector Machine (SVM) sendo mais comumente treinada por meio da otimização sequencial mínima, o que contribui para um baixo desempenho computacional. Como uma alternativa, algoritmos baseados em Stochastic Gradient Descent (SGD) apresentam melhor escalabilidade e podem ser utilizados como boas opções para o treinamento de algoritmos de aprendizado de máquina. Porém, mesmo com o uso de algoritmos baseados no gradiente estocástico, os tempos de treinamento e inferência podem se tornar grandes dependendo da plataforma de computação empregada. Por esse motivo, aceleradores baseados em Field Programmable Gate Arrays (FPGAs) podem ser utilizados para melhorar o desempenho em termos de velocidade de processamento. Este trabalho propõe uma implementação em FPGA de uma SVM, totalmente paralela com treinamento baseado no SGD. Resultados associados a ocupação em hardware, velocidade de processamento (throughput), e acurácia para o treinamento e inferência em vários formatos de quantização são apresentados.
publishDate 2021
dc.date.accessioned.fl_str_mv 2021-04-06T19:39:32Z
dc.date.available.fl_str_mv 2021-04-06T19:39:32Z
dc.date.issued.fl_str_mv 2021-01-29
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv LOPES, Felipe Fernandes. Fully parallel implementation of an SVM with SGD-based training on FPGA. 2021. 93f. Dissertação (Mestrado em Engenharia Elétrica e de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2021.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/handle/123456789/32057
identifier_str_mv LOPES, Felipe Fernandes. Fully parallel implementation of an SVM with SGD-based training on FPGA. 2021. 93f. Dissertação (Mestrado em Engenharia Elétrica e de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2021.
url https://repositorio.ufrn.br/handle/123456789/32057
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/32057/2/Fullyparallelimplementation_Lopes_2021.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/32057/3/Fullyparallelimplementation_Lopes_2021.pdf.jpg
https://repositorio.ufrn.br/bitstream/123456789/32057/1/Fullyparallelimplementation_Lopes_2021.pdf
bitstream.checksum.fl_str_mv bee1d945000aecd6580d306b214b53d6
fa7eef7567b71d8b621f220e060f8932
c590864d7ed0170609513eba529ed23f
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1814832811494866944