Cuando los microchips aprenden a aprender

Los microchips son los componentes básicos que componen todos los ordenadores modernos. Los encontramos no solo en forma de procesadores en los PC con los que trabajamos, escribimos y navegamos, sino que también se encuentran en lavadoras, refrigeradores y automóviles. Sin ellos, la mayoría de los dispositivos cotidianos no funcionarían en absoluto, o solo de forma limitada. Es por eso que el constante desarrollo, evolución y perfeccionamiento de microchips para aplicaciones específicas tiene un impacto directo en nuestras vidas. Los microchips que se construyen exclusivamente para una tarea específica se denominan Application-Specific Integrated Circuits (ASIC). Consisten en bloques de construcción básicos pequeños y simples que están interconectados en los espacios más pequeños y pueden realizar funciones complejas en la interacción. Su gran fortaleza radica en que son pequeños, rápidos y fiables, y necesitan poca potencia para funcionar. Una desventaja de ellos, sin embargo, es que una vez construidos, ya no se pueden cambiar: si un microchip fue soldado o grabado en una placa de circuito, siempre hace lo mismo. Para agregar nuevas funciones, o cambiar o mejorar algo, se debe reconstruir todo el chip. Esto no solo requiere mucho tiempo, sino que también es costoso.

En investigación, sería útil aprovechar las propiedades positivas de los microchips, ya que su alta velocidad les permite procesar dato de manera efectiva y realizar trámites rápidamente. Pero con estas mismas técnicas en desarrollo, no vale la pena la inversión financiera y de tiempo para construir un nuevo microchip para cada pequeño cambio que un investigador quiera probar. Por lo tanto, el desarrollo de estos métodos se lleva a cabo principalmente en ordenadores ordinarios, que son un poco más lentos y consumen mucha más energía, ya que el procesador tiene que controlar toda la interfaz de usuario y muchos procesos en segundo plano.

FPGA: una alternativa real

Una alternativa prometedora a los ASIC son los Field-Programmable Gate Arrays (FPGA). Este es un tipo especial de microchip que está construido de tal manera que sus componentes no están “grabados en piedra”, sino que pueden conectarse entre sí de formas nuevas y diferentes una y otra vez. Los investigadores pueden crear un diagrama de circuito tal como se basa un ASIC real. Pero en lugar de construir un ASIC real, simplemente pueden cargarlo en un FPGA, que luego ejecutará inmediatamente el circuito descrito. Esto hace posible mejorar continuamente los diagramas de circuitos y probarlos una y otra vez sin gran esfuerzo. Este procedimiento no solo es mucho más rápido que construir varias versiones de un ASIC, sino que también protege los recursos ambientales y la billetera al mismo tiempo.

Los FPGA también son adecuados para uso directo en lugar de ASIC: si se instala un FPGA en un automóvil, es posible cargar actualizaciones y mejoras posteriormente, por ejemplo, nuevas versiones de sistemas de asistencia al conductor, en el FPGA sin tener que reemplazar completamente el hardware. El FPGA debe su parte del nombre programable en campo a esta propiedad, es decir, programable “en el campo”, es decir, el área final de aplicación.

© Sascha Mücke, TU Dortmund

Esta es una placa Xilinx Kintex FPGA. El FPGA real es un chip cuadrado, que se instala debajo del ventilador.

FPGA para aprendizaje automático

Los FPGA ya se están utilizando en los sectores médico, de procesamiento de vídeo y audio, y automotriz. Con su rendimiento y flexibilidad, los FPGA también tienen un gran potencial para el aprendizaje automático. Pueden evaluar mediciones en tiempo real, clasificándolas con modelos como redes neuronales artificiales. Gracias a su bajo consumo de energía, a menudo inferior a 1 Watt, y su alta velocidad de procesamiento, son especialmente adecuados para su uso directamente en el lugar donde se generan los datos y donde hay poco espacio o energía disponible. También pueden acelerar significativamente los procesos que son demasiado lentos en los ordenadores normales.

Un equipo de investigación del ML2R aprovechó estas ventajas. Los investigadores desarrollaron un sistema basado en FPGA que puede resolver una clase de problemas de optimización (QUBO) rápidamente y con un bajo consumo de recursos. Los problemas de optimización forman la base del aprendizaje automático. Aquí, entre muchas soluciones posibles, se busca la que es mejor según un criterio especificado. Debido a la gran cantidad de posibles soluciones que hay que buscar, un ordenador normal, o incluso un ser humano, teóricamente necesitarían miles de años para resolver el problema. Mediante el uso de FPGA, fue posible utilizar un algoritmo especializado que puede resolver el problema de QUBO mientras consumo solo 1,5 Watt. El equipo de investigación ha desarrollado una herramienta versátil que puede acelerar una serie de procesos de aprendizaje automático.

Los microchips y los FPGA, en particular, ofrecen una plataforma interesante para el aprendizaje automático, porque son rápidos, confiables y energéticamente eficientes. La investigación de métodos que sean lo suficientemente pequeños para caber en microchips, pero rápidos y garantizados para brindar resultados correctos y buenos, es un tema importante para el ML2R. La integración de esta tecnología en nuestra vida cotidiana ayudará a garantizar que el aprendizaje automático encuentre su camino en nuestros dispositivos cotidianos, y continuará simplificando nuestras vidas en el futuro.

Más información en las publicaciones relacionadas:

Hardware Accelerated Learning at the Edge

Sascha Mücke, Nico Piatkowski, Katharina Morik, Decentralized Machine Learning at the Edge, Springer, 2019, PDF.

Learning Bit by Bit: Extracting the Essence of Machine Learning

Sascha Mücke, Nico Piatkowski, Katharina Morik, Proceedings der Konferenz “Lernen, Wissen, Daten, Analysen” (LWDA), 2019, PDF.

Fuente:

ML2R