Resumen:
|
[ES] Existen varios tipos de redes neuronales según sus características. Este estudio se centra en un
tipo específico de red neuronal llamado Convolutional Neural Networks (CNN). La gran
relevancia de este tipo de redes, ...[+]
[ES] Existen varios tipos de redes neuronales según sus características. Este estudio se centra en un
tipo específico de red neuronal llamado Convolutional Neural Networks (CNN). La gran
relevancia de este tipo de redes, debido a su aplicación en el reconocimiento de imágenes o en el
campo de la inteligencia artificial, ha desembocado en un fuerte interés por la comunidad
científica en desarrollar nuevos mecanismos para aumentar la eficiencia y el poder de cómputo
de este tipo de redes neuronales. Una de las propuestas que más fuerza está cobrando es el
desarrollo de procesadores sistólicos o de propósito específico. Ejemplos de ello son la reciente
TPU de Google [9] o el Eyeriss [10].
Este trabajo se centra en el uso de un simulador de array o procesador sistólico llamado
SCALE-Sim para el cómputo de CNN para identificar parámetros críticos en la arquitectura
hardware de este tipo de dispositivos para posteriormente proponer cambios concretos en su
configuración con el fin de obtener una mayor eficiencia, maximizando la ratio entre
productividad, utilización y consumo energético.
Para ello primeramente se hace un estudio detallado de la arquitectura del propio simulador,
identificando sus parámetros y comprendiendo su funcionamiento. El simulador lee unos ficheros
de configuración para su ejecución y genera unos archivos de salida con los resultados sobre el
comportamiento y rendimiento que habría tenido el array configurado al ejecutar una determinada
red neuronal. La comprensión de los ficheros de entrada y sobre todo los de salida es clave para
después analizar los resultados y tratar de optimizar las configuraciones.
Después de la etapa del estudio del simulador con el que se trabaja, se procede a la etapa de
experimentación, eligiendo un conjunto finito de CNN, pero variado procurando que sea lo
máximo representativo posible y se procede a hacer ensayos cambiando distintos parámetros en
la arquitectura del hardware que se está simulando para estudiar el impacto que tendría en las
prestaciones y consumo.
Después de esta etapa se procede a analizar los resultados obtenidos y la derivación de los
resultados que se obtienen directamente del SCALE-Sim en resultados adicionales como es el
consumo energético. Para ello en el estudio se utilizan los datos de salida del SCALE-Sim para
calcular los datos energéticos mediante el simulador CACTI.
Una vez analizados todos los resultados se proponen optimizaciones en las configuraciones de
la arquitectura simulada.
[-]
[EN] There are several types of neural networks depending on their characteristics. This study
focuses on a specific type of neural network called Convolutional Neural Networks (CNN). The
high relevance of this type of ...[+]
[EN] There are several types of neural networks depending on their characteristics. This study
focuses on a specific type of neural network called Convolutional Neural Networks (CNN). The
high relevance of this type of network, due to its application in image recognition or the field of
artificial intelligence, has led to a strong interest by the scientific community in developing new
mechanisms to increase efficiency and computing power of such neural networks. One of the
proposals that are gaining the most strength is the development of systolic or purpose-built
processors. Examples include Google's recent TPU [9] or Eyeriss [10].
This work focuses on using an array simulator or systolic processor called SCALE-Sim for
CNN computation to identify critical parameters in the hardware architecture of such devices and
then propose concrete changes to achieve greater efficiency, maximizing the ratio of productivity,
utilization and energy consumption.
To do this, first of all, a detailed study of the architecture of the simulator itself is made,
identifying its parameters and understanding its operation. The simulator reads some
configuration files for execution and generates some output files with the results about the
behavior and performance that the configured array would have had when running a certain neural
network. Understanding the input files and especially the output files is key to then analyze the
results and try to optimize the configurations.
After the study stage of the simulator with which we work, we proceed to the stage of
experimentation, choosing a finite set of CNN but varied making sure that it is as representative
as possible and then proceeds to do experiments by changing different parameters in the
architecture of the hardware being simulated to study the impact it would have on performance
and consumption.
After this stage, we proceed to analyze the results obtained and the derivation of the results
obtained directly from the SCALE-Sim in additional results such as energy consumption. To do
this, the SCALE-Sim output data is used to calculate the energy data using the CACTI simulator.
Once all the results have been analyzed, we proposed optimizations in the configurations of
the architecture.
[-]
[CA] Hi ha diversos tipus de xarxes neuronals segons les seues característiques. Este estudi se centra
en un tipus específic de xarxa neuronal cridat Convolutional Neural Networks (CNN) o Xarxes
Neuronals Convolucionals ...[+]
[CA] Hi ha diversos tipus de xarxes neuronals segons les seues característiques. Este estudi se centra
en un tipus específic de xarxa neuronal cridat Convolutional Neural Networks (CNN) o Xarxes
Neuronals Convolucionals en valencià. La gran rellevància d'este tipus de xarxes, degut a la seua
aplicació en el reconeixement d'imatges o en el camp de la intel·ligència artificial, ha desembocat
en un fort interès per la comunitat científica a desenrotllar nous mecanismes per a augmentar
l'eficiència i el poder de còmput d'este tipus de xarxes neuronals. Una de les propostes que més
força està cobrant és el desenrotllament de processadors sistòlics o de propòsit específic.
Exemples d'això són la recent TPU de Google [9] o l'Eyeriss [10].
Este treball se centra en l'ús d'un simulador d'array o processador sistòlic cridat SCALE-Sim
per al còmput de CNN per a identificar paràmetres crítics en l'arquitectura maquinari d'este tipus
de dispositius per a posteriorment proposar canvis concrets en la seua configuració a fi de obtindre
una major eficiència, maximitzant el ràtio entre productivitat, utilització i consum energètic.
Per a això primerament es fa un estudi detallat de l'arquitectura del propi simulador,
identificant els seus paràmetres i comprenent el seu funcionament. El simulador llig uns fitxers
de configuració per a la seua execució i genera uns arxius d'eixida amb els resultats sobre el
comportament i rendiment que hauria tingut l'array configurat a l'executar una determinada xarxa
neuronal. La comprensió dels fitxers d'entrada i sobretot els d'eixida és clau per a després analitzar
els resultats i tractar d'optimitzar les configuracions.
Després de l'etapa de l'estudi del simulador amb què es treballa, es procedeix a l'etapa
d'experimentació, triant un conjunt finit de CNN però variat procurant que siga el màxim
representatiu possible i es procedeix a fer assajos canviant distints paràmetres en l'arquitectura
del maquinari que s'està simulant per a estudiar l'impacte que tindria en les prestacions i consum.
Després d'esta etapa es procedeix a analitzar els resultats obtinguts i la derivació dels resultats
que s'obtenen directament del SCALE-Sim en resultats addicionals com és el consum energètic.
Per a això en l'estudi s'utilitzen les dades d'eixida del SCALE-Sim per a calcular les dades
energètiques per mitjà del simulador CACTI.
[-]
|