Resumen:
|
[ES] El mundo de la inteligencia artificial progresa a una gran velocidad, proporcionándonos cada vez mejores y más eficientes aplicaciones que nos ayudan a mejorar nuestra
calidad de vida y aumentar nuestra productividad. ...[+]
[ES] El mundo de la inteligencia artificial progresa a una gran velocidad, proporcionándonos cada vez mejores y más eficientes aplicaciones que nos ayudan a mejorar nuestra
calidad de vida y aumentar nuestra productividad. Un ejemplo de esto son las redes
neuronales artificiales, que en los últimos años han revolucionado los paradigmas de automatización y análisis de datos.
Pese a esto, estas redes deben pasar por un proceso llamado entrenamiento antes
de realizar cualquier tarea. Este proceso puede llegar a requerir de grandes capacidades
de cálculo para completarse. Debido a esto, para poder realizar estos cálculos en una
cantidad de tiempo asumible, se necesita de sistemas que permitan realizar estos cálculos
eficientemente.
Una alternativa para realizar estas ejecuciones en una cantidad de tiempo razonable
es el uso de sistemas distribuidos. Estos permiten dividir las operaciones de cálculo necesarias entre varios componentes y por tanto, realizar cálculos de forma paralela. Esta clase de sistemas necesitan de un uso eficiente de las comunicaciones para que el peso de
estas no lastre el funcionamiento general del sistema.
Por esta razón se ha realizado este trabajo final de grado, con el objetivo de realizar un
estudio de cómo optimizar las comunicaciones en entrenamientos de redes neuronales en
sistemas distribuidos.
En este trabajo se utiliza la herramienta de entrenamiento e inferencia de redes neuronales HELENNA, pudiendo comprobar mediante ésta el impacto real de las comunicaciones en un entrenamiento distribuido de redes neuronales. Este estudio se enfoca principalmente en la comunicación entre GPU, ya que permite realizar estos entrenamientos
de forma más eficiente en comparación con una CPU.
En concreto se analiza el impacto de distintos factores que nos permitan optimizar de
forma eficiente el entrenamiento distribuido de redes neuronales. Analizamos diferentes
tecnologías y componentes software de comunicaciones de altas prestaciones, profundizando en aquellas combinaciones que nos ofrecen unos tiempos de comunicación más
adecuados para un entrenamiento distribuido.
[-]
[EN] The world of artificial intelligence is progressing at a great speed, providing us with
better and more efficient applications that help us improve our quality of life and increase
our productivity. An example of ...[+]
[EN] The world of artificial intelligence is progressing at a great speed, providing us with
better and more efficient applications that help us improve our quality of life and increase
our productivity. An example of this is artificial neural networks, which in recent years
have revolutionized the automation and data analysis paradigms.
Despite this, these networks must go through a process called training before performing any task. This process may require large computing capacities to complete. Due
to this, in order to perform these calculations in an acceptable amount of time, systems
are needed that allow these calculations to be carried out efficiently.
An alternative to perform these executions in a reasonable amount of time is the use of
distributed systems. These allow the necessary computational operations to be divided
among several components and therefore, to perform calculations in parallel. This class
of systems require an efficient use of communications so that the weight of these does not
weigh down the general operation of the system.
For this reason, this final degree project has been carried out, with the aim of carrying
out a study on how to optimize communications in neural network training in distributed
systems.
In this work, the HELENNA neural network training and inference tool is used, being
able to verify by means of this the real impact of communications in a distributed training
of neural networks.
This study mainly focuses on the between GPUs, since it allows to perform communicationthese trainings more efficiently compared to a CPU.
Specifically, the impact of different factors that allow us to efficiently optimize the
distributed training of neural networks is analyzed. We analyze different technologies
and high-performance communications software components, delving into those combinations that offer us more adequate communication times for distributed training.
[-]
[CA] El món de la intel·ligència artificial progressa a una gran velocitat, proporcionant-nos
aplicacions cada vegada millors i més eficients que ens ajuden a millorar la nostra qualitat
de vida i augmentar la nostra ...[+]
[CA] El món de la intel·ligència artificial progressa a una gran velocitat, proporcionant-nos
aplicacions cada vegada millors i més eficients que ens ajuden a millorar la nostra qualitat
de vida i augmentar la nostra productivitat. Un exemple d’això són les xarxes neuronals
artificials, que en els últims anys han revolucionat els paradigmes d’automatització i anàlisi de dades.
Malgrat això, aquestes xarxes han de passar per un procés anomenat entrenament
abans de fer qualsevol tasca. Aquest procés pot arribar a requerir de grans capacitats de
còmput per a completar-se. A causa d’això, per a poder realitzar aquests càlculs en una
quantitat de temps assumible, es necessita de sistemes que permeten realitzar aquests
càlculs eficientment.
Una alternativa per a realitzar aquestes execucions en una quantitat de temps raonable és l’ús de sistemes distribuïts. Aquests permeten dividir les operacions de còmput
necessàries entre diversos components i per tant, realitzar càlculs de manera paral·lela.
Aquesta classe de sistemes necessiten d’un ús eficient de les comunicacions perquè el pes
d’aquestes no llastre el funcionament general del sistema.
Per aquesta raó s’ha fet aquest treball final de grau, amb l’objectiu de realitzar un
estudi de com optimitzar les comunicacions en entrenaments de xarxes neuronals en
sistemes distribuïts.
En aquest treball s’utilitza l’eina d’entrenament i inferència de xarxes neuronals *HELENNA podent comprovar mitjançant aquesta l’impacte real de les comunicacions en un
entrenament distribuït de xarxes neuronals.
Aquest estudi s’enfoca principalment en la comunicació entre GPU, ja que permet
realitzar aquests entrenaments de forma més eficient en comparació amb una CPU.
En concret s’analitza l’impacte de diferents factors que ens permeten optimitzar de
manera eficient l’entrenament distribuït de xarxes neuronals. Analitzem diferents tecnologies i components del programari de comunicacions d’altes prestacions, aprofundint
en aquelles combinacions que ens ofereixen uns temps de comunicació més adequats per
a un entrenament distribuït
[-]
|