Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificial

RESUMEN: En la actualidad diferentes contextos industriales y científicos participan del crecimiento de la producción de datos, lo cual conlleva igualmente a la necesidad de procesarlos de la manera más rápida posible. Dos de estos contextos de particular interés para este trabajo son la física expe...

Full description

Autores:
Montoya Vásquez, Daniel Alfonso
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2020
Institución:
Universidad de Antioquia
Repositorio:
Repositorio UdeA
Idioma:
spa
OAI Identifier:
oai:bibliotecadigital.udea.edu.co:10495/17662
Acceso en línea:
http://hdl.handle.net/10495/17662
Palabra clave:
Inteligencia artificial
Artificial intelligence
Redes neurales (Computadores)
Neural networks (Computer science)
Física - Procesamiento de datos
Physics - Data processing
Aprendizaje profundo
Lógica programable
http://vocabularies.unesco.org/thesaurus/concept3052
Rights
openAccess
License
Atribución-NoComercial-SinDerivadas 2.5 Colombia (CC BY-NC-ND 2.5 CO)
id UDEA2_78ea79012f1ff92c35053ff0bddeb7cd
oai_identifier_str oai:bibliotecadigital.udea.edu.co:10495/17662
network_acronym_str UDEA2
network_name_str Repositorio UdeA
repository_id_str
dc.title.spa.fl_str_mv Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificial
dc.title.alternative.spa.fl_str_mv Implementation and evaluation of the performance of dense neural networks implemented on FPGAs for fast inference, applied to problems in physics and computer vision
title Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificial
spellingShingle Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificial
Inteligencia artificial
Artificial intelligence
Redes neurales (Computadores)
Neural networks (Computer science)
Física - Procesamiento de datos
Physics - Data processing
Aprendizaje profundo
Lógica programable
http://vocabularies.unesco.org/thesaurus/concept3052
title_short Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificial
title_full Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificial
title_fullStr Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificial
title_full_unstemmed Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificial
title_sort Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificial
dc.creator.fl_str_mv Montoya Vásquez, Daniel Alfonso
dc.contributor.advisor.none.fl_str_mv Jaramillo Gallego, Johny Alexander
dc.contributor.author.none.fl_str_mv Montoya Vásquez, Daniel Alfonso
dc.subject.unesco.none.fl_str_mv Inteligencia artificial
Artificial intelligence
topic Inteligencia artificial
Artificial intelligence
Redes neurales (Computadores)
Neural networks (Computer science)
Física - Procesamiento de datos
Physics - Data processing
Aprendizaje profundo
Lógica programable
http://vocabularies.unesco.org/thesaurus/concept3052
dc.subject.lemb.none.fl_str_mv Redes neurales (Computadores)
Neural networks (Computer science)
Física - Procesamiento de datos
Physics - Data processing
dc.subject.proposal.spa.fl_str_mv Aprendizaje profundo
Lógica programable
dc.subject.unescouri.none.fl_str_mv http://vocabularies.unesco.org/thesaurus/concept3052
description RESUMEN: En la actualidad diferentes contextos industriales y científicos participan del crecimiento de la producción de datos, lo cual conlleva igualmente a la necesidad de procesarlos de la manera más rápida posible. Dos de estos contextos de particular interés para este trabajo son la física experimental y la visión artificial, donde las técnicas de la inteligencia artificial como las redes neuronales, vienen mostrando precisión y efectividad en ciertas tareas, pero tienen limitaciones en cuanto a la velocidad de su implementación debidas principalmente al hardware con que se implementan. Alternativas de hardware como ASICS, GPUs, y FPGAs compiten en la carrera por acelerar el entrenamiento y la inferencia de redes neuronales. Características como la flexibilidad, bajo consumo de energía, costos asequibles, y velocidad hacen de las FPGAs uno de los competidores más prometedores y aplicables, especialmente en contextos académicos. En el presente trabajo se presentan las bases teóricas y conceptuales que se encuentran en la intersección de la física, el aprendizaje profundo y las FPGAs, se ilustra el proceso de implementación de diferentes redes neuronales en FPGA mediante el uso de la síntesis de alto nivel, y se evalúa el rendimiento de éstas respecto a otros sistemas como GPUs, y CPUs programadas en entornos Python y C, en cuanto a latencia y consumo de recursos, en particular, respecto a los problemas de inferencia de redes neuronales para clasificación de subestructura de jets, y un problema de visión artificial: la clasificación de dígitos escritos a mano. Los resultados muestran la superioridad en cuanto a tiempo de inferencia, de una FPGA de bajo costo respecto a los otros sistemas, en ordenes desde 10.72x hasta 805x veces más rápida sin perder exactitud. Estos resultados validan estos dispositivos como fuertes candidatos para mejorar el rendimiento de las redes neuronales. Finalmente se discuten limitaciones y direcciones futuras.
publishDate 2020
dc.date.accessioned.none.fl_str_mv 2020-12-07T16:22:31Z
dc.date.available.none.fl_str_mv 2020-12-07T16:22:31Z
dc.date.issued.none.fl_str_mv 2020
dc.type.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_b1a7d7d4d402bcce
dc.type.hasversion.spa.fl_str_mv info:eu-repo/semantics/draft
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/TP
dc.type.local.spa.fl_str_mv Tesis/Trabajo de grado - Monografía - Pregrado
format http://purl.org/coar/resource_type/c_7a1f
status_str draft
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/10495/17662
url http://hdl.handle.net/10495/17662
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia (CC BY-NC-ND 2.5 CO)
dc.rights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/co/
dc.rights.accessrights.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.creativecommons.spa.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia (CC BY-NC-ND 2.5 CO)
http://creativecommons.org/licenses/by-nc-nd/2.5/co/
http://purl.org/coar/access_right/c_abf2
https://creativecommons.org/licenses/by-nc-nd/4.0/
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 64
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.group.spa.fl_str_mv Instrumentación Científica y Microelectrónica
dc.publisher.place.spa.fl_str_mv Medellín, Colombia
institution Universidad de Antioquia
bitstream.url.fl_str_mv http://bibliotecadigital.udea.edu.co/bitstream/10495/17662/3/license_rdf
http://bibliotecadigital.udea.edu.co/bitstream/10495/17662/1/MontoyaDaniel_2020_FpgaRedesNeuronales.pdf
http://bibliotecadigital.udea.edu.co/bitstream/10495/17662/4/license.txt
bitstream.checksum.fl_str_mv b88b088d9957e670ce3b3fbe2eedbc13
60bd1d2bb2a931b1e06d00f1dfb5c36f
8a4605be74aa9ea9d79846c1fba20a33
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad de Antioquia
repository.mail.fl_str_mv andres.perez@udea.edu.co
_version_ 1812173124035149824
spelling Jaramillo Gallego, Johny AlexanderMontoya Vásquez, Daniel Alfonso2020-12-07T16:22:31Z2020-12-07T16:22:31Z2020http://hdl.handle.net/10495/17662RESUMEN: En la actualidad diferentes contextos industriales y científicos participan del crecimiento de la producción de datos, lo cual conlleva igualmente a la necesidad de procesarlos de la manera más rápida posible. Dos de estos contextos de particular interés para este trabajo son la física experimental y la visión artificial, donde las técnicas de la inteligencia artificial como las redes neuronales, vienen mostrando precisión y efectividad en ciertas tareas, pero tienen limitaciones en cuanto a la velocidad de su implementación debidas principalmente al hardware con que se implementan. Alternativas de hardware como ASICS, GPUs, y FPGAs compiten en la carrera por acelerar el entrenamiento y la inferencia de redes neuronales. Características como la flexibilidad, bajo consumo de energía, costos asequibles, y velocidad hacen de las FPGAs uno de los competidores más prometedores y aplicables, especialmente en contextos académicos. En el presente trabajo se presentan las bases teóricas y conceptuales que se encuentran en la intersección de la física, el aprendizaje profundo y las FPGAs, se ilustra el proceso de implementación de diferentes redes neuronales en FPGA mediante el uso de la síntesis de alto nivel, y se evalúa el rendimiento de éstas respecto a otros sistemas como GPUs, y CPUs programadas en entornos Python y C, en cuanto a latencia y consumo de recursos, en particular, respecto a los problemas de inferencia de redes neuronales para clasificación de subestructura de jets, y un problema de visión artificial: la clasificación de dígitos escritos a mano. Los resultados muestran la superioridad en cuanto a tiempo de inferencia, de una FPGA de bajo costo respecto a los otros sistemas, en ordenes desde 10.72x hasta 805x veces más rápida sin perder exactitud. Estos resultados validan estos dispositivos como fuertes candidatos para mejorar el rendimiento de las redes neuronales. Finalmente se discuten limitaciones y direcciones futuras.ABSTRACT: Currently, many industrial and scientific contexts participate in the worldwide growth of data production, which also leads to the need to process these data as quickly as possible. Two of these contexts of particular interest for this work are experimental physics and computer vision, where artificial intelligence techniques such as neural networks have been showing good precision and effectiveness in certain tasks, but have limitations in terms of the speed of their implementation due mainly to the hardware in which they are implemented. Hardware alternatives such as ASICS, GPUs, and FPGAs compete in the race to accelerate neural network training and inference. Features such as flexibility, low power consumption, affordable costs, and speed make FPGAs one of the most promising and applicable competitors, especially in academic contexts. This work presents the theoretical and conceptual basis at the intersection of physics, deep learning, and FPGA, illustrates the process of implementing different neural networks in FPGAs using high-level synthesis, and evaluates the performance of FPGAs with respect to other systems such as GPUs, and CPUs programmed in Python and C environments, in terms of latency and resource consumption, particularly with respect to neural network inference problems for jet substructure classification, and a machine vision problem: the classification of handwritten digits. The results show the superiority in terms of inference time of a low-cost FPGA over other systems, in orders from 10.72x to 805x times faster without losing accuracy. These results validate these devices as strong candidates for improving neural network performance. Finally, limitations and future directions are discussed.64application/pdfspainfo:eu-repo/semantics/draftinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fhttps://purl.org/redcol/resource_type/TPTesis/Trabajo de grado - Monografía - Pregradohttp://purl.org/coar/version/c_b1a7d7d4d402bcceAtribución-NoComercial-SinDerivadas 2.5 Colombia (CC BY-NC-ND 2.5 CO)info:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-nd/2.5/co/http://purl.org/coar/access_right/c_abf2https://creativecommons.org/licenses/by-nc-nd/4.0/Implementación y evaluación del rendimiento de redes neuronales densas en FPGA para la inferencia rápida, aplicadas a problemas en física y visión artificialImplementation and evaluation of the performance of dense neural networks implemented on FPGAs for fast inference, applied to problems in physics and computer visionInstrumentación Científica y MicroelectrónicaMedellín, ColombiaInteligencia artificialArtificial intelligenceRedes neurales (Computadores)Neural networks (Computer science)Física - Procesamiento de datosPhysics - Data processingAprendizaje profundoLógica programablehttp://vocabularies.unesco.org/thesaurus/concept3052FísicoPregradoFacultad de Ciencias Exactas y Naturales. Carrera de FísicaUniversidad de AntioquiaCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8823http://bibliotecadigital.udea.edu.co/bitstream/10495/17662/3/license_rdfb88b088d9957e670ce3b3fbe2eedbc13MD53ORIGINALMontoyaDaniel_2020_FpgaRedesNeuronales.pdfMontoyaDaniel_2020_FpgaRedesNeuronales.pdfTrabajo de grado de pregradoapplication/pdf2785896http://bibliotecadigital.udea.edu.co/bitstream/10495/17662/1/MontoyaDaniel_2020_FpgaRedesNeuronales.pdf60bd1d2bb2a931b1e06d00f1dfb5c36fMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748http://bibliotecadigital.udea.edu.co/bitstream/10495/17662/4/license.txt8a4605be74aa9ea9d79846c1fba20a33MD5410495/17662oai:bibliotecadigital.udea.edu.co:10495/176622021-06-14 10:10:40.649Repositorio Institucional Universidad de Antioquiaandres.perez@udea.edu.coTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=