[cat] • Introducció
Recentment, la solució més avançada en l'àmbit de la internet de les coses consistia a enviar les dades captades
pels nodes sensors al núvol i esperar la resposta del servidor. Aquest enfocament dependent del servidor
requereix una quantitat significativa de transmissió de dades, la qual cosa al seu torn provoca una congestió de la
xarxa. Encara que les transmissions de dades amb un rendiment suficient resoldrien el problema, l'augment del
rendiment incrementa el consum d'energia. A més, existeixen problemes de privacitat relacionats amb
l'enviament de dades dels sensors directament al núvol (per exemple, l'enviament d'imatges amb cares de
persones). La solució a aquest problema és habilitar les capacitats d'inferència i anàlisi de dades en la vora, que
estan prop de les fonts de dades. Aquest enfocament es coneix com Edge Computing. En comparació amb la
transmissió directa de dades, el consum d'energia es redueix potencialment, ja que la inferència es realitza
mitjançant dispositius de vora de baix consum, no existeix un problema de latència si el dispositiu és capaç de
gestionar la inferència en temps real, i la privacitat deixa de ser un problema, ja que les dades en brut no es
transmeten al núvol, sinó que només s'envien les metadades (per exemple, la data, la ubicació i la durada de
l'esdeveniment) i els resultats de la inferència (per exemple, la detecció de compostos químics en l'aire o els trets
o l'assistència per veu). En aquest context, la tesi se centra en la creació de prototips de solucions d'inferència de
reconeixement de patrons de FPGA amb aplicacions potencials en l'en el camp del Edge Computing, ja sigui en
petits nodes prop d'un sensor o com a part de dispositius IoT.
• Contingut de la investigació
En aquest treball, els models proposats són molt més petits i l'objectiu és contribuir a l'exploració d'arquitectures
de maquinari simplificades altament/totalment paral·leles fetes a mida i no basades en una arquitectura de von
Neumann, la qual cosa comporta potencials beneficis d'eficiència energètica. En particular, s'han proposat
diversos dissenys de FPGA que implementen el procés d'inferència de diversos models d'Aprenentatge Automàtic
i s'han provat en un conjunt de bases de dades de referència. Les implementacions FPGA inclouen dos models de
computació de reservori basats en aritmètica de punt fix de baixa precisió i una Xarxa Neuronal de Funció de Base
Radial basada en Computació Estocàstica. A més, s'ha simulat i avaluat una Xarxa Neuronal convolucional basada
en dues variants diferents de computació estocàstica per diferents precisions de bits, ambdues entrenades
utilitzant un enfocament de quantització conscient de l'entrenament.
• Conclusió
En general, les implementacions proposades presenten simplificacions que contribueixen a disminuir tant el
tamany del circuit com el seu consum, així com un entrenament específic per a treballar amb paràmetres de baixa
precisió. Si bé és cert que les implementacions detallades en la tesi poden considerar-se independents l'una de
l'altra, cal concloure que en la majoria de casos s'han obtingut millores en termes de consum energètic comparat
amb l'estat de l'art, sense que això repercuteixi notablement en el ràtio d'encert. Això fa que els dissenys
proposats siguin molt atractius per a petits dispositius portàtils alimentats amb bateries, ja que un menor consum
energètic es tradueix en una major durada de la bateria. A més, cal destacar que un menor consum pot ser també
beneficiós per a realitzar inferència a gran escala, perquè un menor consum elèctric suposa també una reducció
en les emissions de CO2 generades.
[spa] • Introducción
Recientemente, la solución más avanzada en el ámbito del internet de las cosas consistía en enviar los datos
captados por los nodos sensores a la nube y esperar la respuesta del servidor. Este enfoque dependiente del
servidor requiere una cantidad significativa de transmisión de datos, lo que a su vez provoca una congestión de la
red. Aunque las transmisiones de datos con un rendimiento suficiente resolverían el problema, el aumento del
rendimiento incrementa el consumo de energía. Además, existen problemas de privacidad relacionados con el
envío de datos de los sensores directamente a la nube (por ejemplo, el envío de imágenes con caras de personas).
La solución a este problema es habilitar las capacidades de inferencia y análisis de datos en el borde, que están
cerca de las fuentes de datos. Este enfoque se conoce como Edge Computing. En comparación con la transmisión
directa de datos, el consumo de energía se reduce potencialmente, ya que la inferencia se realiza mediante
dispositivos de borde de bajo consumo, no existe un problema de latencia si el dispositivo es capaz de gestionar la
inferencia en tiempo real, y la privacidad deja de ser un problema, ya que los datos en bruto no se transmiten a la
nube, sino que sólo se envían los metadatos (por ejemplo, la fecha, la ubicación y la duración del evento) y los
resultados de la inferencia (por ejemplo, la detección de compuestos químicos en el aire o los disparos o la
asistencia por voz). En este contexto, la tesis se centra en la creación de prototipos de soluciones de inferencia de
reconocimiento de patrones de FPGA con aplicaciones potenciales en la en el campo del Edge Computing, ya sea
en pequeños nodos cerca de un sensor o como parte de dispositivos IoT.
• Contenido de la investigación
En este trabajo, los modelos propuestos son mucho más pequeños y el objetivo es contribuir a la exploración de
arquitecturas de hardware simplificadas altamente/totalmente paralelas hechas a medida y no basadas en una
arquitectura de von Neumann, lo cual conlleva potenciales beneficios de eficiencia energética. En particular, se
han propuesto varios diseños de FPGA que implementan el proceso de inferencia de varios modelos de
Aprendizaje Automático y se han probado en un conjunto de bases de datos de referencia. Las implementaciones
FPGA incluyen dos modelos de computación de reservorio basados en aritmética de punto fijo de baja precisión y
una Red Neuronal de Función de Base Radial basada en Computación Estocástica. Además, se ha simulado y
evaluado una Red Neuronal Convolucional basada en dos variantes diferentes de computación estocástica para
diferentes precisiones de bits, ambas entrenadas utilizando un enfoque de cuantización consciente del
entrenamiento.
• Conclusión
En general, las implementaciones propuestas presentan simplificaciones que contribuyen a disminuir tanto el
tamaño del circuito como su consumo, así como un entrenamiento específico para trabajar con parámetros de
baja precisión. Si bien es cierto que las implementaciones detalladas en la tesis pueden considerarse
independientes una de otra, cabe concluir que en la mayoría de casos se han obtenido mejoras en términos de
consumo energético comparado con el estado del arte, sin que ello repercuta notablemente en el ratio de acierto.
Esto hace que los diseños propuestos sean muy atractivos para pequeños dispositivos portátiles alimentados con
baterías, puesto que un menor consumo energético se traduce en una mayor duración de la batería. Además,
cabe destacar que un menor consumo puede ser también beneficioso para realizar inferencia a gran escala, pues
un menor consumo eléctrico supone también una reducción en las emisiones de CO2 generadas.
[eng] • Introduction
Recently, the state-of-the-art solution was to send data captured by sensor nodes to the cloud and wait for the
server's response. This server-dependent approach requires a significant amount of data transmission, which in
turn results in a network congestion. Even though data transmissions with sufficient throughput would solve the
problem, increasing throughput increases energy consumption. Moreover, there exist privacy issues related to
sending sensor data directly to the cloud (e.g. sending images with people faces). The solution to this issue is to
enable data inference and analysis capabilities at the edge, which are close to data sources. This approach is
known as Edge Computing. Compared to the straightforward data transmission, energy consumption is potentially
reduced since inference is done by low power edge devices, there is not a latency problem if the device is capable
of managing real-time inference, and privacy is no longer an issue since raw data is not transmitted to the cloud,
only metadata (e.g. date, location and event duration) and inference results (e.g. detection of chemical
compounds in the air or gunshots or voice-based assistance) are sent. In this context, the thesis is focused on
prototyping FPGA pattern recognition inference solutions with potential applications in Edge Computing, either at
edge nodes or as part of IoT devices.
• Research content
In this work, the proposed models are much smaller and the aim is to contribute to the exploration of simplified
highly/fully parallel (custom) non von Neumann hardware architectures with potential energy efficiency benefits.
In particular, several FPGA designs implementing the inference process of several Machine Learning models have
been proposed and tested on a set of benchmark datasets. The FPGA implementations include two Reservoir
Computing models based on low precision fixed-point arithmetic and a Radial Basis Function Neural Network
based on Stochastic Computing. Additionally, a Convolutional Neural Network based on two different Stochastic
Computing variants has been simulated and evaluated for different bit precision, both trained using a custom
Training Aware Quantization approach.
• Conclusion
In general, the proposed implementations present simplifications that contribute to reduce both the size of the
circuit and its power consumption, as well as a specific training to work with low precision parameters. While it is
true that the implementations detailed in the thesis can be considered independent of each other, it can be
concluded that in most cases improvements have been obtained in terms of power consumption compared to the
state of the art, without having a significant impact on the hit ratio. This makes the proposed designs very
attractive for small battery-powered portable devices, since lower power consumption translates into longer
battery life. In addition, lower power consumption can also be beneficial for large-scale inference, as lower power
consumption also means a reduction in CO2 emissions generated.